• 第三次作业


    1. 字符判断

         输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。

    # include <stdio.h>
    int main()
    {
      char x;
      printf("请输入一个大写或小写字母或空格或0-9的整数:\n");
      scanf("%c",&x);
      if(x>='A'&&x<='Z')
      {
          x=x+32;
          printf("%c\n",x);
      }
      else if(x>='a'&&x<='z')
      {
          x=x-32;
          printf("%c\n",x);
      }
      else if(x==32)
      {
          printf("space\n");
      }
      else if(x>=48&&x<=57)
      {
          x=x-48;
        printf("%d",x);
      } 
      else 
      {
          printf("other\n");
      }  
     return 0;  
    }

    本次课知识点总结:

    1.熟练运用字符型与整型之间的转换。

    2.记住一些主要字符型数据所对应的数字。

    实验总结:

    1.字符型数据的表示方法,用单引号引起来。

    2.输出时看清要求,是输出字符型还是整型。

    2. 年龄问题

         输入一个学生的生日(年:月:日),并输入当前日期(年:月:日),计算该生的实际年龄(周岁)。

    # include <stdio.h>
    # include <stdlib.h>
    int main()
    {
        int year1,month1,day1,year2,month2,day2,a,b,c;
        printf("请输入你的生日,格式年:月:日:\n");
        scanf("%d:%d:%d",&year1,&month1,&day1);
        if(month1>12||month1<1||month2>12||month2<1)
        {
            printf("输入数据错误!!!\n");
            exit(0);
        }
        else if(month1==1||month1==3||month1==5||month1==7||month1==8||month1==10||month1==12)
        {
            if(day1>31||day1<1)
            {
                printf("输入数据错误!!!\n");
                exit(0);
            }        
        }
        else if(month1==4||month1==6||month1==9||month1==11)
        {
            if(day1>30||day1<1)
            {
                printf("输入数据错误!!!\n");
                exit(0);
            }
        }
        else if(month1==2)
        {
            if((year1/4==0&&year1/100!=0)||year1/400==0)
            {
                if(day1>29||day1<1)
                {
                    printf("输入数据错误!!!\n");
                    exit(0);
                }
            }
            else
            {
                if(day1>28||day1<1)
                {
                    printf("输入数据错误");
                    exit(0);
                } 
            }
        }
        printf("请输入今天的日期,格式年:月:日\n");
        scanf("%d:%d:%d",&year2,&month2,&day2);
        if(month2==1||month2==3||month2==5||month2==7||month2==8||month2==10||month2==12)
        {
            if(day2>31||day2<1)
            {
                printf("输入数据错误!!!\n");
                exit(0);
            }        
        }
        else if(month2==4||month2==6||month2==9||month2==11)
        {
            if(day2>30||day2<1)
            {
                printf("输入数据错误!!!\n");
                exit(0);
            }
        }
        else if(month2==2)
        {
            if((year2/4==0&&year2/100!=0)||year2/400==0)
            {
                   if(day2>29||day2<1)
                {
                    printf("输入数据错误!!!\n");
                    exit(0);
                }
            }
            else
            {
                if(day2>28||day2<1)
                {
                    printf("输入数据错误!!!\n");
                    exit(0);
                }
            }
        }
        a=year2-year1;
        b=month2-month1;
        c=day2-day1;
        if((a<0)||(a==0&&b<0)||(a==0&&b==0&&c<0))
        {
            printf("输入数据错误!!!\n");
            exit(0);
        }
        else 
        {
         if(b<0)
         {
            a=a-1;
            printf("你现在%d周岁了\n",a);
         }
         else if(b==0)
         {
            if(c<0)
            {
                a=a-1;
                printf("你现在%d周岁了\n",a);
            }
            else
            {
                printf("你现在%d周岁了\n",a);
            }
         }
         else
         {
            printf("今天你%d周岁了\n",a);
         }
        }
     return 0;    
    }

    本次课知识点总结:

    1.引入了强制输出,# include <stdlib.h>    exit(0);   。

    2.使用if  else 连环嵌套。

    实验总结:

    1.输入一次数据就立刻判断一次,最好不要两次都输入完了在判断输入数据是否错误。

    2.熟记闰年的判断方式。

      3. 判断三角形类型

      输入三个整数,判断由其构成的三角形的类型(等边三角形、等腰三角形、等腰直角三角形、直角三角形、一般三角形以及非三角形)

    # include <stdio.h>
    int main()
    {
        int x,y,z;
        printf("请输入三角形的三条边长,数字类型为整数:\n");
        scanf("%d,%d,%d",&x,&y,&z);
        if((x+y<=z||x+z<=y)||y+z<=x) 
        {
            printf("非三角形\n");
        }
        else
        {
            if((x==y||x==z)||y==z)
            {
                if((x==y&&x==z)&&y==z)
                {
                    printf("该三角形为等边三角形\n");
                }
                else
                {
                    if((x*x+y*y==z*z||x*x+z*z==y*y)||y*y+z*z==x*x)
                    {
                        printf("该三角形为等腰直角三角形\n");
                    }
                    else
                    {
                        printf("该三角形为等腰三角形\n");
                    }
                }
            }
            else
            {
                if((x*x+y*y==z*z||x*x+z*z==y*y)||y*y+z*z==x*x)
                {
                    printf("该三角形为直角三角形\n");
                }
                else
                {
                    printf("该三角形为普通三角形\n");
                }
            } 
        }
     return 0;    
    }

    本次课知识点总结:

    1.if else 连环嵌套。

    2.有关三角形的基础知识要知道。

    实验总结:

    1.在等腰的基础上判断等边,只等腰不等边时在分是否是直角。

    2.逻辑关系要理清楚。

      4. 看商品猜价格小游戏

    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    int main()
    {
        int a,b;
        printf("你猜这个商品的价格是多少(1-100之间):\n");
        scanf("%d",&a);
        srand(time(NULL));
        b=rand()%100+1;
        if(a==b)
        {
            printf("恭喜!商品归你了\n");
        }
        else if(a<b)
        {
            printf("太小了,价格是%d\n",b);
        }
        else
        {
            printf("太大了,价格是%d\n",b);
        }
     return 0;    
    }

    本次课知识点总结:

    1.系统输出1-100随机数# include <stdlib.h>      b=rand()%100+1;

    2.让随机数不停的变化# include <time.h>      srand(time(NULL));

    实验总结:

    1.让随机数不停变化需要加入# include <time.h>      srand(time(NULL));

    2.让随机在1-100需在 b=rand()%100后面在加个1.

    附加题:虫子吃苹果问题(完成此题加1分)

        你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?

       输入n,x和y(均为整数),输出剩下的苹果个数。

       测试数据:  10  4  9

                        5  3  16

    # include <stdio.h>
    int main()
    {   
        int n,x,y,z,f; 
        printf("你买了一箱n个苹果,箱子里有一只虫子,虫子x小时吃掉一个苹果,y小时后还剩多少苹果,请输入n,x,y(n,x,y均为正整数):\n");
        scanf("%d,%d,%d",&n,&x,&y);
        f=n-(y/x);
        if(n<=0||x<=0)
        {
            printf("输入错误!!!\n");
        }
        else if(f<=0)
        {
            printf("剩余0个苹果\n");
        }
        else
        {
            if((double)y/x>y/x)
            {
            z=n-(y/x)-1;
            printf("剩余%d个苹果\n",z);
            }
            else 
            {
                z=n-(y/x);
                printf("剩余%d个苹果\n",z);
            }
        }
     return 0;
    }

    本次课知识点总结:

    1.使用浮点型数据。

    实验总结:

    1.当y/x为小数时让y/x+1。

  • 相关阅读:
    Spark的精简安装步骤---陈楠心血总结
    关于Hadoop的集群环境下虚拟机采用NAT方式连不上网的解决
    size_t总结
    POJ 1852 Ants
    Digital Roots 1013
    1350. Primary Arithmetic
    Word Reversal
    POJ 2876 Cantoring Along
    逆序数的求法
    C++ 中cin
  • 原文地址:https://www.cnblogs.com/w123/p/5970962.html
Copyright © 2020-2023  润新知