教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

C语言实验总答案(3)

来源:网络收集 时间:2026-05-14
导读: printf(\元音字母o的个数为%d\\n\ printf(\元音字母u的个数为%d\\n\} 6、输出100~200间的全部素数。参照例子4-16 #include void main() { int n,i; for(n=100;n for(i=2;i n-1) printf(\ } printf(\} 7、求n!,其

printf(\元音字母o的个数为%d\\n\ printf(\元音字母u的个数为%d\\n\}

6、输出100~200间的全部素数。参照例子4-16 #include void main() {

int n,i;

for(n=100;n<=200;n++) {

for(i=2;i<=n-1;i++) if(n%i==0)break; if(i>n-1)

printf(\ }

printf(\}

7、求n!,其中,n为用户输入的任何整数。(n<=50,具体值由用户输入)。 #include void main() {

int i,n;

double fac=1.0; /* 计算阶乘是一个很大的数,可能超出int范围*/ printf(\请输入一个不大于50的整数N:\scanf(\for(i=1;i<=n;i++) fac=fac*i;

printf(\的阶乘为%.0f\\n\/* 输出结果无小数*/ }

8、求

?n!,即求1!+2!+…+19!+20!

n?120#include void main() {

int i;

double sum=0, jc=1; for(i=1;i<=20;i++) {

jc=jc*i; sum=sum+jc; }

printf(\}

9、编写程序,找出1~999之间的全部同构数。同构数是这样的数,它出现在它的平方数的右边,例如:5是25的右边的数,25是625右边的数,5和25都是同构数。

提示:如何验证m是n右边的数,

若m是个位数,则判断若n-m能整除10,则m是n右边的数; 若m是十位数,则判断若n-m能整除100,则m是n右边的数; 若m是百位数,则判断若n-m能整除1000,则m是n右边的数; #include main() {

int m, n; }

printf(\间的同构数包括:\for( m=1; m<1000; m++) {

n = m*m;

if (m < 10 && (n-m) == 0) printf(\

else if (m<100 && (n-m)0 == 0) printf(\ else if((n-m)00 == 0) printf(\}

printf(\

10、输出所有大于1000小于10000的4位偶数,且该偶数的各位数字两两不相同。

提示:对数n将其分别获得它的个位、十位、百位和千位,然后判断它们是否两两不相同。 #include main() {

int i, m, n, p, q;

for(i=1000; i<10000; i=i+2) {

m = i/1000;

n = i00/100; p = i0/10; q = i;

if ( m!=n && m!=p && m!=q && n!=p && n!=q && p!=q) printf(\ }

printf(\}

11、分别编程输出如图所示的结果:

(1)

#include void main() {

int i,j;

for(i=1;i<=9;i++) {

for(j=1;j<=9;j++)

printf(\ printf(\ } }

(2)

#include void main() {

int i,j;

for(i=1;i<=9;i++) {

for(j=1;j<=i;j++) printf(\ printf(\ } }

(3)

#include void main() {

int i,j;

for(i=1;i<=9;i++) {

for(j=1;j<=10-i;j++) printf(\ printf(\ }

}

实验五 数据类型和表达式——参考程序

一、程序调试方法实验

1.以下程序功能为:华氏温度F与摄氏温度C的转换,转换公式为:F=32+9/5*C,找出并改正以下源程序中错误,得出正确的运行结果。 源程序如下:

#include void main() { double f,c; scanf(\ //改为 scanf(\ f = 32+9/5*c; printf(\}

2.以下程序功能为:统计分数,分别计算及格人数和不及格人数,输入非法分数时退出。找出并改正以下源程序中错误,得出正确的运行结果。 源程序如下: #include

void main() { int count1,count2,n; //改为 int count1=0,count2=0,n; scanf(\ //改为 scanf(\ while (0<=n<=100) //改为 while (0<=n && n<=100) { if(60<=n<=100) //改为 if(60<=n && n<=100) count1=+1; //改为 count1+=1; else count2+=1;

scanf(\ //读入下一个数

} printf(\

}

三、编写程序

1、输入一串字符,统计其中字母、数字和空格的个数,当输入回车时输入结束。 #include void main() {

char c;

int sz=0,zm=0,kg=0;

printf(\请输入一串字符回车结束:\c=getchar(); while(c!='\\n') {

if(c>='a' && c<='z' || c>='A' && c<='Z') zm++;

else if(c>='0' && c<='9') sz++;

else if(c==' ') kg++; c=getchar(); }

printf(\字母的个数为%d\\n\ printf(\数字的个数为%d\\n\ printf(\空格的个数为%d\\n\}

2、求s=a+aa+aaa+aaaa+aaaa+aa?a,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。 #include void main() {

int a,n,i,sum,item;

printf(\请输入s=a+aa+aaa+aaaa+aaaa+aa?a中a的值:\scanf(\

printf(\请输入s=a+aa+aaa+aaaa+aaaa+aa?a中累加项的个数:\ scanf(\ sum=a; item=a;

for(i=2;i<=n;i++) {

item=item*10+a; sum=sum+item; }

printf(\?的前%d项之和为:%d\\n\}

3、一个数恰好等于它的因子之和,这个数就称为“完数”,例如6=1+2+3。编程找出1000以内的所有完数。参照例子4-5。 #include void main() {

int m,i,sum;

printf(\以内的完数有:\for(m=1;m<=1000;m++)

…… 此处隐藏:475字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言实验总答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412690.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)