第六次作业
一、实验内容
1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> int main() { int a,b,c,d,num,sum; printf( "输入一个四位整数\n" ); for (num=1000;num<=9999;num++) { a=num/1000; b=num/100%10; c=num/10%10; d=num%10; sum=1000*d+100*c+10*b+a; if (num==4*sum&&a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d) { printf( " %4d" ,num);<br><br> } <br> } return 0; <br>} |
1 2 3 4 5 | 2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。 样例: 输入123, 输出 6 June 输入12345,输出 15 *** |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | #include <stdio.h> int main() { int a,b,sum=0; printf( "输入一个多位数\n" ); scanf( "%d" ,&a); while (a>0) { b=a%10; a=a/10; sum=sum+b; } if (sum==1) { printf( "january\n" ); } else if (sum==2) { printf( "february\n" ); } else if (sum==3) { printf( "march\n" ); } else if (sum==4) { printf( "april\n" ); } else if (sum==5) { printf( "may\n" ); } else if (sum==6) { printf( "june\n" ); } else if (sum==7) { printf( "july\n" ); } else if (sum==8) { printf( "august\n" ); } else if (sum==9) { printf( "september\n" ); } else if (sum==10) { printf( "octomber\n" ); } else if (sum==11) { printf( "november\n" ); } else if (sum==12) { printf( "december\n" ); } else { printf( "***" ); } return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <stdio.h> #include <stdlib.h> int main() { int A,i,x,y,z,n=0,num; printf( "输入一个不超过6的整数\n" ); scanf( "%d" ,&A); i=A+4; for (x=A;x<i;x++) for (y=A;y<i;y++) for (z=A;z<i;z++) { if (x!=y&&x!=z&&y!=z) { num=100*x+10*y+z; printf( " %d" ,num); n++; if (n%6==0) { printf( "\n" ); } } } return 0; } |
1 | 4.万年历 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | #include<stdio.h> int main() { int year,month,day,i,a,days=0,date; scanf( "%d%d" ,&year,&month); a=1900,i=0; while (a<year) { if ((a%4==0&&a%100!=0)||(a%400==0)) i+=1; a++; } if ((year%4==0&&year%100!=0)||(year%400==0)) { switch (month) { case 1:day=31; break ; case 2:days=31;day=29; break ; case 3:days=31+29;day=31; break ; case 4:days=31+29+31;day=30; break ; case 5:days=31+29+31+30;day=31; break ; case 6:days=31+29+31+30+31;day=30; break ; case 7:days=31+29+31+30+31+30;day=31; break ; case 8:days=31+29+31+30+31+30+31;day=31; break ; case 9:days=31+29+31+30+31+30+31+31;day=30; break ; case 10:days=31+29+31+30+31+30+31+31+30;day=31; break ; case 11:days=31+29+31+30+31+30+31+31+30+31;day=30; break ; case 12:days=31+29+31+30+31+30+31+31+30+31+30;day=31; break ; } } else { switch (month) { case 1:day=31; break ; case 2:days=31;day=28; break ; case 3:days=31+28;day=31; break ; case 4:days=31+28+31;day=30; break ; case 5:days=31+28+31+30;day=31; break ; case 6:days=31+28+31+30+31;day=30; break ; case 7:days=31+28+31+30+31+30;day=31; break ; case 8:days=31+28+31+30+31+30+31;day=31; break ; case 9:days=31+28+31+30+31+30+31+31;day=30; break ; case 10:days=31+28+31+30+31+30+31+31+30;day=31; break ; case 11:days=31+28+31+30+31+30+31+31+30+31;day=30; break ; case 12:days=31+28+31+30+31+30+31+31+30+31+30;day=31; break ; } } days=(year-1900-i)*365+i*366+days; date=(days+1)%7; printf( "%d\n" ,date); printf( "星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n" ); for (i=0;i<date;i++) { printf( "\t" ); } for (i=1;i<=day;i++) { printf( "%d\t" ,i); if ((i+date)%7==0) { printf( "\n" ); } } return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 二.实验总结: 1.顺序结构 (1)标识符由字母,数字,下划线组成 (2)“=”与“==”的区别 (3)变量先声明后使用 2.选择结构 (1) if else 语句 (2)数学函数#include <math.h> 包括:绝对值函数和平方根函数分别用 double fabs和 double sqrt (3)在 if 和 else 后面总要用到{} 3.循环结构 (1) for 语句 while 语句 do ~ while 语句 (2)一行语句中一个变量只出现增,减运算符 (3)无限循环中,通过在循环体中加 break 语句对循环控制 |
1 2 | 三.作业总结 对于第二题应该想好是对谁取余,谁除10,还有先后问题<br>万年历的题日期能计算出来但是表格输不出来 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 回顾我的软件开发经历(1)
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· .NET 9 new features-C#13新的锁类型和语义
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会