C语言程序第二次作业

(一)改错题

1.输出带框文字:在屏幕上输出以下3行信息。


Welcome


源程序

include <stido.h>

int mian()
{
printf(" ");
printf(" Welcome ")
printf("
);

return 0;

}
错误信息1:

错误原因:错把stdio.h写成了stido.h
改正方法:把stdio.h拼对就可以了
错误信息2:

错误原因:语句后面没有加封号
改正方法:在printf后加封号就可以

2.计算某个数x的平方赋给y:分别以“y = xx” 和 “xx = y” 的形式输出x和y的值。注意不要删除源程序中的任何注释。
输入输出示例(假设x的值为3)

9 = 3 * 3
3 * 3 = 9
源程序

include

int main()
{
int x,y;

y=x*x;
printf("%d = %d * %d", x);  /* 输出
printf("d * %d = %d", y); 

return 0; 

}
错误信息1:
错误原因:stdio.h拼错
改正方法:只需要把stdio.h拼对就行
错误信息2:

错误原因:输出后面没加/,printf输出时逗号左右没有相对应。
改正方法:把逗号左右相对应,输出后面加
/
错误信息3:
错误原因:没加%
改正方法:加上%就行了

错误信息3:

错误原因:没有加scanf语句
改正方法:加上scanf语句
(二)学习总结

1.不 同的数据类型,在计算机中所占内存大小是不一样的,C语言提供了sizeof运算符,可以获取数据字节数:
(1)int字节

(2)long字节

(3)float

(4)double

2.在C语言中,在头文件limits.h中,有关于各种基本数据类型的最大以及最小值的宏定义。例如,int型的最大值为INT_MAX,最小值为INT_MIN。运行下列程序,看一下结果是什么?

include <stdio.h>

include <limits.h>

int main()
{
int i,j;
i = INT_MAX;
j = INT_MIN;
printf("int类型最大值max = %d int类型最小值min = %d ",i,j);
return 0;
}
运行结果:

(1)修改程序,输出i+1,结果是什么?为什么?
运行结果:

(2)修改程序输出j-1,结果是什么?为什么?
运行结果:

为什么:
整数的值如果超过它的最大值,将发生溢出,即整数溢出。整数i就像一个汽车里程指示表,当达到最大值时,它将溢出到起始点(即最小值)。

3.运行下面的程序,输入100 144 64,看看运行结果是什么?为什么?

include <stdio.h>

int main()
{
int a,b,c;
scanf("%d%o%x",&a,&b,&c);
printf("%d %d %d ",a,b,c);
return 0;
}
运行结果:

为什么:
%o是读入八进制整数,%x是读入十六进制整数,输出时都要转化为十进制。

4.对本章其他你认为需要进行总结的内容进行总结
(1)头文件不要写错,%不要丢
(2)scanf输入时,后面要加取地址符
(3)输出完一条语句时,要加封号
(4)int为整形,float和double为浮点型,int用%d输入输出,float和double用%f来输出

(三)实验总结
我的学号尾数是单数,写的题为顺序结构中的(1)(3)(5)(9)
1.求整数均值

(1)题目
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
(2)流程图

(3)源代码

include<stdio.h>

int main(void)
{
int a,b,c,d,Sum;
double Average;
scanf("%d%d%d%d",&a,&b,&c,&d);
Sum = a + b + c + d;
Average = Sum / 4.0;
printf("Sum = %d; Average = %.1f",Sum,Average);
return 0;
}
(4)测试数据及运行结果

(5)实验分析
问题1:

原因:average没有定义成double类型,结果为2.0,不是想要的结果
解决办法:average应该定义为double类型

3.是不是太胖了
(1)题目
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤是公斤的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)
(2)流程图

(3)源代码

include<stdio.h>

int main()
{
float H=0.0,S=0.0;
scanf("%f",&H);
S=(H-100)0.92;
printf("%.1f",S);
return 0;

}

(4)测试数据及运行结果

(5)实验分析
问题1:结果没有保留一位小数
解决方法:保留一位小数为%.1f

5 计算物体自由下落的距离
(1)题目
一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒的平方
(2)流程图

(3)源代码

include<stdio.h>

int main(void)
{
float height = 0.0f,g = 10.0f, t = 3.0f;
height = g * t * t / 2;
printf("height = %.2f",height);
return 0;
}

​(4)测试数据及运行结果

  1. 逆序的三位数
    (1)题目
    程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
    (2)流程图

(3)源代码

include<stdio.h>

int main(void)
{
int a = 0,b = 0,c = 0,d = 0,e = 0;
scanf("%d",&a);
b = a % 10;
c = (a / 10)%10;
d = a / 100;
e = d + c * 10 + b * 100;
printf("%d ",e);
return 0;
}

(4)测试数据及运行结果

(5)问题:不会求个十百上的数
解决:问同学后会了

(四)PTA提交列表

原文地址:https://www.cnblogs.com/zrx--/p/7709553.html