作业六

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。

原文地址:https://www.cnblogs.com/1998li/p/6048310.html