第三次作业

  1. 字符判断

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

注:字符型与整形的转换需要仔细注意,字符打单引号;

 2. 年龄问题

# include<stdio.h>
int main ()
{
        int a,b,c,x,y,z,e,f,g,h;
        printf ("输入你的生日年月日用英文逗号分开
");
        scanf  ("%d,%d,%d",&a,&b,&c);
        if ((a<=0)||(b<=0||b>12)||(c<=0||c>31))
           {
                printf ("输入错误
");
          }  
        if((a%4==0&&a%100!=0)||(a%400==0))
          {
            if((c>=30)&&(b==2))
              {
                printf("输入错误
");
              } 
          }
        else if((a%4!=0)&&(b==2))
               {
                if(c>=29)
                  {
                      printf ("输入错误
");
                   }
               
               }
        printf ("输入今天的日期年月日用逗号分开
");
        scanf  ("%d,%d,%d",&x,&y,&z);
        if ((x<=0)||(y<=0||y>12)||(z<=0||z>31))
            {
                printf ("输入错误
");
            } 
        if((x%4==0&&x%100!=0)||(x%400==0))
          {
            if((z>=30)&&(z==2)) 
               {
                 printf("输入错误
");
               } 
          }
        else if((x%4!=0)&&(y==2))
               {
                 if(z>=29)
                   {
                      printf ("输入错误
");
                   }
          }
        e=x-a;
        f=y-b;
        g=z-c;
        if (e==0)
           {
              if ((f>=0&&g>=0))
                 {
                    printf ("周岁为%d",e);
                 }
                else 
                    { 
                         printf ("输入错误
");
                    }
           }
        else if (e>0)
                {  
                  if ((f==0&&g>0)||(f==0&&g==0))
                     {
                        printf ("周岁为%d",e);
                     }
                  else
                      { 
                          if(f==0&&g<0)
                            {   
                              h=e-1;
                               {
                                  printf("周岁为%d
",h);
                               }
                            }
                      }
                   if (g==0&&f>0)
                      {
                            printf("周岁为%d
",e);
                      }
                      else
                      {
                             if (g==0&&f<0)
                                {
                                  h=e-1;
                                  printf ("周岁为%d
",h);
                                }
                      }
                    if ((f>0)&&(g>0||g<0))
                       {
                           printf ("周岁为%d
",e);
                       }
                       else 
                            {
                                   if (f<0)
                                 {   
                                          h=e-1;
                                         printf ("周岁为%d
",h);
                                 }
                            }
                }
    return 0; 
 } 

注;时间的计算,还有ifelse的结构注意对齐;

3. 判断三角形类型

# include <stdio.h>
int main ()
{
    int a,b,c;
    printf ("输入三个整数判断
");
    scanf ("%d,%d,%d",&a,&b,&c);
    if(a+b<=c||b+c<=a||a+c<=b)
      {
         printf ("非三角形
"); 
      }
    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 ("这个三角形为等腰直角三角形
");
                 }
             
                 else 
                    {
                       printf ("这个为直角三角形
");
                    }  
            }
    else if (a==b&&a==c&&b==c)
            {
               printf ("等边三角形
");
            }
    else if ((a==b&&a!=c&&b!=c)||(b==c&&b!=a&&c!=a)||(a==c&&a!=b&&c!=b))
            { 
               printf ("等腰三角形
");
             }
    else 
        {  
             printf("普通三角形
");
        }
     return 0; 
}

注:三角形的规则,大括号对齐;

 4. 看商品猜价格小游戏

# include <stdio.h>
# include <stdlib.h>
# include <time.h>
int main ()
{
    int a,b,c;
    srand(time(NULL));
    a=rand()%10+1;
    printf("这个商品为%d,猜它的价格
");
    srand(a);
    b=rand()%100+1;
    printf("输入你的答案
");
    scanf("%d",&c);
    if (b==c)
    {
        printf ("商品归你了,答案为%d
",b);
        
    }
    else if(c>b)
    {
        printf("太大了,答案为%d
",b);
    }    
        else 
        {
            printf ("太小了,答案为%d
",b);
        }
        return 0;
}

注:各种函数的类型,srand的应用随机量;

 第五个苹果

# include <stdio.h>
int main()
{
    int a,b,c,d,e;
    printf("你买了a个苹果,每b小时吃一个计算c小时后还有多少个
");
    scanf("%d,%d,%d",&a,&b,&c);
    d=a-(c/b);
    if(d<=0)
    {
        printf("此时的苹果已经被吃完了
");
    }
    else if (c%b>=0)
           {
                e=d-1;
                {
                      printf("还有%d个苹果
",e);
                }
            }
           else 
               {
                     printf("还有%d个苹果
",d);
               } 
    
    return 0;
 } 

注:输出后加入输出的数;

知识点总结:

 在字符行数据中许多都是控制字符,在内存中站一个字节 ,在字符中空格也占一个字符但是在%c中加入空格就可以。

在字符中总有对应的整形的整数,

产生随机数需要用时间做基础需要用到 srand,需要添加主函数#include<time>

错误:逻辑经常出错需要多次更改,需要草稿然后输入电脑进行更改,

原文地址:https://www.cnblogs.com/saber114567/p/5970951.html