//为什么运行出来求不了平均值
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int x;
int cnt = 0;
int numble[100];
scanf("%d", &x);
double sum = 0;
while (x != -1)
{
numble[cnt] = x;
sum += x;
cnt++;
scanf("%d", &x);
}
if (cnt > 0)
{
int i;
double average;
average = sum / cnt;
for (i = 0; i++; i < cnt)
{
if (numble[i] > average)
printf("%d/n", i);
}
}
}
把 for (i = 0; i++; i < cnt) 改为 for (i = 0; i < cnt; i++) 再试试.(因为i初识设置为0,执行if判断后,i++的值为取i的值为0,判断结束for循环,然后i的值增加一。) 修改如下:
参考链接:
C语言for循环(for语句)详解
#include<stdio.h>
int main()
{
int x;
int cnt = 0;
int numble[100];
scanf("%d", &x);
double sum = 0;
while (x != -1)
{
numble[cnt] = x;
sum += x;
cnt++;
scanf("%d", &x);
}
// for(int j=0;j<cnt;j++){
// printf("%d ",numble[j]);
// }
// printf("\n");
if (cnt > 0)
{
int i;
double average;
average = sum / cnt;
//printf("sum=%f,cnt=%d,average=%f\n",sum,cnt,average);
for (i = 0; i < cnt;i++ )
{
if (numble[i] > average){
printf("%d\n", numble[i]);
}
}
}
}
for (i = 0; i++; i < cnt)
你这喝醉酒了把,呵呵