标签:定义 turn 商品 png nbsp 不同 个人 sep 正整数
1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
#include<stdio.h> int main() { int a,b,c,d,i; float h,g; for(i=1000;i<=9999;i++) { a=i%10; b=i/10%10; c=i/100%10; d=i/1000; g=a*1000+b*100+c*10+d; h=i/g; if(h==4) { printf("%d\n",i); } } return 0; }
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
样例: 输入123, 输出 6 June
输入12345,输出 15 ***
#include <stdio.h> int main() { int x,sum=0,i=1,num=0; printf("请输入一个数:\n"); scanf("%d",&x); if(x>10) { while(i>0) { i=x%10; sum=sum+i; x=x/10; { if(x<10) { sum=sum+x; break; } } } printf("%d\n",sum); switch(sum) { case 1: sum=1; printf("January"); break; case 2: sum=2; printf("February"); break; case 3: sum=3; printf("March"); break; case 4: sum=4; printf("April"); break; case 5: sum=5; printf("May"); break; case 6: sum=6; printf("June"); break; case 7: sum=7; printf("July"); break; case 8: sum=8; printf("August"); break; case 9: sum=9; printf("September"); break; case 10: sum=10; printf("October"); break; case 11: sum=11; printf("November"); break; case 12: sum=12; printf("December"); break; } } else if(x<-10) { while(i>0) { i=x%(-10); i=i*(-1); sum=sum+i; x=x/(-10); if(x>0) { sum=sum+x; break; } } printf("%d\n",sum); switch(sum) { case 1: sum=1; printf("January"); break; case 2: sum=2; printf("February"); break; case 3: sum=3; printf("March"); break; case 4: sum=4; printf("April"); break; case 5: sum=5; printf("May"); break; case 6: sum=6; printf("June"); break; case 7: sum=7; printf("July"); break; case 8: sum=8; printf("August"); break; case 9: sum=9; printf("September"); break; case 10: sum=10; printf("October"); break; case 11: sum=11; printf("November"); break; case 12: sum=12; printf("December"); break; } } else if(x==0) { printf("num=0"); } else { printf("intput error!!"); } 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
此题可在pta网站注册提交测试。https://pta.patest.cn/pta/test/14/exam/4/question/796
#include <stdio.h> int main() { int A,B,i,g,h,number; printf("请输入一个数:\n"); scanf("%d",&A); for(i=A;i<=(A+3);i++) { for(g=A;g<=(A+3);g++) { for(h=A;h<=(A+3);h++) { if(i!=g&&i!=h&&g!=h) { number=i*100+g*10+h; printf("%d ",number); B++; if(B%6==0) { printf("\n"); } } else { continue; } } } } return 0; }
4. 万年历、看商品猜价格、自动出题器、猜拳游戏。(完成个人选定的题目)
#include <stdio.h> int main() { int DE=1,year,year1,sum,g,h,l,month,day=0,T,run,K,f=0; printf("请输入一个年份和月份:\n"); scanf("%d%d",&year,&month); while(DE=1) { if(year<1900||month<1||month>12) { printf("input error!!请重新输入:\n"); DE=1; } else { break; } scanf("%d%d",&year,&month); } system("CLS"); run=(year-1904)/4; day=365*(year-1900-1)+run; K=month-1; printf("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日\n"); if(year%4==0&&year%100!=0||year%400==0) { switch(K) { case 0: sum=0; g=31; break; case 1: sum=31; g=29; break; case 2: sum=60; g=31; break; case 3: sum=91; g=30; break; case 4: sum=121; g=31; break; case 5: sum=152; g=30; break; case 6: sum=182; g=31; break; case 7: sum=213; g=31; break; case 8: sum=244; g=30; break; case 9: sum=274; g=31; break; case 10: sum=305; g=30; break; case 11: sum=335; g=31; break; } day=day+sum; T=day%7; if(T==0) { printf(" "); for(l=1;l<=g;l++) { printf("\t%d",l); f++; if((f+T)%7==0) { printf("\n"); } } } else { for(h=1,l=1;h<=T,l<=g;h++,l++) { printf(" \t "); printf("\t %d",l); f++; if((f+T)%7==0) { printf("\n"); } } } } else { switch(K) { case 0: sum=0; g=31; break; case 1: sum=31; g=28; break; case 2: sum=59; g=31; break; case 3: sum=90; g=30; break; case 4: sum=120; g=31; break; case 5: sum=151; g=30; break; case 6: sum=181; g=31; break; case 7: sum=212; g=31; break; case 8: sum=243; g=30; break; case 9: sum=273; g=31; break; case 10: sum=304; g=30; break; case 11: sum=334; g=31; break; } day=day+sum; T=day%7; if(T==0) { printf(" "); f++; for(l=1;l<=g;l++) { printf("%d\t",l); f++; if((f+T)%7==0) { printf("\n"); } } } else { for(h=1,l=1;h<=T,l<=g;h++,l++) { printf(" "); printf("\t%d",l); f++; if((f+T)%7==0) { printf("\n"); } } } } return 0; }
附加题
有16根火柴,可以拼出多少个形如“A+B=C”的等式,A、B、C是用火柴棍拼出的整数,且为一位数,输出该等式形式。
注意: 1. 加号与等号各自需要两根火柴棍 2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0) 3. 16根火柴棍必须全部用上
用火柴棍拼数字0-9的拼法如图所示:
#include <stdio.h> int main() { int x1,x2,x3,club1,club2,club3,sum,num; for(x1=0;x1<=9;x1++) { switch(x1) { case 0: club1=6; break; case 1: club1=2; break; case 2: club1=5; break; case 3: club1=5; break; case 4: club1=4; break; case 5: club1=5; break; case 6: club1=6; break; case 7: club1=3; break; case 8: club1=7; break; case 9: club1=6; break; } for(x2=0;x2<=9;x2++) { switch(x2) { case 0: club2=6; break; case 1: club2=2; break; case 2: club2=5; break; case 3: club2=5; break; case 4: club2=4; break; case 5: club2=5; break; case 6: club2=6; break; case 7: club2=3; break; case 8: club2=7; break; case 9: club2=6; break; } for(x3=0;x3<=9;x3++) { switch(x3) { case 0: club3=6; break; case 1: club3=2; break; case 2: club3=5; break; case 3: club3=5; break; case 4: club3=4; break; case 5: club3=5; break; case 6: club3=6; break; case 7: club3=3; break; case 8: club3=7; break; case 9: club3=6; break; } sum=club1+club2+club3; if(sum==12&&x1+x2==x3) { num++; printf("%d+%d=%d\n",x1,x2,x3); } } } } printf("%d\n",num); return 0; }
顺序结构:
1:在程序中较为常见,思路简单。
2:内容格式简单明了,但是对于重复输出类的程序就需要多次进行,远不如循环结构。
循环结构:
1:和顺序结构相比,处理多次输入的程序有神效。
2:循环结构固定,但是做题思路不定,导致一题N解。
3:循环结构自身也有一定的区别,for while do...while ,注意使用时机。个人不喜欢用do...while。
选择结构:
1:条件判断if 用于可语句判断,而switch仅能用于判断一个值。
2:switch在循环里一般是被套用,而if语句则可以套用循环。
实验总结:
1:可以利用整形除整形得数为整型的特点来进行一些数据的处理。
2:数据类型的定义要注意时机。
3:一个汉字的数学长度等于两个小写字母的数学长度。
4:\t 固定输出四个空格 system(‘CLS‘)清屏操作
1:遇到难题别怂,顶着头皮做就是了....
标签:定义 turn 商品 png nbsp 不同 个人 sep 正整数
原文地址:http://www.cnblogs.com/yanchao980817/p/6055657.html