第三次作业

一、实验内容          

    1. 实验要求:字符判断

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

代码:

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

程序运行结果:

 2. 实验要求:年龄问题

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

代码:

#include<stdio.h>
int main()
{
    int a,b,c,d,e,f,g;
    printf("请输入你的生日,年月日用逗号分开\n");
    scanf("%d,%d,%d",&a,&b,&c);    printf("请输入今天的日期,格式:年-月-日\n");
    scanf("%d-%d-%d",&d,&e,&f);
    if (d>a)
    {
       if (b==e)
      {
        if (c>=f)
        {
            g=d-a-1;
            printf("你今年%d周岁了",g);
        }
        else
        {
            g=d-a;
            printf("你今年%d周岁了",g);
         }
      }
        else if (b>e)
      {
        g=d-a-1;
        printf("你今年%d周岁了",g);
       }
       else if (b<e)
      {
        g=d-a;
        printf("你今年%d周岁了",g);
       }
    }
    else if (d==a)
    {
        if (b>e)
        {
            printf("未满一周岁");
        }
        else if (b==e)
        {
            if (c>=d)
            {
                printf("未满一周岁");
            }
            else if (c<d)
            {
                printf("输入错误");
            }
        }
        else if (b<e)
        {
            printf("输入错误");
        }
    }
    else
    {
        printf("输入错误");
    }
    return 0;
}

程序运行结果:

3. 实验要求:判断三角形类型

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

代码:

#include<stdio.h>
int main()
{
    int a,b,c;    r:printf("请输入三个整数,判断能否构成三角形及其类型\n");
    scanf("%d%d%d",&a,&b,&c);
    if ((a+b>c&&a+c>b&&b+c>a)&&(fabs(b-a)<c&&fabs(c-a)<b&&fabs(c-b)<a))
    {
        if (a==b&&a==c&&b==c)
        {
            printf("等边三角形\n");
        }
        else if ((a==b&&a!=c&&b!=c)||(b==c&&a!=c&&a!=b)||(a==c&&a!=b&&b!=c))
        {
            if ((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b))
            {
                printf("等腰直角三角形\n");
            }
            else
            {
                printf("等腰三角形\n");
            }
        }
        else if    ((a!=b&&b!=c&&a!=c)&&((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b)))
        {
            printf("直角三角形\n");
        }
        else
        {
            printf("一般三角形\n");
        }
    }
    else
    {
        printf("不能构成三角形\n");
    }
    goto r;
    return 0;
}

程序运行结果:

4. 看商品猜价格小游戏

代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int price,a;
    srand(time(NULL));
    price=rand()%100+1;
    printf("请猜出商品的价格\n");
    scanf("%d",&a);
    if (a>price)
    {
        printf("Wrong:greater\n");
    }
    else if (a<price)
    {
        printf("Wrong:less\n");
    }
    else if (a==price)
    {
        printf("Right:Congratulations!\n");
    }
    return 0;
}

程序运行结果:

5.附加题:虫子吃苹果问题

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

代码:

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

程序运行结果:

二、本次课知识点总结

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

2、使用if  else 连环嵌套。

3、1、一个主函数一定要定义常量,当错误显示“...first  use  in  the...”时代表没有定义用到的常量。

4、随机函数rand()

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

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

5、 分清“=”与“==”的含义

 

三、实验总结(实验中遇到的问题及解决方法)

1、‘a'表示一个字符

2、int  常量用“%d”

3、char字符只能读取一个字符

4、 要尽可能把所有情况包含在程序中

5、.除法是“/”而不是“\”。

posted on 2016-10-19 22:30  差不多先森i  阅读(125)  评论(1编辑  收藏  举报

导航