第三次作业

一、实验内容

1、字符判断

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

#include <stdio.h>
int main()
{
    char a;
    scanf("%c",&a);
    if(a>='A'&&a<='Z')
    {
        a=a+32;
        printf("%c\n",a);
        
    }
    else if(a>='a'&&a<='z')
    {
        a=a-32;
        printf("%c\n",a);
    }
    else if(a==' ')
    {
        printf("space\n");
    }
    else if(a>='0'&&a<='9')
    {
        printf("%c\n",a);
    }
    else
    {
        printf("other\n");
    }
    return 0;
 } 

2、年龄问题

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

#include<stdio.h>
int main()
{
    int a,b,c,x,y,z,d; 
    printf("请输入你的生日\n");
    scanf("%d%d%d",&a,&b,&c);
    printf("请输入今天的日期\n");
    scanf("%d%d%d",&x,&y,&z);
    if(b>=13||b<=0||c<=0||c>=32||y>=13||y<=0||z<=0||z>=32||a>x)
    {
        printf("输入错误\n");
    }
    else if(((b==4||b==6||b==9||b==11)&&c==31)||((b==4||b==6||b==9||b==11)&&z==31))
    {
        printf("输入错误\n");
    }
    else if((b==2&&a%4==0&&c>=30)||(y==2&&x%4==0&&z>=30))
    {
        printf("输入错误\n");
    }
    else if((b==2&&a%4!=0&&c>=29)||(y==2&&x%4!=0&&z>=29))
    {
        printf("输入错误\n");
    }
    else if(a==x&&b>y)
    {
        printf("输入错误\n");
    }
    else if(a==x&&b==y&&c>z)
    {
        printf("输入错误\n");
    }
    else if(y<b)
    {
        d=x-1-a;
        printf("%d",d);
    }
    else if(y==b)
    {
        if(z<c)
        {
            d=x-1-a;
            printf("%d",d);
        }
        else if(z>=c)
        {
            d=x-a;
            printf("%d",d);
        }
    }
    else if(y>b)
    {
        d=x-a;
        printf("%d",d);    
    }
    return 0;
 } 

3、判断三角形类型

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

#include<stdio.h>
int main()
{
    int a,b,c;
    printf("输入三个整数,判断由其构成的三角形的类型\n") ;
    scanf("%d%d%d",&a,&b,&c);
    if(a+b<=c||a+c<=b||b+c<=a||a<=0||b<=0||c<=0)
    {
        printf("非三角形\n");
    }
    else if(a==b&&a==c)
    {
        printf("等边三角形\n");
    }
    else if(a==b||a==c||b==c)
    {
        printf("等腰三角形\n");
    }
    else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
    {
        printf("直角三角形\n");
    }
    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("等腰直角三角形\n");
    }
    else
    {
        printf("一般三角形\n");
    }
    return 0;
 } 

4、看商品猜价格小游戏

#include<stdlib.h>
#include<stdio.h>
#include<time.h> 
int main()
{
    int a,b;
    printf("请竞猜价格(一百以内的整数)\n");
    srand(time(NULL));
    a=rand()%100+1; 
    scanf("%d",&b);
    if(b<=0||b>100)
    {
        printf("输入错误\n");
    }
    else if(b==a)
    {
        printf("恭喜你猜对了!\n");
    }
    else if(b>a)
    {
        printf("猜高了\n");
     } 
     else if(b<a)
     {
         printf("猜低了\n");
     }
    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请输入n,x和y(均为整数,用空格分开)\n" );
    scanf("%lf%lf%lf",&n,&x,&y);
    if(n<=0||x<=0||y<=0)
    {
        printf("输入错误\n");
    }
    else
    {
        z=n-y/x; 
        if(z<=0)
        {
            printf("还剩0个苹果\n");
        }
        else
        {
            printf("还剩%d个苹果\n",z);
        }
        
    }
    return 0;    
}

二、本次课知识点总结

1、字符型数据的使用

2、如何产生随机数

3、选择语句的使用

 

三、实验总结

1、字符型数据用单引号引上

2、在判断输入非法数据时更严谨

3、一个else对应一个if

4、附加题中,计算时应用实型常量,输出时应用整形常量

 

posted @ 2016-10-17 13:56  计科1602张子凡  阅读(5703)  评论(1编辑  收藏  举报