作业六
1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
#include<stdio.h> int main() { int a,b,c,d,e,f; for(a=1000;a<10000;a++) { b=a%10; c=a/10%10; d=a/100%10; e=a/1000; if(b==c||b==d||b==e||c==d||c==e||d==e) { continue; } else { f=b*1000+c*100+d*10+e; } if(4*f==a) { printf("%d",a); } } return 0; }
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
样例: 输入123, 输出 6 June
输入12345,输出 15 ***
#include<stdio.h> int main() { long a,b,c=0; printf("请输入任意一个多位的数字"); scanf("%ld",&a); while(a>0) { b=a%10; a=a/10; c+=b; } printf("%ld ",c); switch(c) { case 1:printf("January\n");break; case 2:printf("February\n");break; case 3:printf("March\n");break; case 4:printf("April\n");break; case 5:printf("May\n");break; case 6:printf("June\n");break; case 7:printf("July\n");break; case 8:printf("August\n");break; case 9:printf("September\n");break; case 10:printf("October\n");break; case 11:printf("November\n");break; case 12:printf("December\n");break; default: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> int main() { int i,m,n,a,x,z=0; printf("请输入不超过6的正整数"); scanf("%d",&a); if(a>6||a<0) { printf("输入错误"); } else { for(i=a;i<=a+3;i++) for(m=a;m<=a+3;m++) for(n=a;n<=a+3;n++) { if(i!=m&&m!=n&&n!=i) { x=i*100+m*10+n; printf("%d ",x); z++; if(z%6==0) { printf("\n"); } } } } return 0; }
4. 万年历、看商品猜价格、自动出题器、猜拳游戏。(完成个人选定的题目)
第二个
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int i=0,price,guess; char c1; printf("请输入商品的价格,范围在1~100之间"); while (c1!='\n'&&c1!='n') { srand(time(NULL)); price=rand()%100+1; for(i=1;i<=10;i++) { scanf("%d",&guess); if(price>guess) { printf("猜小了"); } else if(price<guess) { printf("猜大了"); } else { printf("%d",i); break; } } if(i==10) { printf("商品的价格为%d",price); } printf("游戏继续Yes(y)还是结束No(n)"); scanf(" %c",&c1); if(c1=='n') { break; } continue; } return 0; }
知识点总结:
(1)continue语句只能用在循环语句中
(2)continue一般是与if语句一起使用
(3)continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不在判断执行循环的条件是否成立。
(4)如果是把所有的情况一一测试,筛选出符合条件的各种结果进行输出用穷举法
知识点总结:
(1)注意变量开始赋初始值
(2)注意switch case break语句的使用
(3)注意每条语句有分号
(4)注意scanf有&而printf没有&