实验四 循环

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验循环4.1求2/1+3/2+5/3+8/5+...程序填空,不要改变与输入输出有关的语句。输入一个正整数n,输出2/1+3/2+5/3+8/5+...的前n项之和,保留2位小数。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)例:括号内是说明输入5输出8.39(前5项的和是8.39)输入20输出32.66(前20项的和是32.66)#includestdio.hvoidmain(){inti,n;floata,b,sum,t;scanf(%d,&n);sum=0.0;a=2.0;b=1.0;scanf(%d,&n);for(i=0;in;i++){sum+=a/b;t=a;a=a+b;b=t;}printf(%0.2f\n,sum);}4.2求奇数和程序填空,不要改变与输入输出有关的语句。读入一批正整数(以零或负数为结束标志),求其中的奇数和。请使用while语句实现循环。例:括号内是说明输入139070输出11#includestdio.hvoidmain(){intx,sum;sum=0;scanf(%d,&x);while(x0){if(x%2!=0){sum+=x;}scanf(%d,&x);}printf(%d\n,sum);}4.3求a+aa+aaa+aa⋯a程序填空,不要改变与输入输出有关的语句。输入2个正整数a和n,求a+aa+aaa+aa⋯a(n个a)之和。例:括号内是说明输入23(a=2,n=3)输出246(2+22+222)输入85(a=8,n=5)输出98760(8+88+888+8888+88888)#includestdio.hvoidmain(){inti,n;longinta,sn,tn;scanf(%ld%d,&a,&n);sn=0;tn=0;for(i=1;i=n;i++){tn=10*tn+a;sn=sn+tn;}printf(%ld\n,sn);}4.4求各位数字的立方和等于它本身的数(水仙花数)(嵌套?)程序填空,不要改变与输入输出有关的语句。输入2个正整数m和n(100=m,n=1000),输出m到n之间的所有满足各位数字的立方和等于它本身的数。例:括号内是说明输入:100400(m=100,n=400)输出:153(1*1*1+5*5*5+3*3*3=153)370(3*3*3+7*7*7=370)371(3*3*3+7*7*7+1*1*1=371)#includestdio.hvoidmain(){inti,digit,m,n,number,sum;scanf(%d%d,&m,&n);for(sum=m;sum=n;++sum){i=sum/100;digit=sum%10;number=sum%100/10;if(i*i*i+digit*digit*digit+number*number*number==sum)printf(%d\n,sum);elsecontinue;}return0;}4.5统计字符程序填空,不要改变与输入输出有关的语句。输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。例:括号内是说明输入Reoldbuildingroom123.输出letter=17,blank=3,digit=3,other=1输入Programmingisfun输出letter=16,blank=2,digit=0,other=0#includestdio.hvoidmain(){intblank,digit,letter,other;charc;letter=0;digit=0;blank=0;other=0;while((c=getchar())!='\n'){if(c='a'&&c='z'||c='z'&&c='a'){digit++;}elseif(c==''){blank++;}elseif(c='0'&&c='9'){letter++;}else{other++;}}printf(letter=%d,blank=%d,digit=%d,other=%d\n,letter,blank,digit,other);}4.6(选作)求整数的位数以及各位数之和程序填空,不要改变与输入输出有关的语句。输入一个整数,输出它的位数以及各位数之和。例:括号内是说明输入123456输出number=6,sum=21(123456的位数是6,各位数之和是21)输入-100输出number=3,sum=1(-100的位数是3,各位数之和是1)#includestdio.hvoidmain(){intnumber,sum;longin;scanf(%ld,&in);/*---------*/printf(number=%d,sum=%d\n,number,sum);}

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功