代码输出错误
题目要求读入任意天数的浮点数温度,每天6个。温度记录在动态分配内存的数组中,数组大小刚好等于输入的温度数。计算每天平均温度并输出,然后输出每天的温度记录。
程序的输出有问题。。。(setbuf(stdin,NULL);作用是清空输入缓冲区,linux上用的)
程序代码:#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main()
{
int day_num=1;
float **p=malloc(day_num*sizeof(float*));
char con;
while(1)
{
p[day_num]=malloc(6*sizeof(float));
setbuf(stdin,NULL);
for(int i=0;i<6;i++)
scanf("%f",(p[day_num]+i));
printf("continue?(y or n)");
setbuf(stdin,NULL);
scanf("%c",&con);
con=tolower(con);
if(con=='n')
break;
else if(con=='y')
{
day_num++;
p=realloc(p,day_num*sizeof(float*));
}
else
{
printf("input error\n");
return 0;
}
}
for(int i=0;i<day_num;i++)
printf("%d:%f-%f,%f,%f,%f,%f,%f\n",i+1,(p[i][0]+p[i][1]+p[i][2]+p[i][3]+p[i][4]+p[i][5])/6,p[i][0],p[i][1],p[i][2],p[i][3],p[i][4],p[i][5]);
}
[此贴子已经被作者于2016-8-25 09:48编辑过]

