zoukankan      html  css  js  c++  java
  • 第六次作业

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

    # include <stdio.h>
    int main ()
    {
      int a,b,c,d,e,i;
      for (i=1000;i<=9999;i++)
      {
          a=i%10;
          b=(i/10)%10;
          c=(i/100)%10;
          d=i/1000;
          e=a*1000+b*100+c*10+d;
          if ((a!=b)&&(b!=c)&&(c!=d))
          {
            if(i==4*e)
            {
               printf ("%d",i);
            }
          }
      }
      return 0;
    }

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

      样例: 输入123,    输出 6     June

                输入12345,输出 15   ***

    # include <stdio.h>
    int main ()
    {
       int a,b,c,sum=0;
       printf("输入任意一个多位的数字");
       scanf ("%d",&a);
       while(a!=0)
       {
         sum=sum+a%10;
         a=a/10;
       }
       printf ("%d",sum);
       if(sum>12||sum<1)
       {
          printf(" ***");
       }
       else
       {
         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;
            
         }
       }
       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,a,b,c,d,e,count=0;
      printf ("请输入不超过6的正整数A");
      scanf ("%d",&A);
      if (A<=0||A>6)
      {
        printf ("error");
      }
      else
      {
        a=A+4;
        for(b=A;b<a;b++)
        for(c=A;c<a;c++)
        for(d=A;d<a;d++)
        {
          if((b!=c)&&(c!=d)&&(b!=d))
          {
             e=b*100+c*10+d;
             printf(" %d",e);
             count++;
             if(count%6==0)
             {
               printf ("
    ");
             }
          }
        }
      
      }
      return 0;
    }

    4.完成看商品猜价格小游戏。 要求:1.对输入数据进行合法性验证,每次猜数结果如果不对,则提示猜大了还是猜小了,每件商品最多猜10次,如果猜对了,输出猜了几次,如果10次都没猜对,则输出商品的价格。 一轮游戏结束后,让用户选择是继续下一轮游戏还是退出。

    # include <stdio.h>
    #include <time.h>
    # include <stdlib.h>
    int main ()
    {
       int magic,guess,i,count=0;
       char reply;
       srand (time(NULL));
       magic=rand()%100+1;
       do
       {
           printf ("请猜一个价格,只有十次机会哟!");
           scanf ("%d",&guess);
           count++;
           for(i=1;i<=10;i++)
           {
               if (guess>magic)
               {
                  printf ("太大了,请重新输入!");          
               }
               else  if (guess<magic)
               {
                   printf("太小了,请重新输入!");
               }
               else if (guess==magic)
               {
                   printf("恭喜你,答对了!");
                   break;
               }
               scanf ("%d",&guess);
               
              if (i==10)
              {
                printf("十次都没猜对,正确结果是%d",magic);
              }
           }
              printf ("继续下一轮游戏吗?Y(y)orN(n)");
               scanf (" %c",&reply);
           }
            while(reply=='Y'||reply=='y');
          
           printf ("一共猜了%d 轮",count);
          return 0;
    }

     二.知识点总结:

    1.求个位数十位数百位数等;

    2.不知循环次数可用while语句,switch....case 语句的使用,记得加break

    3.第三题这个类型的题用穷举法

    4第四题这种类型的题用do ...while 语句循环很方便;

    三.实验总结

    1.要考虑好每道题的完整性,不能有漏洞。例如让输入一定范围内的数字,如果输入的数字超出范围,要写输入错误等。

    2.要熟悉运用循环语句;

    3.a=b=c要写成a==b&&b==c&&c==a,别落了c==a

    4.尽可能要简化自己的程序

    5.switch....case 语句的使用,记得加break

  • 相关阅读:
    每次运行caffe代码之前需要考虑修改的地方
    caffe solver 配置详解
    python获取当前文件路径以及父文件路径
    Python 文件夹及文件操作
    安装NVIDIA驱动时禁用自带nouveau驱动
    博客园转载其他博客园的文章:图片和源码
    分布式开放消息系统(RocketMQ)的原理与实践
    RocketMQ基本概念及原理介绍
    rocketmq 4.3.2 解决远程不能消费问题,解决未识别到公网IP问题
    osx免驱网卡推荐
  • 原文地址:https://www.cnblogs.com/wei-1249700655/p/6045126.html
Copyright © 2011-2022 走看看