程序填空.docx
- 文档编号:6705348
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:16
- 大小:17.97KB
程序填空.docx
《程序填空.docx》由会员分享,可在线阅读,更多相关《程序填空.docx(16页珍藏版)》请在冰豆网上搜索。
程序填空
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0 输入一个正整数n,计算1-2/3+3/5-4/7+5/9-6/11+……的前n项之和,输出时保留3位小数。 输入输出示例: 括号内是说明 输入 3(repeat=3) 1(n=1) 3(n=3) 5(n=5) 输出 sum=1.000 sum=0.933 sum=0.917 #include intmain(void) { intflag,i,n; intrepeat,ri; doubleitem,sum; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); sum=0; for(i=1;i<=n;i++) { if(i%2==0) item=-(i*1./(i*2.-1)); else item=i*1./(i*2.-1); sum=sum+item; } /*---------*/ printf("sum=%.3f\n",sum); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入1个正整数n,计算下式的前n+1项之和(保留4位小数)。 要求使用嵌套循环。 e=1+1/1! +1/2! +....+1/n! 输入输出示例: 括号内为说明 输入: 2(repeat=2) 2(n=2) 10(n=10) 输出: e=2.5000 e=2.7183 #include"stdio.h" intmain(void) { inti,j,n; intrepeat,ri; doublee,product; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); e=1; for(i=1;i<=n;i++) { j=1; product=1; while(j<=i) { product=product*j; j=j+1; } e=e+1/product; } /*---------*/ printf("e=%0.4f\n",e); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 将一笔零钱(大于8分,小于1元,精确到分)换成5分、2分和1分的硬币。 输入金额,问有几种换法? 针对每一种换法,每种硬币至少有一枚,请输出各种面额硬币的数量和硬币的总数量。 要求: 硬币面值按5分、2分、1分顺序,各类硬币数量依次从大到小的顺序,输出各种换法。 输出使用语句: printf("fen5: %d,fen2: %d,fen1: %d,total: %d\n",fen5,fen2,fen1,fen5+fen2+fen1); 输入输出示例: 括号内为说明 输入: 2(repeat=2) 10(money=10分) 13(money=13分) 输出: fen5: 1,fen2: 2,fen1: 1,total: 4 fen5: 1,fen2: 1,fen1: 3,total: 5 count=2(10分有2种换法) fen5: 2,fen2: 1,fen1: 1,total: 4 fen5: 1,fen2: 3,fen1: 2,total: 6 fen5: 1,fen2: 2,fen1: 4,total: 7 fen5: 1,fen2: 1,fen1: 6,total: 8 count=4(13分有4种换法) #include"stdio.h" intmain(void) { intcount,fen1,fen2,fen5,money; intrepeat,ri; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++) { scanf("%d",&money); count=0; for(fen5=money/5.;fen5>=1.;fen5--) { for(fen2=money/2.;fen2>=1.;fen2--) { for(fen1=money/1.;fen1>=1;fen1--) { if(fen5*5+fen2*2+fen1==money) { printf("fen5: %d,fen2: %d,fen1: %d,total: %d\n",fen5,fen2,fen1,fen5+fen2+fen1); count=count+1;} } } } /*---------*/ printf("count=%d\n",count); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入两个正整数m和n(1<=m,n<=1000),输出m与n之间(含m,n)的所有满足各位数字的立方和等于它本身的数。 例如153的各位数字的立方和是1^3+5^3+3^3=153,这里a^b表示a的b次方。 输出使用语句: printf("%d\n",i); 输入输出示例: 括号内为说明 输入: 2(repeat=2) 100400(m=100,n=400) 1100(m=1,n=100) 输出: result: 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) result: 1(1*1*1=1) #include"stdio.h" intmain(void) { inti,digit,m,n,number,sum; intrepeat,ri; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d",&m,&n); printf("result: \n"); for(i=m;i<=n;i++) {sum=0; number=i; if(i/10==0)sum=sum+number*number*number; else { sum=sum+(number%10)*(number%10)*(number%10); number=number/10; if(number/10==0)sum=sum+number*number*number; else {sum=sum+(number%10)*(number%10)*(number%10); number=number/10; sum=sum+number*number*number;} } if(sum==i) printf("%d\n",i); } /*---------*/ } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入两个正整数m和n(1<=m,n<=1000),输出m到n之间的所有完数,并输出其因子。 一个数如恰好等于它的因子之和,这个数称为完数,例如,6=1+2+3,其中1、2、3为因子,6为因子和。 输出使用以下语句: printf("%d=1",number); printf("+%d",factor); printf("\n"); 输入输出示例: 括号内为说明 输入: 2(repeat=2) 130(m=1,n=30) 400500(m=400,n=500) 输出 result: 1=1 6=1+2+3 28=1+2+4+7+14 result: 496=1+2+4+8+16+31+62+124+248 #include intmain(void) { intfactor,m,n,number,sum; intrepeat,ri; //scanf("%d",&repeat); //for(ri=1;ri<=repeat;ri++){ //scanf("%d%d",&m,&n); //printf("result: \n"); m=6;n=6; for(number=m;number<=n;number++) { sum=0; for(factor=1;factor<=number/2;factor++) { if(sum/factor==0) sum=sum+factor; } if(sum==number) printf("%d=1",number); for(factor=1;factor<=number/2;factor++) { if(sum/factor==0) printf("+%d",factor); } printf("\n"); //} /*---------*/ } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入一个整数,从高位开始逐位输出它的各位数字。 输出语句: printf("%-2d",digit); 例: 括号内是说明 输入 3(repeat=3) 23456 -600 8 输出 23456 600 8 #include intmain(void) { intdigit,in,power,temp; intrepeat,ri; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++) { scanf("%d",&in); if(in==0) {digit=in; printf("%-2d",digit); } else{ if(in<0)in=-in; temp=in; power=10; while(temp/power! =0) {power=power*10;} power=power/10; do { digit=temp/power; printf("%-2d",digit); temp=temp-digit*power; power=power/10; if(power==0)break; } while(digit! =0); } /*---------*/ printf("\n"); } } #include intmain(void) { intdigit,in,power,temp; intrepeat,ri; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&in); if(in<0)in=-in; temp=in; power=10; while(temp/power! =0) {power=power*10;} power=power/10; do { digit=temp/power; printf("%-2d",digit); temp=temp-digit*power; power=power/10; if(power==0)break; } while(digit! =0); /*---------*/ printf("\n"); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 从键盘输入一批学生的成绩(以负数为结束标志),计算平均分(保留2位小数),并统计不及格成绩的个数。 输入输出示例: 括号内为说明 输入 2(repeat=2) 6788735482–3 87437056100-1 输出 Gradeaverageis72.80,thenumberoffailis1 Gradeaverageis25.38,thenumberoffailis6 #include intmain(void) { intfail,num; intrepeat,ri; doublegrade,total; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%lf",&grade); total=num=fail=0; while(grade>=0) { total=total+grade; num=num+1; if(grade<60)fail++; scanf("%lf",&grade); } /*---------*/ if(num>0) printf("Gradeaverageis%.2f,thenumberoffailis%d\n",total/num,fail); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数n,再输入n个正整数,判断它们是否为素数。 素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 输出使用以下语句: printf("%disaprime\n",m); printf("%dis'ntaprime\n",m); 输入输出示例: 括号内为说明 输入 4(n=4) 12917 输出 1is'ntaprime 2isaprime 9is'ntaprime 17isaprime #include #include intmain(void) { intflag,i,j,k,m,n; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&m); if(m==1||m==2)printf("%dis'ntaprime\n",m); else{ for(j=2;j { if(m%j==0) { printf("%dis'ntaprime\n",m); break; } } if(j==m) printf("%disaprime\n",m); } } /*---------*/ } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat(0 输入一个整数in,将其逆序输出。 假设正数和负数逆序输出的结果一样。 输出使用语句printf("%d",digit); 输入输出示例: 括号内为说明 输入 2(repeat=2) 200(in=200) -12345(in=-12345) 输出 002 54321 #include intmain(void) { intdigit,x; intrepeat,ri; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&x); if(x<0)x=-x; while(x>=1) { digit=x%10; printf("%d",digit); x=x/10; } /*---------*/ printf("\n"); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数n(1 输出使用语句: printf("%d",x); 输入输出示例: 输入 10 输出 11235813213455 #include intmain(void) { inti,n,x1,x2,x; scanf("%d",&n); x1=1; x2=1; printf("%d%d",x1,x2); i=2; while(i { x=x1+x2; x1=x2; x2=x; printf("%d",x); i++; } /*---------*/ }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 填空