作业(三)

1. 字符判断

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

代码:

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

 

截图

2. 年龄问题

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

代码:

 

# include<stdio.h>
int main ()
{
    int a,b,c,x,y,z,e,f,g,h;
    printf ("输入你的生日年月日用逗号分开\n");
    scanf  ("%d,%d,%d",&a,&b,&c);
    if ((a<=0)||(b<=0||b>12)||(c<=0||c>31))
    {
        printf ("输入错误\n");
    }  
    if (((a%4==0&&a%100!=0)||(a%400==0))&&(b==2))
    {
       if((c>=30)&&(b==2))
       {
            printf("输入错误\n");
       } 
    }
    else if(a%4!=0&&b==2)
    {
        if(c>=29)
        {
            printf ("输入错误\n");
        }            
    }
    printf("输入今天的日期年月日用逗号分开\n");
    scanf("%d,%d,%d",&x,&y,&z);
    if ((x<=0)||(y<=0||y>12)||(z<=0||z>31))
    {
        printf ("输入错误\n");
    } 
    else if (((x%4==0&&x%100!=0)||(x%400==0))&&(y==2))
    {
       if(z>=30&&y==2)
       {
            printf("输入错误\n");
       } 
    } 
    if(x%4!=0&&y==2)
    { 
        if(z>=29)
        {
            printf ("输入错误\n");
        }            
    }
    e=x-a;
    f=y-b;
    g=z-c;
    h=e-1;
    if(e<0)
    {
        printf ("输入错误\n");
    }
    if(e==0)
    {
        if (f>=0&&g>=0)
        {
            printf ("周岁为%d\n",e);
        }
        else     
        {
            printf ("输入错误\n");
        }
    }
    else if(e>0)
    {
        if(f>0)
           {
               printf ("周岁为%d\n",e);
           }
        if(f==0) 
        {
            if(g>=0)
            {
                printf("周岁为%d\n",e);
            }
            else if(g<0)
            {
                printf("周岁为%d\n",h);
            }
        }
           else if(f<0)
           {
               printf("周岁为%d\n",h);
        }
    }  
    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||b+c<=a||a+c<=b)
    {
        printf ("此三角形为非三角形\n");
    }
    else if ((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))
    {
        if (a==b||b==c||a==c)
        {
            printf ("此三角形为等腰直角三角形\n");
        }
         else 
        {
            printf ("此三角形为直角三角形\n");
        }  
    }
    else if (a==b&&a==c&&b==c)
    {
        printf ("此三角形为等边三角形\n");
    }
    else if ((a==b&&a!=c&&b!=c)||(b==c&&b!=a&&c!=a)||(a==c&&a!=b&&c!=b))
    {  
        printf ("此三角形为等腰三角形\n");
    }
    else 
    {   
        printf("此三角形为普通三角形\n");
    }
    return 0; 
}

 

截图:

 

4. 看商品猜价格小游戏

     

代码:

 

# include <stdio.h>
# include <stdlib.h>
# include <time.h>
int main()
{
    int a,b;
    srand(time(NULL));
    a=rand()%100+1;
    printf("输入你的答案\n");
    scanf("%d",&b);
    if(b<1||b>100)
    {
        printf("答案错误\n");
    }
    else if(a==b)
    {
        printf("商品归你了,答案为%d\n",a);
    }
    else if(b>a)
    {
        printf("太大了,答案为%d\n",a);
    }    
    else if(b<a)
    {
        printf("太小了,答案为%d\n",a);
    }
    return 0;
}

 

截图:

 

 

附加题

虫子吃苹果问题

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

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

   测试数据:  10  4  9

                    5  3  16

代码:

 main()
{
    int a,b,c,d,e,f;
    printf("你买了a个苹果,每b小时吃一个计算c小时后还有多少个,请输入abc并用,隔开\n");
    scanf("%d,%d,%d",&a,&b,&c);
    d=a-(c/b);
    e=c%d; 
    f=d-1;
    if(d<=0)
    {
        printf("此时的苹果已经被吃完了\n");
    }
    else if (e>0)
    {
        printf("还有%d个苹果\n",f);
    }
    else if (e==0)
    {
        printf("还有%d个苹果\n",d);
    }
    return 0;
 }

 

 

 

截图:

 

 

    二、本次课知识点 

        1,随时间变化的随机变量

        2,大写字母与小写字母的相互转换

        3,随机函数rand是32767,根据取余数来随机变量

        4,利用ASCII码值来解决信息交换

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

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

      1,注意书写格式的规范

      2,等于为==,赋值为=

      3,“{”“}”的一一对应     

      4,# include <stdlib.h>和# include <time.h> 不要忘记

      5,考虑闰年的特殊月份二月合法性
        

 

posted on 2016-10-23 00:52  王国宇  阅读(240)  评论(3编辑  收藏  举报