• 第三次作业


     1. 字符判断

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

    #include<stdio.h> 
    int main()
    {
        char a;
        printf("请输入一个字符。
    ");
        a=getchar();
        if(a>='A'&&a<='Z')
        {
            a=a+32;
            putchar(a);
        }
        else if(a>='a'&&a<='z')
        {
            a=a-32;
            putchar(a);
        }
        else if(a>='0'&&a<='9')
        {
            putchar(a);
        }
        else if(a==' ')
        {
            printf("space
    ");
        }
        else
        {
            printf("other
    ");
        }
        return 0;
    }

    2. 年龄问题

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

    #include<stdio.h> 
    #include<stdlib.h> 
    int main()
    {
        int year,month,day,year1,month1,day1,A;
        printf("请输入你的生日,格式如:年-月-日。
    ");
        scanf("%d-%d-%d",&year,&month,&day);
        if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
        {
            if(day>=0&&day<=31)
            {
                printf("输入日期正确,请在输入今天的日期,格式相同。
    "); 
            }
            else
            {
                printf("输入日期错误,请关闭程序,重新输入。
    ");
            }
        }
        else if(month==4||month==6||month==9||month==11)
        {
            if(day>=0&&day<=30)
            {
                printf("输入日期正确,请在输入今天的日期,格式相同。
    ");
            }
            else
            {
                printf("输入日期错误,请关闭程序,重新输入。
    ");
            }
        }
        else if(month==2)
        {
            if(year/4==0&&year/100!=0||year/400==0)
            {
                if(day>=0&&day<=29)
                {
                    printf("输入日期正确,请在输入今天的日期,格式相同。
    ");
                }
                else
                {
                    printf("输入日期错误,请关闭程序,重新输入。
    ");
                }
            }
            else
            {
                if(day>=0&&day<=28)
                {
                    printf("输入日期正确,请在输入今天的日期,格式相同。
    ");
                }
                else
                {
                    printf("输入日期错误,请关闭程序,重新输入。
    ");
                }
            }
        }
        else
        {
            printf("输入日期错误,请关闭程序,重新输入。
    ");
        }
        scanf("%d-%d-%d",&year1,&month1,&day1);
        if(month1==1||month1==3||month1==5||month1==7||month1==8||month1==10||month1==12)
        {
            if(day1>=0&&day1<=31)
            {
                printf("输入日期正确,将计算出你的日期。
    ");
            }
            else
            {
                printf("输入日期错误,请关闭程序,重新输入。
    ");
                exit(0);
            }
        }
        else if(month1==4||month1==6||month1==9||month1==11)
        {
            if(day1>=0&&day1<=30)
            {
                printf("输入日期正确,将计算出你的日期。
    ");
            }
            else
            {
                printf("输入日期错误,请关闭程序,重新输入。
    ");
                exit(0);
            }
        }
        else if(month1==2)
        {
            if(year1/4==0&&year1/100!=0||year1/400==0)
            {
                if(day1>=0&&day1<=29)
                {
                    printf("输入日期正确,将计算出你的日期。
    ");
                }
                else
                {
                    printf("输入日期错误,请关闭程序,重新输入。
    ");
                    exit(0);
                }
            }
            else
            {
                if(day1>=0&&day1<=28)
                {
                    printf("输入日期正确,将计算出你的日期。
    ");
                }
                else
                {
                    printf("输入日期错误,请关闭程序,重新输入。
    ");
                    exit(0);
                }
            }
        }
        else
        {
            printf("输入日期错误,请关闭程序,重新输入。
    ");
            exit(0);
        }
        if(year<year1)
        {
            if(month<month1)
            {
                A=year1-year;
                printf("你的周岁为%d。
    ",A);
            }
            else if(month==month1)
            {
                if(day<=day1)
                {
                    A=year1-year;
                    printf("你的周岁为%d。
    ",A);
                }
                else
                {
                    A=year1-year-1;
                    printf("你的周岁为%d。
    ",A);
                }
            }
            else
            {
                A=year1-year-1;
                printf("你的周岁为%d。
    ",A);
            }
        }
        else if(year==year1)
        {
            if(month>month1)
            {
                printf("你的日期不合法。
    ");
            }
            if(month==month1)
            {
                if(day>day1)
                {
                    printf("你的日期不合法。
    ");
                }
                else
                {
                    printf("你的周岁为0。
    ");
                }
            }
            else
            {
                printf("你的周岁为0。
    ");
            }
        }
        else
        {
            printf("你的日期不合法。
    ");
        }
        return 0;    
    }

    3. 判断三角形类型

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

    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int a,b,c,d,e;
        printf("请输入三个整数,并用逗号隔开,将计算出其是否能构成三角形及其类型。
    ");
        scanf("%d,%d,%d",&a,&b,&c);
        d=b+c;
        e=fabs(b-c);
        if(d>a&&e<a)
        {
            if(a==b&&b==c)
            {
                printf("其能构成等边三角形。
    ");
            }
            else if(a==b||b==c||a==c)
            {
                if(a==sqrt(b*b+c*c)||b==sqrt(a*a+c*c)||c==sqrt(b*b+a*a))
                {
                    printf("其能构成等腰直角三角形。
    ");
                }
                else
                {
                    printf("其能构成等腰三角形。
    ");
                }
            }
            else if(a==sqrt(b*b+c*c)||b==sqrt(a*a+c*c)||c==sqrt(b*b+a*a))
            {
                printf("其能构成直角三角形。
    ");
            }
            else
            {
                printf("其能构成一般三角形。
    ");
            }
        }
        else
        {
            printf("其不能构成三角形。
    ");
        }
        return 0;
         
    }

    4. 看商品猜价格小游戏

    实验要求:

    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a,b;
        srand(time(NULL)); 
        a=rand()%100+1;
        printf("请输入你认为的价格,范围在100以内。
    ");
        scanf("%d",&b);
        if(a==b)
        {
            printf("商品归你了!
    "); 
        }
        else if(a<b)
        {
            printf("你猜高了,正确价格为%d。
    ",a);
        }
        else 
        {
            printf("你猜低了,正确价格为%d。
    ",a);
        }
        return 0;
    }

    附加题:虫子吃苹果问题

    #include<stdio.h>
    int main()
    {
        int n,x,y;
        float a,b;
        printf("  你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
    "); 
        printf("请输入n x y 的值。
    ");
        scanf("%d%d%d",&n,&x,&y);
        a=(float)y/x;
        b=n-a;
        if(b>=0)
        {
            printf("还剩%d个苹果。
    ",(int)b);
        }
        else
        {
            printf("还剩0个苹果。
    "); 
        }
        return 0;
        
    }

    知识点总结:1.字符型数据要用单引号,标识符是用char表示,%c格式。

            大写字母转换为小写字母+32,反之小到大-32。

          2.用绝对值fabs计算使用数学函数math.h。

          3.用系统时间函数srand(time(NULL))使用时间函数time.h。

          4.随机函数rand()

           产生0-99的随机函数,magic=rand()%100;

           产生1-100的随机函数,magic=rand()%100+1;

          5.使用强制退出exit(0),要用系统函数stdlib.h。

          6.在%c之前加空格,或者在getchar()前加getchar()读走多余的回车符。

    实验总结:scanf里不要忘记加取地址符;

         注意类型转换的使用。

     

     

     

     

     

     

     

     

  • 相关阅读:
    laravel5.* 生成key
    Laravel 调试利器 Laravel Debugbar 扩展包安装及使用教程
    JS相关
    Git常用命令(全)
    linux添加计划任务
    30个php操作redis常用方法代码例子(转载)
    获取服务器IP和客户端IP
    PHP-redis中文文档(相关)
    常用算法排序
    软件下载(汇总)
  • 原文地址:https://www.cnblogs.com/TX980502/p/5971045.html
Copyright © 2020-2023  润新知