C语言编程问题
用C语言编写程序输入一组数据,只用空格作分隔符,当输入“回车”时,输出这组数据的平均值和众数(重复次数最多的数)。
补充:不好意思,补充一句,输入的全是整数,要求输出这组数据的平均值和众数(重复次数最多的数)。
追问: 还是谢谢你了。 输入的是一组实数,要找出众数的简单一点的方法有吗?麻烦了哈,分数一定会给你的哈。。。
用C语言编写程序输入一组数据,只用空格作分隔符,当输入“回车”时,输出这组数据的平均值和众数(重复次数最多的数)。
补充:不好意思,补充一句,输入的全是整数,要求输出这组数据的平均值和众数(重复次数最多的数)。
追问: 还是谢谢你了。 输入的是一组实数,要找出众数的简单一点的方法有吗?麻烦了哈,分数一定会给你的哈。。。
答案:只能输入整数,但平均数可以是小数,众数的话不太好弄,明天给你写出来#include<stdio.h>
void main()
{
char Cnum[256][256];
int Inum[256];
int i,j,sum,Isum=0;
float avg,Fsum,b;
for(i=0;;i++)
{
for(j=0;;j++)
{
scanf("%c",&Cnum[i][j]);
if(Cnum[i][j]==' '||Cnum[i][j]=='\n')
{
break;
}
}
if(Cnum[i][j]=='\n')
{
sum=i;
break;
}
}
for(i=0;i<=sum;i++)
{
Inum[i]=atoi(Cnum[i]);
Isum=Isum+Inum[i];
}
Fsum=(float)Isum;
j=sum+1;
b=(float)j;
avg=Fsum/b;
printf("平均数是%f\n",avg);
}写的代码如下:
#include <stdio.h>
void main()
{
char ch;
int avg=0;
while ((ch=getchar())!='\n')
{
if (ch!=' ')
{
avg+=ch-'0';
}
}
printf("%d\n",avg);
}