当前位置:编程学习 > C/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);
}

上一个:C语言编译器出错?
下一个:C语言积木问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,