首页 > 代码库 > 第六次作业
第六次作业
1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
#include<stdio.h> int main() { int x,i,a,b,c,d; for(x=1000;x<=9999;x++) { a=x/1000,b=x/100%10,c=x/10%10,d=x%10; i=a+b*10+c*100+d*1000; if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d&&x==i*4) printf("%d",x); } }
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
样例: 输入123, 输出 6 June
输入12345,输出 15 ***
#include<stdio.h> int main() { int x=0,y=0; char i; do { x+=y; scanf("%c",&i); y=i-48; }while(i!=‘\n‘); printf("%d\n",x); switch(x) { case 1 :printf("Jaunary");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; default:printf("***"); } }
3.给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式:输入在一行中给出A。
输出格式:输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
#include<stdio.h> int main() { int x,y,z,i,a,b,c,m,n=0; scanf("%d",&x); if(x>6||x<=0) { printf("输入错误"); } else { a=x+1,b=x+2,c=x+3; for(i=x;i<=c;i++) { for(y=x;y<=c;y++) { for(z=x;z<=c;z++) { m=i*100+y*10+z; if(i!=y&&i!=z&&y!=z) { printf("%d ",m); n++; if(n%6==0) printf("\n"); } } } } } }
4,四合一
#include<stdio.h> #include<time.h> #include<stdlib.h> int main() { int year,year1,month,sum,sum1,sum2,a,b,c,d,n,e,i,f,h,answer,result,answer1,result1,zong; float m; char Y,x,q,o,j,l; while(1) { printf("\n\n\n\t \t\t***************\n\t\t\t*1,万年历 *\n\t \t\t*2,猜价格 *\n\t \t\t*3,自动出题器 *\n\t \t\t*4,猜拳 *\n\t\t \t***************\n"); printf("请输入选择的题号:"); scanf(" %c",&o); if(o==‘1‘) { system("cls"); printf("万年历\n"); printf("请输入年份个月份,用空格分开。\n"); scanf("%d%d",&year,&month); while(year<1900||month<1||month>12) { printf("数据错误,请重新输入。\n"); scanf("%d%d",&year,&month); } sum1=0; sum2=0; year1=year; for(year1=year1-1;year1>=1900;year1--) { if(year1%4==0&&year1%100!=0||year1%400==0) { sum1=sum1+366; } else { sum1=sum1+365; } } for(i=1;i<month;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) { sum2=sum2+31; } else if(i==4||i==6||i==9||i==11) { sum2=sum2+30; } else if(i==2) { if(year%4==0&&year%100!=0||year%400==0) { sum2=sum2+29; } else { sum2=sum2+28; } } } sum=sum1+sum2; system("cls"); printf("%d年%d月\n",year,month); printf("星期日 星期一 星期二 星期三 星期四 星期五 星期六\n"); switch(sum%7) { case 0:printf("\t");h=2;break; case 1:printf("\t\t");h=3;break; case 2:printf("\t\t\t");h=4;break; case 3:printf("\t\t\t\t");h=5;break; case 4:printf("\t\t\t\t\t");h=6;break; case 5:printf("\t\t\t\t\t\t");h=7;break; case 6:h=1;break; } if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { zong=31; } else if(month==4||month==6||month==9||month==11) { zong=30; } else if(month==2) { if(year%4==0&&year%100!=0||year%400==0) { zong=29; } else { zong=28; } } for(n=1;n<=zong;n++,h++) { printf(" %2d ",n); if(h%7==0) { printf("\n"); } } printf("\n"); } else if(o==‘2‘) { system("cls"); printf("猜价格\n"); a=10; while(1) { srand(time(NULL)); result=rand()%100+1; printf("请输入你猜的价格,范围是1~100,你有10次机会。\n"); for(i=1,a=9;i<=10;i++,a--) { scanf("%d",&answer); while(answer<=0||answer>100) { printf("输入错误。\n"); scanf("%d",&answer); } if(answer==result) { printf("恭喜你猜对了!\n"); break; } else if(answer>result) { printf("很遗憾,你猜高了。\n",a); } else if(answer<result) { printf("很遗憾,你猜低了。\n",a); } } if(answer!=result) { printf("很遗憾,正确价格为%d。\n",result); } printf("继续下一轮游戏吗?Y()y)orN(n)。\n"); fflush(stdout); scanf(" %c",&l); if(l==‘y‘||l==‘Y‘) { continue; } else printf("谢谢参与。\n"); break; } } else if(o==‘3‘) { system("cls"); printf("自动出题器\n"); c=0,d=0,n=0; printf("本程序将随机出五道四则运算题,范围为1~100,如果是除法运算则求出商和余数。\n"); while(1) { i=1; d=0; while(i<=5) { srand(time(NULL)); f=rand()%4+1; a=rand()%100+1; b=rand()%100+1; switch(f) { case 1:printf("%d+%d=?",a,b); result=a+b; printf("本题为加法运算,请输入你的答案。\n"); scanf("%d",&answer); if(answer==result) { printf("你很棒,作对了!\n"); c++; d++; } else { printf("很遗憾,%d+%d=%d。\n",a,b,result); } break; case 2:printf("%d-%d=?",a,b); result=a-b; printf("本题为减法运算,请输入你的答案。\n"); scanf("%d",&answer); if(answer==result) { printf("你很棒,作对了!\n"); c++; d++; } else { printf("很遗憾,%d-%d=%d。\n",a,b,result); } break; case 3:printf("%d*%d=?",a,b); result=a*b; printf("本题为乘法运算,请输入你的答案。\n"); scanf("%d",&answer); if(answer==result) { printf("你很棒,作对了!\n"); c++; d++; } else { printf("很遗憾,%d*%d=%d。\n",a,b,result); } break; case 4:printf("%d/%d=?",a,b); result=a/b; result1=a%b; printf("本题为除法运算,请分别出入商和余数,用空格分隔开。\n"); scanf("%d%d",&answer,&answer1); if(answer==result&&answer1==result1) { printf("你很棒,作对了!\n"); c++; d++; } else { printf("很遗憾,%d/%d=%d余%d。\n",a,b,result,result1); } break; } i++; n++; } m=c/5.0; printf("本次你一共做对了%d道题,正确率为%.2f%%。\n",d,m*100); printf("继续吗?Y(y)orN(n)。\n"); fflush(stdout); scanf(" %c",&l); if(l==‘y‘||l==‘Y‘) { continue; } else break; } m=(float)c/n; printf("你一共做对了%d道题,正确率为%.2f%%。\n",c,m*100); } else if(o==‘4‘) { system("cls"); printf("猜拳游戏\n"); n=1,d=0,e=0,f=0; do { printf("第%d轮对决。\n",n); printf("该你出拳了,请选择:1.石头 2.剪刀 3.布\n"); scanf("%d",&a); while(a<1||a>3) { printf("输入错误,请重新输入。\n"); scanf("%d",&a); } switch(a) { case 1:printf("你出石头,"); break; case 2:printf("你出剪子,"); break; case 3:printf("你出布,"); break; } srand(time(NULL)); b=rand()%3+1; switch(b) { case 1:printf("电脑出石头。\n"); break; case 2:printf("电脑出剪子。\n"); break; case 3:printf("电脑出布。\n"); break; } if(a==b) { printf("平局!\n"); d++; } else if(a==1&&b==2||a==2&&b==3||a==3&&b==1) { printf("你赢了!\n"); e++; } else { printf("你输了。\n"); f++; } n++; printf("继续下一轮游戏吗?Y(y)orN(n)。\n"); scanf(" %c",&q); }while(q==‘Y‘||q==‘y‘); printf("对决战况:\n"); printf("对决次数:%d 平局:%d 你得分:%d 电脑得分:%d \n",n-1,d,e,f); if(e==f) { printf("最终结果:平局\n"); } else if(e>f) { printf("最终结果:你赢!\n"); } else { printf("最终结果:电脑赢!\n"); } } else { printf("输入错误\n"); } printf("是否继续?(Y/N)"); scanf(" %c",&j); if(j==‘y‘||j==‘Y‘) { system("cls"); continue; } system("cls"); break; } }
现在才想起来来不及写总结了......
第六次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。