有没有帅哥美女帮我看看这段代码有什么问题为啥
average的输出老是0
#include
int main()
{
int sum=0;
int cnt,i,t,x;
double average;
printf("请输入你要输入的数字的数量");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
while(cnt>0){
cnt--;
scanf("%d",&x);
number[cnt]=x;
sum+=x;
}
average=sum/t;
for(i=0;i<t;i++){
if(average"%d,",number[i]);
}
printf("average=%d\n",average);
}
}
return 0;
}
sum和t都是整数,相除是整除啊。改为sum*1.0/t
另外20行%d改为%f
int sum=0;
int cnt,i,t,x;
double average;
printf("请输入你要输入的数字的数量");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
while(cnt>0){
cnt--;
scanf("%d",&x);
number[cnt]=x;
sum+=x;
}
average=sum*1.0/t;
for(i=0;i<t;i++){
if(average<number[i]){
printf("%d,",number[i]);
}
printf("average=%f\n",average);
}
}
return 0;
``#include<stdio.h>
#define n 10
int main() {
int x,cnt=0;
float ave,sum=0;
int a[n];
scanf("请输入任意十个整数,以回车结束:\n");
for(x=0;x<n;x++){
scanf("%d",&a[x]);
sum+=a[x];
}
ave = sum/10;
printf("平均值为:%f\n",ave);
for(x=0;x<n;x++){
if(a[x]>ave){
cnt++;
}
}
printf("超过平均数的整数个数:%d",cnt);
return 0;
}
#include <stdio.h>
int main()
{
int sum=0;
int cnt,i,t,x;
double average;
printf("请输入你要输入的数字的数量");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
while(cnt>0){
cnt--;
scanf("%d",&x);
number[cnt]=x;
sum+=x;
}
average=(float)sum/t;
for(i=0;i<t;i++){
if(average<number[i]){
printf("%d,",number[i]);
}
printf("average=%f\n",average);
}
}
return 0;
}
这段代码的问题在于:
#include<stdio.h>
int main(){
int sum=0;
int cnt,i,t,x;
double average;
printf("请输入你要输入的数字的数量:");
scanf("%d",&cnt);
int number[cnt];
t=cnt;
if(cnt>0){
while(cnt>0){
cnt--;
scanf("%d",&x);
number[cnt]=x;
sum+=x;
}
average=sum*1.0/t;
for(i=0;i<t;i++){
if(average<number[i]){
printf("%d,",number[i]);
}
printf("average=%lf\n",average);
}
}
return 0;
}
```