C语言课程设计题!输入一个正整数,再输入任意n个整数,计算并输出这n个整数的和及平均值。使用动态内
答案:3 悬赏:60 手机版
解决时间 2021-03-25 02:56
- 提问者网友:王者佥
- 2021-03-24 14:41
C语言课程设计题!输入一个正整数,再输入任意n个整数,计算并输出这n个整数的和及平均值。使用动态内
最佳答案
- 五星知识达人网友:白昼之月
- 2021-03-24 15:18
下面为源代码,可以自己测试(平均值结果是保留2位小数)。
#include
#include
int main()
{
int n,i,sum = 0;
scanf("%d",&n); //表示输入的数的个数
int *in = (int *)malloc(sizeof(int) * n);
for(i = 0;i < n;i++)
{
scanf("%d",in+i);
}
for(i = 0;i < n;i++)
{
sum += *(in + i);
}
printf("和为:%d,平均值为:%.2lf\n",sum,(double)sum / n);
free(in); //释放内存
return 0;
}追问最后有n加1的数吧?第一个for上面一句看不懂!追答就是分配了n个int大小的内存,来存储你下面要输入的n个数。追问可是开始是先输入一个正整数!再输入n个整数的!追答对啊,所以开始有个scanf("%d",&n); ,你在题目中不是说“动态内存分配方法为这n个整数分配空间”吗?所以int *in = (int *)malloc(sizeof(int) * n);为下面的n个整数分配内存。追问那in是什么意思呢?还最后打印时!怎么两个都是sum呢?追答in在这里面就是分配的内存的首地址,类似于数组的数组名,因为数组名实质上代表的就是地址。
打印的后面的不是sum,是sum / n ,就是平均值,前面加上了(double)进行了浮点转化,不然就和我们平时所说的平均值不太一样了。追问哦哦!谢啦!但是开始先输入一个正整数!一共就有n+1个数了!哥们in怎么声明啊!追答int *in = (int *)malloc(sizeof(int) * n);这行代码等价于
int *in;
in = (int *)malloc(sizeof(int) * n);追问今天做了!为啥运行不了!而且有错误!追答你把你的源代码发给我看下吧。追问经过四个小时的修改终于成功!能不能帮我画个流程图啊!这个我一点都不会!追答自己动手画下吧,有利于深刻理解程序。追问哥们!我不会啊!跪求!
#include
#include
int main()
{
int n,i,sum = 0;
scanf("%d",&n); //表示输入的数的个数
int *in = (int *)malloc(sizeof(int) * n);
for(i = 0;i < n;i++)
{
scanf("%d",in+i);
}
for(i = 0;i < n;i++)
{
sum += *(in + i);
}
printf("和为:%d,平均值为:%.2lf\n",sum,(double)sum / n);
free(in); //释放内存
return 0;
}追问最后有n加1的数吧?第一个for上面一句看不懂!追答就是分配了n个int大小的内存,来存储你下面要输入的n个数。追问可是开始是先输入一个正整数!再输入n个整数的!追答对啊,所以开始有个scanf("%d",&n); ,你在题目中不是说“动态内存分配方法为这n个整数分配空间”吗?所以int *in = (int *)malloc(sizeof(int) * n);为下面的n个整数分配内存。追问那in是什么意思呢?还最后打印时!怎么两个都是sum呢?追答in在这里面就是分配的内存的首地址,类似于数组的数组名,因为数组名实质上代表的就是地址。
打印的后面的不是sum,是sum / n ,就是平均值,前面加上了(double)进行了浮点转化,不然就和我们平时所说的平均值不太一样了。追问哦哦!谢啦!但是开始先输入一个正整数!一共就有n+1个数了!哥们in怎么声明啊!追答int *in = (int *)malloc(sizeof(int) * n);这行代码等价于
int *in;
in = (int *)malloc(sizeof(int) * n);追问今天做了!为啥运行不了!而且有错误!追答你把你的源代码发给我看下吧。追问经过四个小时的修改终于成功!能不能帮我画个流程图啊!这个我一点都不会!追答自己动手画下吧,有利于深刻理解程序。追问哥们!我不会啊!跪求!
全部回答
- 1楼网友:归鹤鸣
- 2021-03-24 16:04
太难了,表示已经考了三次没过
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯