1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数
#include<stdio.h>
int main()
{
int a,b,c,d,e,f;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=1;d<=9;d++)
{
e=a*1000+b*100+c*10+d;
f=d*1000+c*100+b*10+a;
if(e==4*f&&a!=b&&b!=c&&c!=d&&a!=c&&a!=d&&b!=d)
{
printf("%d",e);
}
}
return 0;
}
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
样例: 输入123, 输出 6 June
输入12345,输出 15 ***
#include<stdio.h>
int main()
{
int a,sum=0;
printf("请输入一个多位的数字");
scanf("%d",&a);
while(a>0)
{
sum=sum+a%10;
a=a/10;
}
printf("%d",sum);
switch(sum)
{
case 1:printf("January");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("***
");
}
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> #include<stdlib.h> int main() { int a,b,c,d,e,f=0; printf("输入一个不超过6的正整数 "); scanf("%d",&a); if(a<1||a>6) { printf("error"); } else { for(b=a;b<a+4;b++) for(c=a;c<a+4;c++) for(d=a;d<a+4;d++) { if(b==c||c==d||d==c) { continue; } else { e=b*100+c*10+d; printf("%d",e); f++; if(f%6!=0) { printf(" "); } else { printf(" "); } } } } return 0; }
4. 万年历、看商品猜价格、自动出题器、猜拳游戏。(完成个人选定的题目)
看商品猜价格
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a,b,i; char c; do { printf("请在1-100内输入价格 "); scanf("%d",&a); srand(time(NULL)); b=rand()%100+1; for(i=1;i<=10;i++) { if(b>a) { printf("猜小了 "); scanf("%d",&a); continue; } else if(b<a) { printf("猜大了 "); scanf("%d",&a); continue; } else { printf("你猜对了"); printf("一共猜了%d次 ",i); break; } } printf("正确答案是%d",b); printf("继续么?y or n "); scanf("%d",&c); }while(c=='y'); return 0; }
二、知识点总结
1、continue只能跳出本次循环。
2、用char c时,输出要用"%c"。
3、使用穷举法时,用到了多个循环。
三、实验总结
1、for语句中表达式要用;号分开。
2、do........while循环中while后要加;,while循环中while后不用加。
3、字母和数字别忘了用''括起来。
4、switch语句中要加break。