首页 > 代码库 > 第三次作业

第三次作业

#include<stdio.h>
int main()
{
    char a;
    while(1)
    {    
    printf("输入一个字符");
    a=getchar();
        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>=0&&a<=9)
    {
        printf("%c\n",a);
    }
    else if(a==32)
    {
        printf("space\n");
    }
    else
    {
        printf("other\n");
    }
  }

}

第一个实验。技术分享

问题挺显而易见,循环的时候换行直接被读取了(图方便......)。正常情况下在%c前加空格就行,但这样空格就读不出来了。正在想办法。

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a,b,c,d,e,f,g;
    next:printf("请输入您的生日");
    scanf("%d %d %d",&a,&b,&c);
    printf("请输入今天的日期");
    scanf("%d%d%d",&d,&e,&f);
    if(a%4==0&&a%100!=0||a%400==0)
    {
    if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
        {
            if(c<=0||c>31)    
             {
                 printf("输入错误");
                 exit(0);
             }
        }
         else if(b==4||b==6||b==9||b==11)
         {
            if(c>=30||c<=0)
            {
                printf("输入错误");
                exit(0);
            }
         }
            else if(b==2)
            {
            if(c<=0||c>=29)
            {
                printf("输入错误");
                exit(0);
            }
         }
           else
         {
            printf("输入错误");
            exit(0);
             }
        }    
    
    else
    {
    if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
        {
            if(c<=0||c>31)
        
             {
                 printf("输入错误");
                 exit(0);
             }
        }
         else if(b==4||b==6||b==9||b==11)
         {
            if(c>=30||c<=0)
            {
                printf("输入错误");
                exit(0);
            }
         }
            else if(b==2)
            {
            if(c<=0||c>=28)
            {
                printf("输入错误");
                exit(0);
            }
         }
           else
         {
            printf("输入错误");
            exit(0);
             }
            } 
            g=d-a;
            if(g<0)
            {
                printf("error");
                exit(0);
            }
            else if(e-b>0)
            {
                g=g;
            }
            else if(e-b<0)
            {
                g=g-1;
            }
            else
            {
                if(f-c>=0)
                {
                    g=g;
                }
                else if(f-c<0)
                {
                    g=g-1;
                }
                else
                {
                    g=g-1;
                }
            }
            printf("您的周岁是%d\n",g);
            goto next;
}

技术分享

第二个实验。

情不自禁的又用了goto......

另外加上了筛选。

#include<stdio.h>
int main()
{
    int a,b,c;
    next:printf("请输入三个数字:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a+b>c&&b+c>a&&a+c>b)
    {
        if(a==b||b==c||c==a)
        {
            if(a==b&&b==c&&c==a)
            {
                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
            {
                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
        {
            printf("一般\n"); 
        }
     } 
     else
     {
         printf("非三角\n"); 
     }
     goto next;
}

第三个实验。

重点在于思想,由大到小,不容易乱。技术分享                                           

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int a,b,i;
    
    while(1)
    {
    srand(time(NULL));
    i=0;
    a=rand()%1000+1;
    printf("输入一个三位数!然后你有三次机会!\n") ;
    while(i<=2)
    {
        scanf("%d",&b);
        if(b>=100&&b<1000)
        {
            if(b==a)
            {
                printf("恭喜你猜对啦!\n奖品是你的啦!\n");
                break; 
            }
            else if(b-a>0)
            {
                if(b-a>400)
                {
                    printf("你高的太多啦!\n");    
                }
                else if(b-a<=400&&b-a>200)
                {
                    printf("高了!\n");
                }
                else
                {
                    printf("高了但接近了!\n");
                 } 
            }
        
            else if(b-a<0)
            {
                if(a-b>400)
                {
                    printf("低的太多啦!\n");
                }
                else if(a-b<=400&&a-b>200)
                {
                    printf("低了!\n");
                 } 
                 else
                 {
                     printf("低了但快猜到了!\n") ;
                 }
            }
        }
        else
        {
            printf("你输的不是三位数!\n");
        }
        i++;
    }
    printf("真正的答案是%d!\n",a);
}
}  

 

技术分享

第四个实验。

需要注意的是srand(time(NULL));要在a=rand()%1000+1;之前。

还有就是没能实现break的运用挺遗憾的。我想让程序选择性终止来着,可是还没弄好。


,%%%%%%%%,
,%%/\%%%%/\%%
,%%%\c "" J/%%%
%. %%%%/ o o \%%%
`%%. %%%% _ |%%%
`%% `%%%%(__Y__)%%‘
// ;%%%%`\-/%%%‘
(( / `%%%%%%%‘
\\ .‘ |
\\ / \ | |
\\/ ) | |
\ /_ | |__
(___________)))))))

                                                        

第三次作业