zoukankan      html  css  js  c++  java
  • 作业6

    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=1000*a+100*b+10*c+d;
    f=1000*d+100*c+10*b+a;
    if(e==4*f&&a!=b&&b!=c&&c!=d&&d!=a)
    {
    printf("%d和%d",e,f);
    }
    }
    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)
         {
          sum = sum+a%10;
          a=a/ 10;
         }
         printf("%d",sum);
         if(sum>12)
         {
             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

    #include <stdio.h>
    int main()
    {
        int a,b,c,d,x,i=0;
        printf("请输入小于六的数字");
        scanf ("%d",&x);
        if(x<0||x>6)
        {
        printf("输入错误");
        }
    
     for(a=x;a<=x+3;a++)
     for(b=x;b<=x+3;b++)
     for(c=x;c<=x+3;c++) 
     {
     if(a!=b&&b!=c&&c!=a)
     {
     d=a*100+b*10+c;
     i++;
     printf("%d  ",d);
     if(i%6==0)
     {
     
     printf("
    ",d);
     }
    }
    }
    
     return 0;
    }
      

    4. 万年历、看商品猜价格、自动出题器、猜拳游戏。(完成个人选定的题目)

    #include<stdio.h>
    int main()
    {
        int i,h,n,year,year1,month,a,sum,sum1=0,sum2=0;
        printf("请输入年份月份");
        scanf("%d%d",&year,&month);
        year1=year;
        for(year1=year1-1;year1>=1900;year1--)
        {
            if(year1%4==0&&year1%100!=0||year1%400==0)
            {
                sum1=sum1+366;
            }
            else
            {
                sum1=sum1+365;
            }
        }
        for(i=1;i<month;i++)
        {
            if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
            {
                sum2=sum2+31;
            }
            else if(i==4||i==6||i==9||i==11)
            {
                sum2=sum2+30;
            }
            else if(i==2)
            {
                if(year%4==0&&year%100!=0||year%400==0)
                {
                    sum2=sum2+29;
                }
                else
                {
                    sum2=sum2+28;
                }
            }
        }
        sum=sum1+sum2;
        printf("%d年%d月
    ",year,month);
        printf("星期日   星期一  星期二  星期三  星期四  星期五  星期六
    ");
        switch(sum%7)
        {
            case 0:printf("	");
            h=2;break;
            case 1:printf("		");
            h=3;break;
            case 2:printf("			");
            h=4;break;
            case 3:printf("				");
            h=5;break;
            case 4:printf("					");
            h=6;break;
            case 5:printf("						");
            h=7;break;
            case 6:h=1;
            break;
        }
        if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
        {
            a=31;
        }
        else if(month==4||month==6||month==9||month==11)
        {
           a=30;
        }
        else if(month==2)
        {
            if(year%4==0&&year%100!=0||year%400==0)
            {
                a=29;
            }
            else 
            {
                a=28;
            }
        }
        for(n=1;n<=a;n++,h++)
        {
            printf("  %2d    ",n);
            if(h%7==0)
            {
                printf("
    ");
            }
        }
        return 0;
    }

    实验知识点总结:

    1.循环语句for的格式。

    2.循环语句while的格式。

    3.嵌套语句的使用 ,连续使用两种循环 ,和循环和if语句的连用。

    实验总结:

    1.许多地方都要注意字母的中英文,尤其是输入完汉字之后总是会输入全角的英文,导致最后找错很麻烦。

    2.尤其要注意空格的使用 比如输出字符后面,输入字符后边 少输入空格到最后的找错也不太容易。

    3.注意等于和赋值的区别 。

    4.语句的使用要注意分号的使用 ,还有大括号的使用。还要注意执行的返回 ,是否结束。

    5.有的程序比如第四个程序就不太明白为什么有空格就不行。

    6.注意嵌套的方式以及跳出循环的位置.

    7.注意题目的限制条件

  • 相关阅读:
    AGC037F Counting of Subarrays
    AGC025F Addition and Andition
    CF506C Mr. Kitayuta vs. Bamboos
    AGC032D Rotation Sort
    ARC101F Robots and Exits
    AGC032E Modulo Pairing
    CF559E Gerald and Path
    CF685C Optimal Point
    聊聊Mysql索引和redis跳表
    什么是线程安全
  • 原文地址:https://www.cnblogs.com/wp980327/p/6050538.html
Copyright © 2011-2022 走看看