PTA MOOC选择结构

自我记录 仅供参考

目录

7-1 能买手机吗?

7-2 判断输入的字符是哪种类型

7-3 判断BMI指数

7-4 输出英文字母的前驱和后继字母

7-1 能买手机吗?(10分)

小吴同学想换一部手机,希望自己自力更生获得。于是,小吴准备暑假兼职获取酬劳。今天看到一则招聘启示,薪资标准为:每周工作40小时以内,每小时基本工资20元;超出时间为加班,每小时工资翻倍。公司规定,每周加班不能超过10小时。 现在,小

吴想知道,若在此公司工作,要在一个月内(4周)挣到购买手机的资金,需要工作的时长。请你编写一个程序,替小吴算算,购买不同的手机需要加班的最短时长。

输入格式:

输入小吴想买的手机价格Price,Price为正整数。

输出格式:

给出是否需要加班的结论。若需要加班,给出需加班时长(整数)。并给出是否能购买此手机的建议。

#include <stdio.h>

int main()
{
    int price,time;
    scanf("%d",&price);

    int s=3200,s1;

    if(price<=3200)
        printf("不需加班,可购买");
    if(price>4800)
    {
        price=price-s;
        time=price/40;
        s1=price%40;
        if(s1==0)
        printf("需加班%d小时,买不起",time);
        else printf("需加班%d小时,买不起",time+1);
    }
    if(price>3200&&price<=4800)
    {
        price=price-s;
        time=price/40;
        s1=price%40;
        if(s1==0)
        printf("需加班%d小时,可购买",time);
        else printf("需加班%d小时,可购买",time+1);
    }

    return 0;
}

7-2 判断输入的字符是哪种类型 (15 分)

通过键盘输入一个字符,编程判断并输出用户输入的是什么类型的字符。

输入格式:

输入一个字符。

输出格式:

在一行中输出该字符是哪种类型的字符。

  • 若用户输入字符为'0''9'之间,输出This is a digit.
  • 若用户输入字符在'A''Z'之间,输出This is a capital letter.
  • 若用户输入字符在'a''z'之间,输出This is a small letter.
  • 其他情况,输出Other character.
#include <stdio.h>

int main()
{
    char c;
    scanf("%c",&c);

    if(c>='0'&&c<='9')printf("This is a digit.");
    else if(c>='A'&&c<='Z')printf("This is a capital letter.");
    else if(c>='a'&&c<='z')printf("This is a small letter.");
    else printf("Other character.");

return 0;
}

 

7-3 判断BMI指数 (15 分)

BMI指数(Body Mass Index,即身体质量指数),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。本题要求根据输入的身高与体重,计算对应的BMI指数,并给出相应的结论。

输入格式:

输入在一行中依次给出2个浮点数,分别对应身高(单位:米)与体重(单位:公斤),中间用空格间隔。

输出格式:

按如下格式输出对应的BMI指数(保留一位小数)与结论

BMI = BMI计算结果
结论

其中结论的输出规则如下:

  • BMI<18.5,输出"Under Weight"
  • 18.5 ≤ BMI < 24,输出"Normal"
  • 24 ≤ BMI < 28,输出"Over Weight"
  • 28 ≤ BMI < 32,输出"Fat"
  • BMI ≥ 32,输出"Too Fat"
#include <stdio.h>
#include <math.h>

int main(){

    float h,w,b;
    scanf("%f %f",&h,&w);

    b=w/pow(h,2);
    /*
    BMI<18.5,输出"Under Weight"
    18.5 ≤ BMI < 24,输出"Normal"
    24 ≤ BMI < 28,输出"Over Weight"
    28 ≤ BMI < 32,输出"Fat"
    BMI ≥ 32,输出"Too Fat"
*/
    printf("BMI = %.1f\n",b);
    if(b<18.5)printf("Under Weight");
    if(b>=18.5&&b<24)printf("Normal");
    if(b>=24&&b<28)printf("Over Weight");
    if(b>=28&&b<32)printf("Fat");
    if(b>32)printf("Too Fat");

return 0;
}

 

7-4 输出英文字母的前驱和后继字母 (10 分)

从键盘输入一个英文字母,输出其前驱字母(即前一个字母)、后继字母(即后一个字母)及其ASCII值。比如输入的字母是b,则前驱字母是a,后继字母是c。而如果输入的字母是a,则前驱字母是z,后继字母是b;如果输入的字母是z,则前驱字母是y,后继字母是a。大写字母的前驱后继字母求法与小写字母相同。

输入格式:

输入一个英文字母。

输出格式:

第一行输出该字母的前驱字母及其ASCII值,第二行输出后继字母及其ASCII值,字母与ASCII值之间用一个空格分隔。

#include <stdio.h>
#include <math.h>

int main(){

    char a2,a1,a3;
    scanf("%c",&a2);

    a1=a2-1;
    a3=a2+1;

    if(a2=='a')a1='z';
    if(a2=='A')a1='Z';
    if(a2=='z')a3='a';
    if(a2=='Z')a3='A';
                  

    printf("%c %d\n",a1,a1);
    printf("%c %d",a3,a3);

       

return 0;
}

 

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值