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

     

    一、实验内容

    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>
    int main()
    {
        int a,b,c,l,m,n,x;
        printf("请输入你的生日,格式为年-月-日
    ");
        scanf("%d-%d-%d",&a,&b,&c);
        printf("请输入今天的日期
    ");
        scanf("%d-%d-%d",&l,&m,&n);
        if(a>l||b>=13||b<=0||c>=32||c<=0||m>=13||m<=0||n>=32||n<=0)
        {
            printf("输入错误
    ");
        }
        else if(m<b)
        {
            x=l-a-1;
            printf("你的周岁是%d",x);
        }
        else if(m==b)
        {
            if(c>n)
            {
                x=l-a-1;
                printf("你的周岁是%d",x);
            } 
            else if(n>=c)
            {
                x=l-a;
                printf("你的周岁是%d",x);
            }
        }
        else if(m>b)
        {
            x=l-a;
            printf("你的周岁是%d",x);
        }
        return 0;
    }

    3.判断三角形类型

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

    #include<stdio.h>
    int main()
    {
        int a,b,c;
        printf("请输入三个整数,中间用连字符隔开,我将判断由其构成的三角形的类型
    ") ;
        scanf("%d-%d-%d",&a,&b,&c);
        if(a+b<=c||a+c<=b||b+c<=a||a<=0||b<=0||c<=0)
        {
            printf("输入错误,不能构成三角形
    ");
        }
        else if(a==b&&a==c)
        {
            printf("可构成等边三角形
    ");
        }
        else if(a==b||a==c||b==c)
        {
            printf("可构成等腰三角形
    ");
        }
        else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
        {
            printf("可构成直角三角形
    ");
        }
        else if((a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)&&(a==b||a==c||b==c))
        {
            printf("可构成等腰直角三角形
    ");
        }
        else
        {
            printf("可构成一般三角形
    ");
        }
        return 0;
     }

    4.看商品猜价格小游戏

    # include <stdio.h>
    # include <stdlib.h>
    # include <time.h>
    int main()
    {
        int a,b;
        printf("请你猜这个商品的价格(整数,1-100之间)
    ");
        scanf("%d",&a);
        srand(time(NULL));
        b=rand()%100+1;
        if(a==b)
        {
            printf("你猜对了
    ");
        }
        else if(a<b)
        {
            printf("你猜的价格太低了,价格是%d
    ",b);
        }
        else
        {
            printf("你猜的价格太高了,价格是%d
    ",b);
        }
     return 0;    
    }

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

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

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

    二、知识点总结

    1、字符型数据的使用

    2、随机函数rand()

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

    三、实验总结

    字符型数据相互转化时需要注意大写字母转换为小写字母+32,反之小到大-32。

  • 相关阅读:
    Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTCTime)、文件时间(FileTime)之间的转换
    VS2008驱动开发环境配置
    delete和delete[]的区别
    手动加载NT式驱动(非工具)修改注册表实现
    结构体的内存空间分配原理
    NT式驱动的卸载
    NT式驱动的安装
    struct tm>time() localtime() gmtime()
    64位驱动数字签名
    SQL Server 数据库错误修改
  • 原文地址:https://www.cnblogs.com/li1252204077/p/5986533.html
Copyright © 2011-2022 走看看