首页 > 代码库 > 第六次作业
第六次作业
1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
#include<stdio.h> int main() { int i,a,b,c,d,e,x; for(i=1000;i<=9999;i++) { a=i/1000; b=i%1000/100; c=i%100/10; d=i%10; e=a; a=d; d=e; e=b; b=c; c=e; x=a*1000+b*100+c*10+d; if(i==4*x) { printf("输入的四位数的%d",i); } } return 0; }
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
样例: 输入123, 输出 6 June
输入12345,输出 15 ***
#include<stdio.h> int main() { int a,sum=0,c; printf("请输入一个多位数字"); scanf("%d",&a); while(a>0) { c=a%10; a=a/10; sum=sum+c; } if(sum>=1&&sum<=12) { printf("%d\n",sum); } switch(sum) { case 12:printf("Dec\n");break; case 11:printf("Eve\n");break; case 10:printf("Oct\n");break; case 9:printf("Sep\n");break; case 8:printf("Aug\n");break; case 7:printf("July\n");break; case 6:printf("June\n");break; case 5:printf("May\n");break; case 4:printf("Apirl\n");break; case 3:printf("Mar\n");break; case 2:printf("Feb\n");break; case 1:printf("Jan\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,a,b,c,d,e,m,n,k=0; printf("请输入一个不超过6的正整数A\n"); scanf("%d",&d); while(d>6||d<1) { printf("error\n请重新输入\n"); scanf("%d",&d); } if(d>=1&&d<=6) { a=d+1; b=a+1; c=b+1; } for(i=d*100;i<1000;i++) { e=i/100; m=i%100/10; n=i%10; if(e!=m&&e!=n&&m!=n&&m>=d&&m<=c&&e>=d&&e<=c&&n>=d&&n<=c) { printf("%4d",i); k++; if(k%6==0) { printf("\n"); } } } return 0; }
实验总结:学会用switch case。我觉得有时候用这个比用if判断简单。第二题如果按照我开始的想法用if的话,会有很多条语句,但是改用switch case之后就显得简单了很多。然后还有第三题不会做,同学讲给我的,感觉逻辑不清楚。自己就想不到这样写,还需要思考。
第六次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。