代码输出错误
题目要求读入任意天数的浮点数温度,每天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编辑过]