实在想不懂,望纠错,本意是读入任意天数,每天有6个记录,输出每天的记录,在单独一行上输出平均值。
#include <stdio.h>#include <stdlib.h>
#include <string.h>
#define A 365
int main(void)
{
char string[A];
char *pS[A]={NULL};
int i=0;
int days=0;
int j=0;
double n=0.0;
printf("请写出你要输入的天数:");
scanf("%d",&days);
for(i=0;i<days;i++)
{
printf("请输入第%d天的温度记录:\n",i+1);
fgets(string,A,stdin);
string[strlen(string)-1]='\0';
while(j<6)
{
pS[j]=(char*)malloc(strlen(string)+1);
if(pS[j]==NULL)
{
printf("内存失败,程序终止\n");
return 1;
}
strcpy(pS[j++],string);
}
}
j=0;
for(i=0;i<days;i++)
{
printf(" 第%d天\n",i+1);
while(j<6*(i+1))
{
if((j+1)%3==0)
printf("\n");
printf("%4s",pS[j++]);
}
}
printf("\n\n");
j=0;
for(i=0;i<days;i++)
{
n=0;
for(;j<6*(i+1);j++)
{
n+=atof(pS[j]);
free(pS[j]);
pS[j]=NULL;
}
printf("\n第%d天的平均温度为%0.1f\n",i+1,n/(double)6);
}
return 0;
}