1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
#include<stdio.h> int main() { int i,a,b,c,d,j; for(i=1000;i<=10000;i++) { a=i/1000; b=(i/100)%10; c=(i%100)/10; d=i%10; if(a!=b&&b!=c&&c!=d) { j=d*1000+a+b*10+c*100; } if(i==j*4) { printf("%d",i); } } return 0; }
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
#include<stdio.h> int main() { int i,j,sum; printf("请输入一个数"); scanf("%d",&i); if(i<=9) { printf("sorry,data error"); } else { while(i>0) { j=i; sum=sum+j%10; i=j/10; } } if(sum<=12) { switch(sum) { case 1 : printf("january\n");break; case 2 : printf("february\n");break; case 3 : printf("march\n");break; case 4 : printf("april\n");break; case 5 : printf("may\n");break; case 6 : printf("june\n");break; case 7 : printf("july\n");break; case 8 : printf("august\n");break; case 9 : printf("september\n");break; case 10 : printf("octember\n");break; case 11 : printf("november\n");break; case 12 : printf("december\n");break; } } else { printf("***"); } 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,i,j,h,num; printf("输入一个数:\n"); scanf("%d",&a); for(i=a;i<=(a+3);i++) { for(j=a;j<=(a+3);j++) { for(h=a;h<=(a+3);h++) { if(i!=j&&i!=h&&j!=h) { num=i*100+j*10+h; printf("%d ",num); b++; if(b%6==0) { printf("\n"); } } } } } return 0; }
实验总结:1先建立数学模型,根据数学模型建立相应的c语言条件,选择好相应的语句,并且尝试不同语句的使用,尽量优化程序。
时间: 2024-10-06 01:10:21