C语言:输入数值输出平均值无法显示小数。程序如下望高手指点!
发布网友
发布时间:2024-10-03 18:58
我来回答
共4个回答
热心网友
时间:2024-11-04 04:11
当然显示不了小数的撒,因为你的这个语句错误了。 avge=s/n。这个语句是错误的。你要把S改为float或者double型的,就可以了。
现在两个都是整形的,而两个整形的相除不管怎么的,都是不会得到一个浮点型或者双精度型的数据的。要想得到一个double型的数据,那么你就要保证有一个数据是 double ,或者float型的数据的。。
热心网友
时间:2024-11-04 04:12
用显示类型转化就可以。
#include<stdio.h>
int main()
{
int n,i,s;
float avge;
int a[10];
printf("enter n=");
scanf("%d",&n);
s=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
s=s+a[i];
}
avge=(float)s/n;/*注意这里显示类型转化*/
printf("%f",avge);
return 0;
}
热心网友
时间:2024-11-04 04:12
s是整型 n是整型 相除还是整型 你把s和n换成浮点型的就可以了
热心网友
时间:2024-11-04 04:13
#include<stdio.h>
void main()
{
int n,i,s;
float avge;
int a[10];
printf("enter n=");
scanf("%d",&n);
s=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
s=s+a[i];
}
avge=(float)s/n;
printf("%f",avge);
}