Lab04-选择结构(2019.10.15)

Lab04-选择结构

1. 任意字符转小写字母【简单】

用户从键盘输入任意的字符,请编写程序将大写字母转换成对应的小写字母,如果用户输入的不是大写字母则输出提示信息即可。

【输入】任意字符
【输出】 小写字母/或者错误信息

【输入】B
【输出】b

【输入】3
【输出】error

【输入】t
【输出】error

#include <stdio.h>
#include <stdlib.h>

int main()
    {
        char aaa;
        scanf("%c",&aaa);
        if(65 <= aaa && aaa <= 90)
            printf("%c",aaa+32);
        else
            printf("error");
    return 0;
    }
2. 3个数的最大值【简单】

编写程序求解3个整数的最大值

【输入】3个整数
【输出】整数的最大值

e.g.
[input] 2 5 1
[output]5

#include <stdio.h>
#include <stdlib.h>

int main()
    {
        int a,b,c;
        scanf("%d %d %d",&a,&b,&c);
        if(a>=b)
            if(a>=c)
            printf("%d",a);
            else
                printf("%d",ccc);
        else if(bbb>=ccc)
        printf("%d",bbb);
        else
            printf("%d",ccc);
    return 0;
    }
3. 4个数的最大值【中等】

编写程序求解4个数的最大值

【input】4个整数
【output】最大值

e.g.
【input】1 4 6 3
【output】6

#include <stdio.h>
#include <stdlib.h>

int main()
    {
        int a,b,c,d;
        scanf("%d %d %d %d",&a,&b,&c,&d);
        if(a>=b)
            if(a>=c)
                if(a>=d)
                printf("%d",a);
                else printf("%d",d);
            else if(c>=d)
                printf("%d",c);
            else printf("%d",d);
         else if(b>=c)
                if(b>=d)
                printf("%d",b);
                else printf("%d",d);
              else if(c>=d)
                    printf("%d",c);
                else printf("%d",d);

    return 0;
    }
4. 3个数的中间值【中等】

编写程序求解3个数的中间值;若三个数中存在两个数相等的情况,则任意输出这两个数的值即可;例如:a=5;b=5;c=8;程序输出5;

【输入】3个整数
【输出】处于中间值的数

e.g.
[input] 2 5 1
[output]2

#include <stdio.h>
#include <stdlib.h>

int main()
    {
        int a,b,c;
        scanf("%d %d %d",&a,&b,&c);
        if(a>=b)
            if(b>=c)
            printf("%d",b);
            else if(c>=a)
                printf("%d",a);
                else printf("%d",c);
        else if(a>=c)
        printf("%d",a);
        else if(c>=b)
            printf("%d",b);
        else printf("%d",c);
    return 0;
    }
5. 三分支输出【简单】

有一函数
         -1 (x<0)
y={   0 (x=0)
          1 (x>0)
编写程序,输入一个x值,输出y值。
【输入】 x值(整数)
【输出】y值

e.g
【输入】 255
【输出】1

#include <stdio.h>
#include <stdlib.h>

int main()
    {
        int x,y;
        scanf("%d",&x);
        if(x>0)
            y=1;
        else
            if(x==0)
            y=0;
        else y=-1;
        printf("%d",y);
    return 0;
    }
6. 星期的输出【简单】

Switch语句:用户输入1-7表示星期的数字,请输出对应的星期说明,如输入1,输出Monday;输入7,输出 Sunday

#include <stdio.h>
#include <stdlib.h>

int main()
    {
        int day;
        scanf("%d",&day);
        switch(day)
        {
            case 1:printf("Monday");
            break;
            case 2:printf("Tuesday");
            break;
            case 3:printf("Wednesday");
            break;
            case 4:printf("Thursday");
            break;
            case 5:printf("Friday");
            break;
            case 6:printf("Saturday");
            break;
            case 7:printf("Sunday");
            break;
            default:break;
        }
    return 0;
    }
7. 元音辅音字母【简单】

Switch语句:用户输入小写字母 a,e,i,o,u,则输出原音字母,输入其他的小写字母,则输出辅音字母,小写字母之外的则输出: 输入错误;

【输入】一个字符
【输出】vowel(元音)、consonant(辅音)或者error

e.g.
【输入】a
【输出】vowel

#include <stdio.h>
#include <stdlib.h>

int main()
    {
        char letter;
        scanf("%c",&letter);
        switch(letter)
        {
            case 'a': case 'e': case 'i': case 'o': case 'u':
            printf("vowel");
            break;
            case 'b':case 'c':case 'd':case 'f':case 'g':case 'h':case 'j':case 'k':
			case 'l':case 'm':case 'n':case 'p':case 'q':case 'r':case 's':case 't':
			case 'v':case 'w':case 'x':case 'y':case 'z':
            printf("consonant");
            break;
            default: printf("error");
            break;
        }
    return 0;
    }
8. 加减乘除【简单】

编写简单的计算器执行+,-,,/的操作,例如627 ,3+6等,输出其结果;
【输入】加减乘除表达式(整数)
【输出】预算结果

e.g.
【输入】3+6=
【输出】9

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a,b;
    char c;
    scanf("%d%c%d=",&a,&c,&b);
    switch(c)
    {
    case '+':printf("%d",a+b);
    break;
    case '-':printf("%d",a-b);
    break;
    case '*':printf("%d",a*b);
    break;
    case '/':printf("%d",a/b);
    break;
    default:
    break;
    }
    return 0;
}
9. 日期翻译器【简单】

用户输入3个整数值,分别代表日、月、年。例如用户输入31 12 2003,程序就以31st December 2003的格式输出日期。
*必须在日期值的后面加上th、nd、st和rd。例如1st、2nd、3rd、4th、11th、12th、13th、14th、21st、22nd、23rd、24th

【输入】三个整数( 日、月、 年)
【输出】翻译后的日期(日 月 年)

e.g.
【输入】31 12 2003
【输出】31st December 2003

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int d,m,y;
    scanf("%d %d %d",&d,&m,&y);
    switch(d)
    {
    case 1:case 21:case 31:
        printf("%dst",d);
        break;
    case 2:case 22:
        printf("%dnd",d);
        break;
    case 3:case 23:
        printf("%drd",d);
        break;
    default:printf("%dth",d);
    break;
    }
    switch(m)
    {
        case 1:printf(" January");
        break;
        case 2:printf(" February");
        break;
        case 3:printf(" March");
        break;
        case 4:printf(" April");
        break;
        case 5:printf(" May");
        break;
        case 6:printf(" June");
        break;
        case 7:printf(" July");
        break;
        case 8:printf(" August");
        break;
        case 9:printf(" September");
        break;
        case 10:printf(" October");
        break;
        case 11:printf(" November");
        break;
        case 12:printf(" December");
        break;
		default:
		break;
    }
    printf(" %d",y);
    return 0;
}
10. 闰年【中等】

36.(选择)用户输入年和月,你的程序判断该年是否闰年,并根据给出的月份判断当前的季节和该月有多少天?闰年的条件是年份能够被4整除但不能被100整除,或者能被400整除。3-5月为春季,依此类推。答案间用空格隔开。
样例输入1:
2018 10
样例输出1:
CommonYear Autumn 31
样例输入2:
2008 8
样例输出2:
LeapYear Summer 31

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int y,m;
    scanf("%d %d",&y,&m);
    if(0==y%4 && 0!=y%100 || 0==y%400)
    {
        printf("LeapYear ");
        switch(m)
        {
        case 12:case 1:printf("Winter 31");break;
        case 2:printf("Winter 29");break;
        case 3:case 5:printf("Spring 31");break;
        case 4:printf("Spring 30");break;
        case 6:printf("Summer 30");break;
        case 7:case 8:printf("Summer 31");break;
        case 9:case 11:printf("Autumn 30");break;
        case 10:printf("Autumn 31");break;
		default:break;
        }
     }
    else
    {
    printf("CommonYear ");
    switch(m)
    {
        case 12:case 1:printf("Winter 31");break;
        case 2:printf("Winter 28");break;
        case 3:case 5:printf("Spring 31");break;
        case 4:printf("Spring 30");break;
        case 6:printf("Summer 30");break;
        case 7:case 8:printf("Summer 31");break;
        case 9:case 11:printf("Autumn 30");break;
        case 10:printf("Autumn 31");break;
		default:break;
    }
    }
    return 0;
}
11. 剪刀石头布【中等】

(选择)Alice 与 Bob 玩剪刀石头布的游戏。请你输出游戏的结果。
【输入】
两个大写字母,以空格隔开。
第一个字母代表 Alice 的选择,第一个字母代表 Bob 的选择。
S 代表剪刀,R 代表石头,C 代表布。输入中不会出现其它字符。
【输出】
一个字符串,为胜利的玩家的名称,行末没有换行。
如果 Alice 获胜,则输出 Alice ;
如果 Bob 获胜,则输出 Bob ;
如果平局,则输出 Tie 。
【样例输入】
S R
【样例输出】
Bob

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a,b;
    scanf("%c %c",&a,&b);
    if(a==b)
        printf("Tie");
    else if(a==67&&b==82 || a==82&&b==83 || a==83&&b==67)
        printf("Alice");
    else
        printf("Bob");

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值