第六次作业
Posted 芒果酸奶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六次作业相关的知识,希望对你有一定的参考价值。
1.题目
有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
代码:
#include <stdio.h> int main() { int a,b,c,d,e,f; for(a<1000&&a>999); while(1) b=a/1000;c=b/100%10;d=c/10%10; e=d%10; if(b!=c!=d!=e); f=e*1000+b*100+c*10+a; if(a==f*4) printf("a\\n",a); return 0; }
运行结果:
2.题目:
输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
样例: 输入123, 输出 6 June
输入12345,输出 15 ***
代码:
#include <stdio.h> Int main() { Int a,num,sum=0,b; Printf(“请输入一个多位数”); Scanf(“%d,&a”); if(a>=1&&a<=12) switch(sum) { case1:printf(“January\\n”);break; case2:printf(“February\\n”);break; case3:printf(“March\\n”);break; case4:printf(“April\\n”);break; case5:printf(“May\\n”);break; case6:printf(“June\\n”);break; case7:printf(“July\\n”);break; case8:printf(“August\\n”);break; case9:printf(“September\\n”);break; case10:printf(“October\\n”);break; case11:printf(“November\\n”);break; case12:printf(“December\\n”);break; } else {printf(“***\\n”);} return 0; }
运行结果:
3.
题目:
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式:输入在一行中给出A。
输出格式:输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
输入样例:2
输出样例:234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543
代码:
#include <stdio.h> #include <stdlib.h> int main() { int A,a,b,c,d,e=0,num=0; printf("输入一位不超过6的整数A\\n"); scanf("%d",&A); a=A+4; for(b=A;b<a;b++) for(c=A;c<a;c++) for(d=A;d<a;d++) { if(b!=c&&c!=d&&d!=b) { num=100*b+10*c+d; printf(" %d",num); e++; if(e%6==0) { printf("\\n"); } } } return 0 }
运行结果:
附加题:
有16根火柴,可以拼出多少个形如“A+B=C”的等式,A、B、C是用火柴棍拼出的整数,且为一位数,输出该等式形式。
注意: 1. 加号与等号各自需要两根火柴棍 2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0) 3. 16根火柴棍必须全部用上
用火柴棍拼数字0-9的拼法如图所示:
代码:
#include<stdio.h> int main() { int a,b,c,x,y,z; for(a=0;a<=9;a=a+1) for(b=0;b<=9;b=b+1) for(c=0;c<=9;c=c+1) { switch(a) { case 0:x=6;break; case 1:x=2;break; case 2:x=5;break; case 3:x=5;break; case 4:x=4;break; case 5:x=5;break; case 6:x=6;break; case 7:x=3;break; case 8:x=7;break; case 9:x=6;break; } switch(b) { case 0:y=6;break; case 1:y=2;break; case 2:y=5;break; case 3:y=5;break; case 4:y=4;break; case 5:y=5;break; case 6:y=6;break; case 7:y=3;break; case 8:y=7;break; case 9:y=6;break; } switch(c) { case 0:z=6;break; case 1:z=2;break; case 2:z=5;break; case 3:z=5;break; case 4:z=4;break; case 5:z=5;break; case 6:z=6;break; case 7:z=3;break; case 8:z=7;break; case 9:z=6;break; } if(a+b==c&&x+y+z==12) { printf("%d+%d=%d ",a,b,c); } } return 0; }
运行结果:
综合小项目练习:
代码:
#include<stdio.h> #include<time.h> int main() { int a,b,c,i,j,x,y,z; a=0,b=0,c=0; printf("输入一道四则运算题,如果是除法,计算商和余数"); do{ i=1;j=0; while(i<=5) srand(time(NULL)); { a=rand()%4+1; b=rand()%100+1; c=rand()%100+1; } switch(a) { case 1:printf:("%d+%d=?",b,c); result=b+c; { printf("如果此道题为加法运算,输入你的答案\\n"); scanf("%d",&answer); if(answer==result) {printf("作对了\\n"); x++; y++; } else {("遗憾,%d+%d=%d\\n",b,c,result);} break; case 2:printf("%d_%d=?",b,c); result=b_c; { printf("此题为减法运算题,输出答案\\n"); scanf("%d",&answer); if(answer==result) { printf("作对了\\n"); x++; y++; } else {printf("遗憾,%d_%d=%d\\n",b,c);result=b_c;} break; case 3:printf("%d*%d=?",b,c); result=b*c; { printf("此题为乘法运算题,输出答案\\n"); scanf("%d",&answer); if(answer==result) { printf("作对了\\n"); x++; y++; } else {printf("遗憾,%d*%d=%d\\n",b,c);result=b*c;} break; case 4:printf("%d/%d=?",b,c); result=b/c; printf("此题为减法运算题,输出答案\\n"); printf("此题为除法,算出答案\\n"); scanf("%d",&answer); if(answer==result) { printf("作对了\\n"); x++; y++; } else {printf("遗憾,%d/%d=%d余%d\\n",b,c);result=b_c; break; } i++; z++; } m=d/5.0; { printf("一共作对%d道题正确率%.2f%%\\n,d,m*100"); {printf("继续吗?YES or NO.\\n"); scanf("%c",&x); } while(x==\'Y\'||x==\'Y\'); m=(float)d\\n; { printf("一共做对%d道题,正确率%.2f%%\\n",c,m*100); } }
实验总结:
1.使用穷举法时,要仔细检查简化程序。
2.不会srand函数。
3.注意变量的准确性。
知识点总结:
1.ged最大公约数.
2.while(getchar()!=\'\\n\') charc;
while((c=getchar())!=\'\\n\')
3.getchar 个数;scanf 码值。
4.fflush(stdin); 清缓存函数。
5.2/3.0 整除。
以上是关于第六次作业的主要内容,如果未能解决你的问题,请参考以下文章