C语言 for语句循环求N个数的最大值最小值 平均值 出现错误
发布网友
发布时间:2022-04-25 20:10
我来回答
共4个回答
热心网友
时间:2022-06-17 01:35
题主原代码问题挺多的,以下为完整正确代码,原问题详见注释
#include <stdio.h>
#include <conio.h>
#define ARR_LEN 255
int main (void) {
int i, n, min, max;
int salary[ARR_LEN]; /* 需要存储多名员工的薪资,所以要用到数组 */
float average; /* 平均值最好定义为浮点数 */
int all = 0;
printf ("请输入员工数\n");
scanf ("%d", &n);
printf ("输入%d个员工工资:\n", n);
for (i=0; i<n; i++) {
scanf ("%d", &salary[i]);
all += salary[i];
}
max = min = salary[0]; /* 题主原代码salary仅为最后输入的员工薪资,后续逻辑无法实现 */
for (i=0; i<n; i++) { /* 题主原代码写成了i=1,这样就少统计了一个员工 */
if (salary[i]>max)
max = salary[i];
else if (salary[i]<min)
min = salary[i];
}
average = (float)all/n; /* 注意转换成浮点数,否则两整数相除,并非四舍五入,而是截断小数点后内容 */
printf ("最高工资 / 最低工资 / 平均工资:%d %d %f \n", min, max, average);
getch (); /*屏幕暂留*/
return 0;
}
追问scanf("%d",&salary);
all=max=min=salary;
for(i=1;i<n;i++)
{
scanf("%d",&salary);
all+=salary;
if(min<salary)
min=salary;
else max=salary;
} 这样就好啦 你这个有点复杂 不过谢谢你让我学到了新的东西
热心网友
时间:2022-06-17 01:36
没上机尝试 但是大概思路是这样
热心网友
时间:2022-06-17 01:36
#include "stdio.h"struct number{float value;//值struct number *next;//指向后继};struct number *head = NULL;//头指针struct number *p1;//活动指针struct number *p2;//尾指针float max,min,sum,count;
对于不带返回值的函数,用void定义函数为无类型(空类型); 函数调用:按函数在程序中出现的位置来分,可以分为三种调用方式。 函数的嵌套调用c语言不可嵌套定义函数,函数之间是平等的,但可以嵌套调用函数。 用截距法求方程 #include#include define function ffloatf(float x){ float y; y=((x-5)*x+16)*x-80...追问你这个是什么?
热心网友
时间:2022-06-17 01:37