第三次作业

一、实验内容

  1. 字符判断

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

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

 2. 年龄问题

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

#include <stdio.h>
int main()
{
    int a,b,c,d,e,f,year1,year2;
    printf("请输入你的生日,用:隔开");
    scanf("%d:%d:%d",&a,&b,&c);
    printf("请输入今天的日期,用:隔开");
    scanf("%d:%d:%d",&d,&e,&f);
    year1=d-a;
year2=year1-1;
if(e>b&&f>c) { printf("该生今年%d岁了",year1); } else { printf("该生今年%d岁了",year2); } return 0; }

 3. 判断三角形类型

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

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

 4. 看商品猜价格小游戏

     

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int price,guess;
    printf("请输入您猜的价格");
    scanf("%d",&guess);
    srand(time(NULL));
    price=rand()%100+1;
    if(price>guess)
    {
        printf("太小了,正确价格为%d\n",price);
    }
    else if(price<guess)
    {
        printf("太大了,正确价格为%d\n",price);
    }
    else
    {
        printf("商品归您了");
    }
    return 0;
}

附加题:虫子吃苹果问题

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

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

#include <stdio.h>
int main ()
{
    int n,x,y,a;
    printf("请输入三个整数");
    scanf("%d%d%d",&n,&x,&y);
    if (y%x==0)
    {
        a=n-y/x;
        printf("还剩%d个苹果",a);
    }
    else if (y%x!=0&&n>y/x)
    {
        a=n-y/x-1;
        printf("还剩%d个苹果",a);
    }
    else
    {
        printf("没有完整的苹果");
    }
    return 0;
    
}

  二、本次课知识点总结

        1、字符常量指用单引号括起来的普通字符或转义字符。

           2.掌握char与int数据间的算术运算。大小写字母转换时大写字母转换为小写字母+32,反之小到大-32。

        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.字符型数据的输入和输出。

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

      1.忘记输出,加上printf。字符常量的值对应的ASC11码值。

         2.用绝对值忘记加上数学函数。加上#include<math.h>

         3.随机函数rand()

posted @ 2016-10-17 22:15  一范红宇  阅读(153)  评论(2编辑  收藏  举报