MOOC哈工大2020C语言程序设计精髓练兵区编程题第三周

1 日期显示(3分)

题目内容:

编写一个程序, 接收用户录入的日期信息并且将其显示出来. 其中, 输入日期的形式为月/日/年(mm/dd/yy), 输出日期的形式为年月日(yy.mm.dd)

#include <stdio.h>

int main(){
    int year,month,day;
    printf("Enter a date (mm/dd/yy):\n");
    scanf("%d/%d/%d",&month,&day,&year);
    printf("You entered the date: %04d.%02d.%02d\n",year,month,day);
    return 0;
}

2 产品信息格式化(3分)

题目内容:

编写一个程序, 对用户录入的产品信息进行格式化。

int main(){
    int year,month,day,item;
    float price;
    printf("Enter item number:\n");
    scanf("%d",&item);
    printf("Enter unit price:\n");
    scanf("%f",&price);
    printf("Enter purchase date (mm/dd/yy):\n");
    scanf("%d/%d/%d",&month,&day,&year);
    printf("Item      Unit     Purchase\n");
    printf("%-9d$ %-9.2f%02d%02d%04d\n",item,price,month,day,year);
    return 0;
}

 

3 计算两个数的平方和(3分)

题目内容:

键盘读入两个实数,编程计算并输出它们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。 程序中所有浮点数的数据类型均为float。

提示:使用数学函数需要在程序中加入编译预处理命令 #include <math.h>

int main(){
    float x,y;
    printf("Please input x and y:\n");
    scanf("%f,%f",&x,&y);
    printf("Result=%.2f\n",pow(x,2.0) + pow(y,2.0));
    return 0;
}

4 逆序数的拆分计算(3分)

题目内容:

从键盘输入一个4位数的整数,编程计算并输出它的逆序数忽略整数前的正负号)。例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*1000+3*100+2*10+1 = 4321,并输出4321。再将得到的逆序数4321拆分为两个2位数正整数43和21,计算并输出拆分后的两个数的平方和的结果。

int main(){
    int x;
    printf("Input x:\n");
    scanf("%d",&x);
    //绝对值
    x = fabs(x);
    if(x >= 1000 && x  <= 9999){
        int a,b,c,d,e,f;
        //千位
        a = x / 1000;
        //百位
        b = (x / 100) % 10;
        //十位
        c = (x % 100) / 10;
        //个位
        d = x % 10;
        e = d * 10 + c;
        f = b * 10 + a;
        printf("y=%d\n",d * 1000 + c * 100 + b * 10 + a);
        printf("a=%d,b=%d\n",e,f);
        printf("result=%d\n",(int)(pow(e,2) + pow(f,2)));
    } else{
        printf("输入不合法!!!");
    }
    return 0;
}

5 拆分英文名(3分)

题目内容:

从键盘输入某同学的英文名(小写输入,假设学生的英文名只包含3个字母。如: tom),编写程序在屏幕上输出该同学的英文名,且首字母大写(如: Tom)。同时输出组成该英文名的所有英文字符在26个英文字母中的序号

int main(){
    char a,b,c;
    printf("Input your English name:\n");
    scanf("%c%c%c",&a,&b,&c);
    printf("%c%c%c\n",a - 32,b,c);
    printf("%c:%d\n",a,a - 96);
    printf("%c:%d\n",b,b - 96);
    printf("%c:%d\n",c,c - 96);
    return 0;
}

6 计算体指数(3分)

题目内容:

从键盘输入某人的身高(以厘米为单位,如174cm)和体重(以公斤为单位,如70公斤),将身高(以为单位,如1.74m)和体重(以为单位,如140斤)输出在屏幕上,并按照以下公式计算并输出体指数,要求结果保留到小数点后2位。程序中所有浮点数的数据类型均为float。

假设体重为w公斤,身高为h米,则体指数的计算公式为:

               

int main(){
    int weight,height;
    float h;
    printf("Input weight, height:\n");
    scanf("%d,%d",&weight,&height);
    printf("weight=%d\n",weight * 2);
    h = height / 100.0;
    printf("height=%.2f\n",h);
    printf("t=%.2f\n",weight / h / h);
    return 0;
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值