c primer plus--数据和C(第3章)--习题

以前觉得看书不如看视频教程,但随着学习倒发觉视频不如书来得细致,比如打印sizeof()函数时用的%u,以前看视频时老师也只说要用%u,也不太清楚为什么要用这个,只知道记住就得了。虽然视频比较方便,但学着学着就会想知道原理之类的东西,这些天看完本章内容所说此处指unsigned,这才明白缘由。

果然我看书是真的慢(手动狗头)

 

第三章  数据和C----3.11 编程练习

1.通过试验的方法(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。

(此题在本章的3.4.6小节“四、浮点数的上溢和下溢”中有例,故略过)

2.编写一个程序,要求输入一个ASCII码值(如66),然后输出相应的字符。

 1 #include <stdio.h>
 2 int main(void)
 3 {
 4     int asc_num;
 5     char asc_sign;
 6     printf("Please get a number of ascii: ");
 7     scanf("%d", &asc_num);
 8     asc_sign = asc_num;
 9     printf("%c", asc_sign);
10     return 0;
11 }

3.编写一个程序,发出警报声,并打印下列文字:

  Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that ! "

1 #include <stdio.h>
2 int main(void)
3 {
4     printf("\aStartled by the sudden sound, Sally shouted, \"By the Great Pumpkin, what was that! \"");
5     return 0;
6 }

4.编写一个程序,读入一个浮点数,并分别以小数形式和指数形式打印。输出应如同下面格式(实际显示的指数位数也许因系统而不同):

  The input is 21.290000 or 2.129000e+001.

1 #include <stdio.h>
2 int main(void)
3 {
4     float float_num;
5     scanf("%f", &float_num);
6     printf("The input is %f or %e .", float_num, float_num);
7     return 0;
8 }

5.一年约有3.156x10^7 s。编写一个程序,要求输入您的年龄,然后显示该年龄合多少秒。

 1 #include <stdio.h>
 2 int main(void)
 3 {
 4     int age;
 5     float seconds;
 6     scanf("%d", &age);
 7     seconds = age*3.156e7;
 8     printf("%f", seconds);
 9     return 0;
10 }

6.1个水分子的质量约为3.0x10^-23 g,1夸脱水大约有950g。编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少个水分子。

 1 #include <stdio.h>
 2 int main(void)
 3 {
 4     float quart, water_number;
 5     int quality_1 =950;
 6     double quality_2 = 3.0*10e-23;
 7     scanf("%f", &quart);
 8     water_number = quart*quality_1/quality_2;
 9     printf("%f", water_number);
10     return 0;
11 }

7.1英寸等于2.54 cm。编写一个程序,要求输入您的身高(以英寸为单位),然后显示该身高值等于多少厘米。

  如果您愿意,也可以要求以厘米为单位输入身高,然后以英寸为单位进行显示。

方案一:英寸— >厘米

 1 #include <stdio.h>
 2 int main(void)
 3 {
 4     float height;
 5     float inch = 2.54;
 6     float stature;                // stature身高
 7     printf("Please input your height: ");
 8     scanf("%f", &height);
 9     stature = height*inch;
10     printf("%f", stature);
11     return 0;
12 }

方案二:厘米— >英寸

 1 #include <stdio.h>
 2 int main(void)
 3 {
 4     float height, stature;        // height为身高(英寸), stature为身高(厘米) 
 5     float inch = 2.54;
 6     printf("Please input your stature: ");
 7     scanf("%f", &stature);
 8     height = stature/inch;
 9     printf("%f", height);
10     return 0;
11 }

 

posted @ 2018-10-28 18:15  UltraMaple  阅读(351)  评论(0)    收藏  举报