首页 > 代码库 > 作业六

作业六

一、实验内容

1.实验要求

有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。

代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,nr,a,b,c,d;
 5     for(n=1000;n<=9999;n++)
 6     {
 7         a=n/1000;
 8         b=n%1000/100;
 9         c=n%100/10;
10         d=n%10;
11         nr=a+b*10+c*100+d*1000;
12         if(n==nr*4&&a!=b&&b!=c&&c!=d&&d!=a)
13         {
14             printf("%d",n);
15         }
16     }
17 }

运行结果

技术分享

 

2.实验要求

输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。

  样例: 输入123,    输出 6     June

            输入12345,输出 15   ***

代码

 

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,a,nr=0;
 5     printf("Input your numbers:\n");
 6     scanf("%d",&n);
 7     while(n>=0)
 8     {
 9         do
10         {
11             nr+=n%10;
12             n=n/10;
13         }while(n!=0);
14         switch(nr)
15         {
16             case 1:printf("%d    January",nr);break;
17             case 2:printf("%d    February",nr);break;
18             case 3:printf("%d    March",nr);break;
19             case 4:printf("%d    April",nr);break;
20             case 5:printf("%d    May",nr);break;
21             case 6:printf("%d    June",nr);break;
22             case 7:printf("%d    July",nr);break;
23             case 8:printf("%d    August",nr);break;
24             case 9:printf("%d    September",nr);break;
25             case 10:printf("%d    October",nr);break;
26             case 11:printf("%d    November",nr);break;
27             case 12:printf("%d    December",nr);break;
28             default:printf("%d    ***",nr);break;
29         }
30         return 0;
31     }
32     
33 }

运行结果

技术分享

 

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

代码

 

运行结果

4.看商品猜价格

代码

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 int main()
 5 {
 6     int answer,result,i,a;
 7     char w;
 8     do
 9     {
10         srand(time(NULL));
11         result=rand()%100+1;
12         printf("请输入你猜的价格,范围是1~100,你有10次机会。\n");
13         for(i=1,a=9;i<=10;i++,a--)
14         {
15             scanf("%d",&answer);
16             while(answer<=0||answer>100)
17             {
18                 printf("输入错误,请重新输入你猜的价格,注意范围是1~100。\n");
19                 scanf("%d",&answer);
20             }
21             if(answer==result)
22             {
23                 printf("恭喜你猜对了,商品归你了!!!。\n");
24                 goto jieshu;
25             }
26             else if(answer>result)
27             {
28                 printf("很遗憾,你猜高了,请重新输入你猜的价格,你还有%d次机会。\n",a);    
29             }
30             else if(answer<result)
31             {
32                 printf("很遗憾,你猜低了,请重新输入你猜的价格,你还有%d次机会。\n",a);    
33             } 
34          }
35          printf("很遗憾,你输了,正确价格为%d。\n",result);
36          jieshu: printf("继续下一轮游戏吗?Y(y)orN(n)。\n");
37                  fflush(stdin);
38          scanf(" %c",&w);
39     }while(w==y||w==Y);    
40     printf("谢谢参与。\n");
41 }

运行结果

技术分享

 

作业六