第三次作業


一、實驗內容

1、字符判斷

實驗要求: 輸入一個字符,判斷它如果是小寫字母輸出其對應大寫字母;如果是大寫字母輸出其對應小寫字母;如果是數字輸出數字本身;如果是空格,輸出“space”;如果不是上述情況,輸出“other”。

#include <stdio.h>
int main()
{
    char a;
    scanf("%c",&a);
    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==' ')
    {
        printf("space\n");
    }
    else if(a>='0'&&a<='9')
    {
        printf("%c\n",a);
    }
    else
    {
        printf("other\n");
    }
    return 0;
 } 

2、年齡問題

實驗要求:輸入一個學生的生日(年:月:日),並輸入當前日期(年:月:日),計算該生的實際年齡(周歲)。

#include<stdio.h>
int main()
{
    int a,b,c,x,y,z,d; 
    printf("請輸入你的生日\n");
    scanf("%d%d%d",&a,&b,&c);
    printf("請輸入今天的日期\n");
    scanf("%d%d%d",&x,&y,&z);
    if(b>=13||b<=0||c<=0||c>=32||y>=13||y<=0||z<=0||z>=32||a>x)
    {
        printf("輸入錯誤\n");
    }
    else if(((b==4||b==6||b==9||b==11)&&c==31)||((b==4||b==6||b==9||b==11)&&z==31))
    {
        printf("輸入錯誤\n");
    }
    else if((b==2&&a%4==0&&c>=30)||(y==2&&x%4==0&&z>=30))
    {
        printf("輸入錯誤\n");
    }
    else if((b==2&&a%4!=0&&c>=29)||(y==2&&x%4!=0&&z>=29))
    {
        printf("輸入錯誤\n");
    }
    else if(a==x&&b>y)
    {
        printf("輸入錯誤\n");
    }
    else if(a==x&&b==y&&c>z)
    {
        printf("輸入錯誤\n");
    }
    else if(y<b)
    {
        d=x-1-a;
        printf("%d",d);
    }
    else if(y==b)
    {
        if(z<c)
        {
            d=x-1-a;
            printf("%d",d);
        }
        else if(z>=c)
        {
            d=x-a;
            printf("%d",d);
        }
    }
    else if(y>b)
    {
        d=x-a;
        printf("%d",d);    
    }
    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||a+c<=b||b+c<=a||a<=0||b<=0||c<=0)
    {
        printf("非三角形\n");
    }
    else if(a==b&&a==c)
    {
        printf("等邊三角形\n");
    }
    else if(a==b||a==c||b==c)
    {
        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 if((a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)&&(a==b||a==c||b==c))
    {
        printf("等腰直角三角形\n");
    }
    else
    {
        printf("一般三角形\n");
    }
    return 0;
 } 

4、看商品猜價格小游戲

#include<stdlib.h>
#include<stdio.h>
#include<time.h> 
int main()
{
    int a,b;
    printf("請競猜價格(一百以內的整數)\n");
    srand(time(NULL));
    a=rand()%100+1; 
    scanf("%d",&b);
    if(b<=0||b>100)
    {
        printf("輸入錯誤\n");
    }
    else if(b==a)
    {
        printf("恭喜你猜對了!\n");
    }
    else if(b>a)
    {
        printf("猜高了\n");
     } 
     else if(b<a)
     {
         printf("猜低了\n");
     }
    return 0;    
}

附加題:蟲子吃蘋果問題(完成此題加1分)

你買了一箱n個蘋果,很不幸的是買完時箱子里混進了一條蟲子。蟲子每x小時能吃掉一個蘋果,假設蟲子在吃完一個蘋果之前不會吃另一個,那么經過y小時你還有多少個完整的蘋果?

輸入n,x和y(均為整數),輸出剩下的蘋果個數。

#include<stdio.h>
int main()
{
    double n,x,y;
    int z;
    printf("你買了一箱n個蘋果,很不幸的是買完時箱子里混進了一條蟲子。蟲子每x小時能吃掉一個蘋果,假設蟲子在吃完一個蘋果之前不會吃另一個,那么經過y小時你還有多少個完整的蘋果?\n請輸入n,x和y(均為整數,用空格分開)\n" );
    scanf("%lf%lf%lf",&n,&x,&y);
    if(n<=0||x<=0||y<=0)
    {
        printf("輸入錯誤\n");
    }
    else
    {
        z=n-y/x; 
        if(z<=0)
        {
            printf("還剩0個蘋果\n");
        }
        else
        {
            printf("還剩%d個蘋果\n",z);
        }
        
    }
    return 0;    
}

二、本次課知識點總結

1、字符型數據的使用

2、如何產生隨機數

3、選擇語句的使用

 

三、實驗總結

1、字符型數據用單引號引上

2、在判斷輸入非法數據時更嚴謹

3、一個else對應一個if

4、附加題中,計算時應用實型常量,輸出時應用整形常量

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM