




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 循环结构程序设计习题解答1输入n个整数,求这n个数之中的偶数平均值,并输出。#includevoid main()int n,i,x,k=0,s=0;printf(Input a number(n):);scanf(%d,&n);printf(Input %d numbers:,n);for(i=0;in;i+)scanf(%d,&x);if(x%2=0)s+=x;k+;s/=k;printf(average=%dn,s);2输入一串字符,直到输入一个星号*为止,统计(输出)其中字母个数和数字字符个数。#includevoid main()int n=0,m=0;char c;printf(Input a string character:);doscanf(%c,&c);if(c=0&c=A&c=a&c=z)m+;while(c!=*);printf(number_char=%dn,n);printf(letter_char=%dn,m);3从键盘输入一正整数n,计算该数各位数字之和并输出。例如,输入数是5246,则计算5+2+4+6=17并输出。#includevoid main()int n,r,m=0,s=0;printf(Input a number(int):);scanf(%d,&n);dor=n%10;s=s+r;n/=10;if(m=0)printf(%d,r);/加式中的第1项不带“+”elseprintf(+%d,r);m+;while(n0);printf(=%dn,s);4输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。#includevoid main()char c;printf(Input a string character(* end):);doscanf(%c,&c);if(c=A&c=a&c=z)c-=32;printf(%c,c);while(c!=*);putchar(n);注:可以使用逐位异或运算,实现大小字母变为小写字母,小写字母变为大写字母:#includevoid main()char c;printf(Input a string character(* end):);doscanf(%c,&c);if(c=A&c=a&c=z)c=0x20; /大、小写转换printf(%c,c);while(c!=*);putchar(n);5设某县2000年工业总产值为200亿元,如果该预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值超过500亿元?#includevoid main()double x=200;int i;for(i=0;x=500;i+)x*=(1+0.045);printf(%d yeares %fn,i,x);6输出1999中能被3整除,而且至少有一位数字是5的所有数字。#includevoid main()int i,a1,a2,a3,m,n=0;for(i=1;i1000;i+)a1=i%10,m=i/10;a2=m%10,m=m/10;a3=m%10,m=m/10;if(i%3=0 & (a1=5 | a2=5 | a3=5)printf(%4d ,i);n+;if(n=10)putchar(n);n=0;putchar(n);7求爱因斯坦数学题。有一条长阶,若每步跨2阶,则最后剩1价;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6价,则最后剩5阶;若每步跨7阶,最后正好一阶不剩。求该长阶有多少级台阶。为了方便编程,设长阶的级数不超过1000级。#includevoid main()int i;for(i=7;i1000;i+)if(i%2=1 & i%3=2 & i%5=4 & i%6=5 & i%7=0)printf(%dn,i);8输入一个3位数,判断是不是一个水仙花数。水仙花数是指3个数的各位数字的立方和等于这个3位数本身。例如,153=1*1*1+5*5*5+3*3*3。#includevoid main()int i,k,s=0,a,r;for(i=100;i1000;i+)a=i;for(k=0;k3;k+)r=a%10;s=s+r*r*r;a=a/10;if(s=i)printf(%dn,i);s=0;9计算斐波那契分数序列前n项之和(n是某个常数,斐波那契分数列为)。分析:从已知的各项可以得到一个递推关系: #includevoid main()int i,n;float x=2,s=0;printf(Input a number(n):);scanf(%d,&n);for(i=2;i=n;i+)x=1+1/x;s=s+x;printf(s=%fn,s);10输入一个正整数,各输出n行的正(倒)三角宝塔图案。正三角宝塔图:#includevoid main()int i,j,n;printf(Input a number n(3):);scanf(%d,&n);for(i=1;i0;j-)putchar( ); /输出空格for(j=1;j=i*2-1;j+)printf(*); /输出*putchar(n); /换行倒三角宝塔图:#includevoid main()int i,j,n;printf(Input a number n(3):);scanf(%d,&n);for(i=1;i0;j-)putchar( ); /输出空格for(j=1;j=2*n-2*i+1;j+)printf(*); /输出*putchar(n); /换行11输出九九表。#includevoid main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%d,i,j,i*j);putchar( );putchar(n);12输入一串数字,直到输入一个0为止,统计(输出)其中的正整数和负整数个数以及所有正整数的平均值和所有负数的平均值(原题有误,误为一串字符)。#includevoid main()int a,n=0,m=0,ps=0,ns=0;printf(Input number(0 end):);doscanf(%d,&a);if(a0)ps+=a;n+;else if(a0)ns+=a;m+;while(a!=0);ps/=n;ns/=m;printf(Positive integer number=%d,average=%dn,n,ps);printf(Negative integer number=%d,average=%dn,m,ns);13一个整数等于该数所有因子之和,则称该数是一个完数。例如,6和28都是完数。因为6=1+2+3,28=1+2+4+7+14。输出1000以内的所有完数。#includevoid main()int i,j,s;for(i=1;i1000;i+)s=1;for(j=2;j=i/2;j+)if(i%j=0)s+=j;if(s=i) /是完数输出各因数printf(%d=,i);for(j=2;j=i/2;j+)if(i%j=0)printf(%d+,j);printf(%dn,1);14编写程序,按下列公式计算e的值(精度为1.0e-6)。 #includevoid main()int i=1;long t=1;double e=1.0;dot*=i;e+=1.0/t;i+;while(1.0/t1.0e-6);printf(e=%1.6lfn,e);15用二分法求方程2x3-4x2+3x=0 在(-10,10)附近的根(二分法:先找到a、b,使f(a)、f(b)异号,说明在区间(a,b)内一定有零点,然后求f(a+b)/2)0,则在区间(a+b)/2,b)内有零点,按上述方法再求盲从该区间中点的函数值,通过每次把f(x)的零点所在的小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,该值即是方程的根)。分析:方程可以写为x(2x2-4x+3)=0,可以知道0是f(x)的零点,是一个根,另外两个根都是(2x2-4x+3)的零点,若x0,在程序中从0求使f(x)变号的x值。f(0)=3,且二次系数a=20,开口向上,没有其它的零点,所以题目是没有其它的解的。实验5 循环结构程序设计6程序填空。求出100以内的整数中最大的可被13整除的数是哪一个数。#includeint main()int i;for(i=100;i0;i-)if(i%13=0)break;printf(%dn,i);return 0;以下程序用“辗转相除法”来求两个正整数的最大公约数,请填空。#includemain()int m,n,r;doprintf(Please input tow positive integert:);scanf(%d %d,&m,&n);while(m=0|n=0);dor=m%n;m=n;n=r;while(r!=0);printf(The greatest command factor is:%dn,m); return 0;以下程序打印如下图案,程序运行后输入4给变量n,请填空。#include#define S void main()int i,j,n;printf(Enter n:);scanf(%d,&n);for(i=1;i=n;i+) /控制输出前年n行for(j=1;j=10;j+)putchar(S);for(j=1;j=n-i;j+)putchar(S);/每行的启始空格越来越少for(j=1;ji*2;j+)putchar(*);/每行的*越来越多putchar(n);for(i=1;i=n-1;i+) /控制输出后n-1行for(j=1;j=10;j+)putchar(S);for(j=1;j=i;j+)putchar(S); /每行的启始空格越来越多for(j=1;j(n-i)*2;j+)putchar(*);/每行的*越来越少putchar(n);注:各星号之间带空格:程序如下:#include#define S void main()int i,j,n;printf(Enter n:);scanf(%d,&n);for(i=1;i=n;i+) /控制输出前n行for(j=1;j=10;j+)putchar(S);for(j=1;j=n-i;j+)putchar(S);putchar(S);/每行的启始空格越来越少for(j=1;ji*2;j+)putchar(*);putchar( );/每行的*越来越多putchar(n);for(i=1;i=n-1;i+) /控制输出后n-1行for(j=1;j=10;j+)putchar(S);for(j=1;j=i;j+)putchar(S);putchar(S);/每行的启始空格越来越多for(j=1;j(n-i)*2;j+)putchar(*);putchar( );/每行的*越来越少putchar(n);7编程。求:#includevoid main()int i,k;long s,s1=0,s2=0;printf(Input k:);scanf(%d,&k);for(i=1;i=100;i+)s1+=k;for(i=1;i=200;i+)s2+=k*k;s=s1+s2;printf(s=%dn,s);从键盘输入一个整数,判断它是否为素数。#include#includemain()int m,i,k;short prime;printf(Input a integer:);scanf(%d,&m);prime=1;k=(int)(sqrt(m);for(i=2;i=k;i+)if(m%i=0)prime=0;break;if(prime)printf(%d is prime.n,m);elseprintf(%d is no prime.n,m); return 0;求3150之间的所有素数之和。#include#includemain()int i,k,j,s=0,n=0;short prime;for(i=3;i=150;i+=2)prime=1;k=(int)(sqrt(i);for(j=2;j=k;j+)if(i%j=0)prime=0;break;if(prime)s=s+i;printf(%d ,i);n+;if(n%10=0)putchar(n);printf(n sum of 3150_prime:%dn,s); return 0;有一个八层灯塔,每层所点灯数都等于上一层的两倍,一共有765盏灯,求塔底灯数。分析:设最高层为x盏灯,则:x+2*x+4*x+8*x+16*x+32*x+64*x+128*x=765x*(1+2+4+8+16+32+64+128)=765塔底灯数=x*27#include#includeint main()int x,y,i,n=1,s=0;for(i=1;i8;i+)n*=2;s+=n;x=765/s;y=x*pow(2,7);printf(lamp_number=%dn,y);return 0;如果要用15个小圆圈排成三角形,三角形的第一行只有一个小圆圈,第二行有两个小圆圈,以此类推。构成有n行的小圆圈的总数=1+2+3+n,即为“三角数”。注:用“*”代替小圆圈。#includeint main()int i,j,k,n;printf(Inpu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瑞达法考课件上传时间
- 瑞辉网络安全培训课件
- 开发认养农业合作协议书4篇
- 瑞丽风情教学课件
- 安全施培训心得课件
- 福州大型清洗工程方案(3篇)
- 农业碳汇开发模式创新与2025年市场潜力预测报告
- 电网工程绿色策划方案(3篇)
- 安全文明施工培训课件
- 纺织旧厂改造工程方案(3篇)
- 《新生儿脐静脉置管相关并发症防控指南》解读课件
- 肠梗阻业务学习
- 六项精进读书分享会
- 中国偏头痛诊断与治疗指南(2023版)
- 幼儿园教辅资料征订及管理办法
- 景区旅游安全风险评估报告
- 2024年保安服装项目可行性研究报告
- 江苏凤凰少年儿童出版社小学四年级上册书法练习指导教学计划与教学设计
- 2020年新人教版必修三《Unit 2 Morals and Virtues》单元教案(附导学案)
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 2023年10月自考02207电气传动与可编程控制器PLC试题及答案含解析
评论
0/150
提交评论