用内存动态分配记录每天的6个浮点温度,并求平均温度

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
//1,开辟每天的温度和天数内存,平均温度2,输入温度,并把温度放入天上3,计算平均温度
int main()
{
int tian = 0;
int shiji = tian + 1;
int mei = 6;
doublepmei = (double)malloc(mei* sizeof(double));
doubleptian = (double)calloc(shiji, sizeof(double*));
doubleppingju = (double)malloc(shiji * sizeof(double));
double sum = 0.0;
double pingju = 0.0;
int n = 0;
char jixu;
//输入6个温度,计算平均值
printf(“请输入第1天的温度:\n”);
do {
while (true)
{
scanf("%lf", &pmei[n]);
sum = sum + pmei[n];
n++;
if (n == 6)
break;
}
//平均温度
pingju = sum / 6;
//平均温度放入平均温度数组
ppingju[shiji-1] = pingju;
//把输入的温度放入天数
ptian[shiji-1] = pmei;
//判断是否继续增加天数
printf("\n是否继续输入第%d天的温度?y/n\n",shiji+1);
getchar();
scanf("%c", &jixu);
getchar();
if (tolower(jixu) == ‘y’)
{
shiji++;
pmei = (double*)malloc(mei * sizeof(double));
ptian = (double**)realloc(ptian, shijisizeof(double));
ppingju = (double*)realloc(ppingju,shiji * sizeof(double));
n = 0;
sum = 0.0;
}
} while (tolower(jixu)==‘y’);

for (int i = 0; i <shiji; ++i)
{
	printf("第%d天的温度分别为:\n", i+1);
	for (int j = 0; j < 6; ++j)
		printf("%-4.1f", ptian[i][j]);
	printf("\n第%d天平均温度为:\n",i+1);
	printf("%-4.1f\n", ppingju[i]);
}
for (int i = 0; i < shiji; ++i)
{
	free(ptian[i]);
	ptian[i] = NULL;
}
free(ptian);
ptian = NULL;
free(ppingju);
ppingju = NULL;

system("pause");
return 0;

}

发布了21 篇原创文章 · 获赞 0 · 访问量 357

猜你喜欢

转载自blog.csdn.net/gaoxingzhe/article/details/104854673
今日推荐