这是第二周的 难度区别于第一周

1 输出逆序数

题目内容:
从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3X100+2X10+1 = 321,并输出321。

提示:
1. 从键盘输入数据可以使用函数scanf()。例如,scanf("%d", &x); 表示从键盘输入整数并存入整形变量x中。
2. 利用取绝对值函数fabs()忽略输入数据的负号。fabs(x)表示计算变量x的绝对值。
3. 使用数学函数,需要在程序开头加上编译预处理指令 #include <math.h>

这里没有体现要求中的使用绝对值函数fabs(),而是用了一个while循环。虽然很low但是依然可以通过测试拿到3分。请大家参考。

#include <stdio.h>
int main()
{
printf("Input x:\n");
int x,a,b,c;
scanf("%d",&x);   while (x < 0){       x = x * -1 ;}
a = x % 10 ;
b=x%100/10;
c=x/100;
printf("y=%d\n",a*100+b*10+c);return 0;
}

2 计算总分和平均数

题目内容:
小明本学期共有5门课程,分别是英语、语文、数学、历史和音乐。5科的期中考试成绩分别是86分、74分、92分、77分、82分,期末考试成绩分别是81分、87分、90分、62分、88分。已知期中和期末考试成绩分别占总成绩的30%和70%。定义相应的变量存放各科成绩,并计算出小明5门课程的总分和平均分。要求平均分输出两种形式:带2位小数的浮点数形式和不带小数的整数形式。要求总分输出带2位小数的浮点数形式。程序中浮点数的数据类型均为float类型。

提示:
输出不带小数的平均分的整数形式可以使用强制类型转换。

这里使用了关于数组的知识,定义了两个分别包含5个元素的数组,然后使用了一个if循环进行遍历。

#include<stdio.h>
int main()
{int a[5]={86,74,92,77,82};int b[5]={81,87,90,62,88};
float result=0,result1=0,result2=0;
for(int i=0;i<5;i++){       result1+=a[i];      result2+=b[i];}
result=result1*0.3+result2*0.7;
printf("total=%.2f\n",result);
printf("average=%.2f\n",result/5.0);
printf("average=%d\n",(int)result/5);return 0;
}

3 存款利率计算器V1.0

题目内容:
设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit。程序中所有浮点数的数据类型均为double类型。

提示:

  1. 从键盘输入数据可以使用函数scanf()。本例中为scanf("%lf,%d,%lf", &rate, &n, &capital);
  2. 本程序最终计算的是复利。
  3. 计算幂的数学函数为pow(a,n), 代表a的n次幂。
  4. 使用数学函数,需要在程序开头加上编译预处理指令 #include <math.h>

此处不知道为何总是无法直接显示代码块,而添加了引用却可以。。。

#include<stdio.h>
#include <math.h>
int main()
{
double capital,deposit,rate;
int year;
printf( "Please enter rate, year, capital:\n");
scanf("%lf,%d,%lf", &rate, &year, &capital);
deposit=capital*pow(1+rate,year);
printf("deposit=%.3f\n",deposit);
return 0;
}

4 数位拆分v1.0

题目内容:
现有一个4位数的正整数n=4321(即n是一个已知的数,固定为4321),编写程序将其拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的加、减、乘、除和求余的结果。例如n=4321,设拆分后的两个整数为a,b,则a=43,b=21。除法运算结果要求精确到小数点后2位,数据类型为float。

位拆分的输出格式:“a=%d,b=%d\n”
加法运算的输出格式:“a+b=%d\n”
减法运算的输出格式:"a-b=%d\n"乘法运算的输出格式:“a*b=%d\n”
除法运算的输出格式:“a/b=%.2f\n”
求余运算的输出格式:“a%%b=%d\n”

程序的运行结果示例:
a=43,b=21a+b=64a-b=22a*b=903a/b=2.05a%b=1

由于题目要求除法运算结果精确到小数点后2位,数据类型为float,所以第12行进行了强制类型转换。将a或者b乘以1.0也可以达到相同的目的。

#include<stdio.h>
#include <math.h>
int main()
{
int x=4321,a,b;
a=x/100;
b=x%100;
printf("a=%d,b=%d\n",a,b);
printf("a+b=%d\n",a+b);
printf("a-b=%d\n",a-b);
printf("a*b=%d\n",a*b);
printf("a/b=%.2f\n",(float)a/b);
printf("a%%b=%d\n",a%b);
return 0;
}

5 求正/负余数

题目内容:
在C语言中,如果被除数为负值,则对一个正数求余的时候,求出的余数也是一个负数。在某些场合下,我们需要求出它的正余数,例如:在C语言中有(-11)%5=-1,但是有时我们希望得到的余数不是-1,而是4。请编写程序计算(-11)%5的负余数和正余数。
负余数的输出格式:“negative: %d\n”
正余数的输出格式:“positive: %d\n”

正余数就是余数加除数

#include<stdio.h>
int main()
{printf("negative: %d\n",-11%5);printf("positive: %d\n",-11%5+5);return 0;
}

6 身高预测

题目内容:
已知小明(男孩)爸爸的身高是175厘米,妈妈的身高是162厘米。小红(女孩)爸爸的身高是169厘米,妈妈的身高是153厘米,按照下面公式,预测并输出小明和小红的遗传身高(不考虑后天因素)。

男性成人时身高=(faHeight + moHeight)×0.54cm
女性成人时身高=(faHeight×0.923 + moHeight)/2cm

小明身高的输出格式:“Height of xiao ming:%d\n”
小红身高的输出格式:“Height of xiao hong:%d\n”

这里将类型强转成了整型 int,注意代码中括号的使用。

#include<stdio.h>
int main()
{int mf=175,mm=162,hf=169,hm=153;printf("Height of xiao ming:%d\n",(int)((mf + mm)*0.54));printf("Height of xiao hong:%d\n",(int)((hf*0.923 + hm)/2));return 0;
}

7 求一元二次方程的根

#include<stdio.h>
#include<math.h>
int main()
{int a=2,b=3,c=1;double x1,x2;    x1=-b/2.0/a;x2=sqrt(b*b-4*a*c)/2.0/a;   printf("x1=%.4f\n",x1+x2);printf("x2=%.4f\n",x1-x2);   return 0;
}

至此第二周的学习就结束了,下周见。

中国大学(慕课)哈工大C语言程序设计精髓练兵区第二周相关推荐

  1. 哈工大c语言编程题中国大学mooc第四周,中国大学MOOC哈工大C语言程序设计精髓第六周编程题答案.doc...

    下面代码的功能是将百分制成绩转换为 5 分制成绩,具体功能是: 如果用户输入的是 非法 字符或者不在合理区间内的数据 (例如输入的是 a,或者 102 ,或-45 等),则程序输出 Input err ...

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

    1 二分法求根(4分) 题目内容: 用二分法求下面的一元三次方程在区间[-10, 10]上误差不大于的根. 用二分法求方程的根的基本原理是:若函数有实根,则函数曲线应当在根x*这一点上与x轴有一个交点 ...

  3. 中国大学MOOC哈工大C语言程序设计第9周编程题在线测试

    中国大学MOOC哈工大C语言程序设计第9周编程题在线测试 1.重复数字检查(4分) 题目内容: 从键盘输入一个数,检查这个数中是否有重复出现的数字.如果这个数中有重复出现的数字,则显示"Re ...

  4. 浙大翁恺pat练习题_中国大学MOOC-翁恺-C语言-PAT习题及解答-第二周

    中国大学MOOC-翁恺-C语言-PAT习题及解答-第二周 02-0. 整数四则运算 输入格式:输入在一行中给出2个正整数A和B. 输出格式:在4行中按照格式"A 运算符 B = 结果&quo ...

  5. 0098 高级程序设计 c语言 在线作业,中国大学MOOC(C语言程序设计精髓)作业

    第七周 在线编程题 1.n层嵌套平方根的计算(4分) 题目内容: 编写程序利用递归法实现如下所示n层嵌套平方根的计算: 递归函数原型:double Y(double x, int n): 程序运行结果 ...

  6. 慕课哈工大C语言程序设计精髓-课后练习

    第2周--数字间的那些事儿,做点计算哈 编程题选做 总是犯错的地方:(1)scanf的&有的时候会忘记 (2) scanf("%lf,%d,%lf",&rate, ...

  7. 中国大学MOOC-翁恺-C语言程序设计PAT习题集(第二章)

    02-0. 整数四则运算 本题要求编写程序,计算2个正整数的和.差.积.商并输出.题目保证输入和输出全部在整型范围内. 输入格式: 输入在一行中给出2个正整数A和B. 输出格式: 在4行中按照格式&q ...

  8. 哈工大C语言程序设计精髓MOOC 第十三周编程题

    第13周--原来内存也可以这么玩,我是指针我怕谁 练兵区--编程题--不计入总分 2寻找最高分成绩的学生(4分) 题目内容: 下面程序的功能是用动态数组编程输入任意m个班学生(每班n个学生)的某门课的 ...

  9. 查询出编号长度大于4的code_中国大学MOOC-翁恺-C语言程序设计习题集-解答汇总...

    中国大学MOOC-翁恺-C语言程序设计习题集 PAT 习题集c++ 02-0. 整数四则运算(10) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Stan ...

最新文章

  1. 2018未来科学大奖揭晓:袁隆平、马大为、林本坚等7位科学家获奖
  2. flutter 应用场景_Flutter混合开发的路由栈管理
  3. css文件的MIME错误引发的Jquery Mobile绘制错误
  4. Linux中Buffer和Cache的区别
  5. 基因组中的趣事(一):这个基因编码98种转录本
  6. 【java学习之路】(java框架)002.Git配置及使用
  7. matlab中的ftell函数,Matlab之文件操作函数fclose | ferror | fopen | frewind | fseek | ftell函数...
  8. 学计算机数理化不好怎么办,数理化不好怎么办?3招教你学好数理化!
  9. Windows下的IIS日志管理
  10. 安全面试之WEB安全(一)
  11. vue---隐藏登录页面导航栏,登录成功跳转页面出现导航栏
  12. 浙江大学计算机保研条件_2020年计算机系保研推免记录(浙江大学软件学院)...
  13. 【HenCoder】HTTPS 为什么是安全的
  14. service两种启动方式的区别
  15. 单片机_MFRC522射频模块使用方法(含代码)
  16. 《Microduino实战》——2.4 Microduino WRT系列
  17. LTSPICE仿真那些事
  18. [附源码]Node.js计算机毕业设计高校运动会管理系统Express
  19. 框架复习(一):不如写个tiny-Spring?(完整版)
  20. python 地图偏移_python 地图经纬度转换、纠偏的实例代码 百度地图经纬度web纠偏怎么用...

热门文章

  1. 防抖和节流——lodash插件
  2. oracle导入导出单个表的办法,oracle导入导出单个表的办法
  3. postfix CentOS 7.0
  4. 根据cadence设计图学习硬件知识day05 了解一些芯片
  5. centos 7 搭建wordpress 网站
  6. SAP中锁定事务代码
  7. JS中函数传参按照值传递
  8. 离线语音识别芯片-开发指南及芯片规格介绍
  9. 怎么把模糊照片修复清晰?分享两个修复图片小技巧
  10. android隐藏开发者选项,开发人员选项怎么关闭?安卓手机开发人员选项功能隐藏方法介绍...