C语言刚入门,题目有图片,题目看的不太懂,求答案有详细过程

56.请写出以下程序的输出结果。(4 分)
# include < stdio. h>
struct xscj
{
int no;
float cj1;
float cj2;
float cj3;
};
void main( )
{
int i;
struct xscj xs[]={{1,60,61},{2,70,71}};
for(i=0;i< 2;i++ )
{
xs[i]. cj3= (xs[i].cjl+xs[i]. cj2)/2;
printf("%5.lf\n",xs[i].cj3);
}
}

这个程序是创建一个储存成绩的结构体变量,然后再创建两个具体的结构体变量的实例,创建的时候输入的序号和两个成绩,然后用循环算出每一个结体变量的第三个成绩,第三个成绩是前两个成绩的平均值

如果是打印格式5.lf,那就是楼上的结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-07

xs[i].cj3= (xs[i].cj1+xs[i].cj2)/2;

计算 cj1 和 cj2 的平均数,结果存入cj3

第2个回答  2020-11-07
61
71
这个61的前面还有三个空格。本题的关键在于格式化输出%5.lf指的是整数部分占5个字符,实数部分不保留所以需要四舍五入。121/2+0.5=61
71同上。
相似回答