• 作业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.注意题目的限制条件

  • 相关阅读:
    查找数据库表中重复的 Image 类型值
    C#中的引用传递和值传递。
    用JS解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
    根据业务自己设计的.NET工厂模式架构
    封装EF code first用存储过程的分页方法
    2013款MacBook Air装Windows7单系统
    js判断是否在微信浏览器中打开
    EF Code First连接现有数据库
    JS中for循序中延迟加载实现动态效果
    DIV+CSS左右两列自适应高度的方法
  • 原文地址:https://www.cnblogs.com/wp980327/p/6050538.html
Copyright © 2020-2023  润新知