首页 > 代码库 > 第六次作业
第六次作业
1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
#include <stdio.h> int main() { int a,c; for(a=1000;a<=9999;a++) { c=a%10*1000+(a/10)%10*100+(a%1000)/100*10+a/1000; if(a==4*c) { printf("%d\n",a); } } return 0; }
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
样例: 输入123, 输出 6 June
输入12345,输出 15 ***
#include <stdio.h> int main() { int a,sum=0,x,y; printf("请输入一个数字\n"); scanf("%d",&a); while(a>0) { x=a/10; y=a%10; sum=sum+y; a=x; } if(sum<=12&&sum>0) { switch(sum) { case 1 : printf("January\n"); break; case 2 : printf("February"); break; case 3 : printf("March"); break; case 4 : printf("April"); break; case 5 : printf("May"); break; case 6 : printf("June"); break; case 7 : printf("July"); break; case 8 : printf("August"); break; case 9 : printf("September"); break; case 10 : printf("October"); break; case 11 : printf("November"); break; case 12 : printf("December"); 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> int main() { int a,b,c,d,e,f; printf("请输入一个不大于6的正整数\n"); scanf("%d",&a); system("CLS"); printf("输入的数字为%d\n",a); if(a>6||a<0) { printf("输入的数字有误\n"); } else { for(b=a;b<=(a+3);b++) /*百位数定义*/ { for(c=a;c<=(a+3);c++) /*十位定义*/ { for(d=a;d<=(a+3);d++) /*个位定义*/ { if(b!=c&&c!=d&&b!=d) { e=b*100+c*10+d; printf("%d ",e); f++; if(f%6==0) { printf("\n"); } } } } } } return 0; }
万年历
#include <stdio.h> int main() { int year,month,day,a,b,c,sum,m,m2,sum2,q,t,x; printf("请输入年月,中间用空格分开\n"); while(a!=1) { scanf("%d%d",&year,&month); if((month<1||month>12)||year<1900) { printf("输入的时间有误,请重新输入\n"); continue; } else { break; } } system("CLS"); /*清屏*/ day=0; /*1900年到输入年数的天数*/ for(b=1900;b<=year;b++) { if((year%4==0&&year%100!=0)||(year%400==0)) /*闰年判断方法*/ { day=day+366; } else { day=day+365; } } sum2=0; /*多余月份天数,m代表月份2*/ for(m=1;m<=month-1;m++) { if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) { sum2=sum2+31; } else if(m==4||m==6||m==9||m==11) { sum2=sum2+30; } else if((year%4==0&&year%100!=0)||(year%400==0)) /*闰年二月份天数不同*/ { sum2=sum2+29; } else { sum2=sum2+28; } } sum=day+sum2; /*所有的天数*/ q=sum%7; /*计算月份中几号是星期几*/ printf("%d年%d月\n",year,m); if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) /*大月份天数*/ { m2=31; /*m2为月份天数*/ } else if(m==4||m==6||m==9||m==11) { m2=30; } else if(((year%4==0&&year%100!=0)||(year%400==0))&&month==2) /*闰年二月份天数*/ { m2=29; } else { m2=28; } printf("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日\n"); if(q==6) { for(t=1;t<=m2;t++) { printf("%d\t",t); if((q+t+1)%7==0) { printf("\n"); } } } else { for(x=0;x<=q;x++) { printf("\t"); } for(t=1;t<=m2;t++) { printf("%d\t",t); if((q+t+1)%7==0) { printf("\n"); } } } return 0; }
知识点总结
1、必要时可以用死循环,再用break语句跳出
2、“system(“CLS”)”代表:清屏
3、程序较长时用“/*....*/”标示
4、注意中间值的使用
实验总结
1、程序不能直接写,应该有大概运行思路
2、嵌套语句的使用
3、注意用标示,防止长代码忘记代码目的。
第六次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。