哈工大c语言慕课答案第三周,哈尔滨工业大学c语言mooc在线测试3-12周答案.docx

本答案仅供参考

3 周

1

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

题目内容:

从键盘读入两个实数,编程计算并输出它们的平方和 ,要求使用数学函数pow(x,y) 计算平方值,输出结果

保留 2 位小数。

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

以下为程序的运行结果示例:

please input x and y:

result=

输入格式 :"%f,%f"

输出格式:

输入提示信息:"Please input x and y:\n"

输出格式: "Result=%.2f\n"

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

时间限制: 500ms 内存限制: 32000kb

#include <> <>

int main()

{

float x,y,S,D;

printf("Please input x and y:\n");

scanf("%f,%f",&x,&y);

S = pow(x,2);

D = pow(y,2);

printf("Result=%.2f\n",S+D);

return 0;

}

2

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

题目内容:

从键盘输入一个4 位数的整数,编程计算并输出它的逆序数 (忽略 整数前的 正负号 )。例如,输入-1234 ,

忽略负号,由1234 分离出其千位1、百位2、十位 3、个位 4,然后计算4*1000+3*100+2*10+1 = 4321,

并输出 4321。再将得到的逆序数4321 拆分为 两个 2 位数的正整数 43 和 21,计算并输出拆分后的两个数的

平方和 的结果。

以下是程序的运行结果示例:

Input x:

-1234 ↙

y=4321

a=43,b=21

result=2290

输入格式 :"%d"

输出格式:

输入提示信息:"Input x:\n"

逆序数输出格式:"y=%d\n"

逆序数拆分后的输出格式:"a=%d,b=%d\n"

平方和的输出格式:"result=%d\n"

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

时间限制: 500ms 内存限制: 32000kb

#include <> <>

main()

{

int x,b0,b1,b2,b3,y,a,b,c;

printf("Input x:\n");

scanf("%d",&x);

x = (int)fabs(x);/*取 x 绝对值 */

b3

= x/1000;

/*

取 x 千位 */

b2

= (x-b3*1000)/100; /*

取 x 百位 */

b1

= (x-b3*1000-b2*100)/10; /*

取 x 十位 */

b0

= x%10;

/*

取 x 个位 */

y = b3+b2*10+b1*100+b0*1000;

printf("y=%d\n",y);

a = b0*10+b1;

b = b2*10+b3;

c = (a*a)+(b*b);

printf("a=%d,b=%d\n",a,b);

printf("result=%d\n",c);

return 0;

}

3

拆分英文名( 3 分)

题目内容:

从键盘输入某同学的英文名(

小写输入,假设学生的英文名只包含

3 个字母。如 : tom),编写程序在屏幕

上输出该同学的英文名,且

首字母大写 (如 : Tom )。同时输出组成该英文名的所有英文字符

在 26 个英文

字母中的序号 。

以下为程序的运行结果示例:

Input your English name:

tom↙

Tom

t:20

o:15

m:13

输入格式 :"%c%c%c"

输出格式:

输入提示信息:"Input your English name:\n"

首字母大写的英文姓名的输出格式:"%c%c%c\n"

姓名中每个字母在26 个英文字母中的序号的输出格式:"%c:%d\n"

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

时间限制: 500ms 内存限制: 32000kb

#include <> <>

int main()

{

char x,y,z,A;

printf("Input your English name:\n");

scanf("%c%c%c\n",&x,&y,&z);

A=x-32;/*

printf("%c%c%c\n",A,y,z);

首字母改为大写

*/

printf("%c:%d\n",x,x-96);

printf("%c:%d\n",y,y-96);

printf("%c:%d\n",z,z-96)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值