谁可以帮我改一下这个C语言程序

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:13:42
我检查了,没有错,但是输入数的时候有错,不知道哪位高手可以帮我修改一下,让它运行得,也可以输出结果,谢谢
这个是关于众数的问题,如果有好的,也可以给我一个,但是我要看懂才得
#include<stdio.h>
#include<string.h>
#include<iostream.h>
#include<conio.h>
#define M 100
int a[M],b[M];
void main()
{
int n=0,i,j,k=0,a[M],b[M],max=0;
for(i=0;i<n;i++)
b[i]=0;
printf("请输入S的个数:");
scanf("%s",n);
printf("分别输入集合S的元素");
for(i=0;i<n;i++)
scanf("%s",a[i]);

for(i=0;i<n;i++)
{for(j=0;j<n;j++)
{ if (a[i]==a[j])
b[i]++;
}
}
max=b[0];
for(i=0;i<n;i++)
{if (b[i]<b[i+1])
{ max=b[i+1];
k=i+1;
}
}
printf("该集合的众数是 ",a[k]);
printf("重数是",max);
}

//---------------------------------------------------------------------------
#include<stdio.h>
#include<string.h>
//#include<iostream.h> /*无用*/
#include<conio.h>
#define M 100
//int a[M],b[M]; /*无用*/
void main()
{
int n=0,i,j,k=0,a[M],b[M],max=0;
for(i=0;i<M;i++) /*注意这里*/
b[i]=0;
printf("请输入S的个数:");
scanf("%d",&n); /*注意这里*/
printf("分别输入集合S的元素");
for(i=0;i<n;i++)
scanf("%d",&a[i]); /*注意这里*/

for(i=0;i<n;i++)
{for(j=0;j<n;j++)
{ if (a[i]==a[j])
b[i]++;
}
}
max=b[0];
for(i=0;i<n;i++)
{if (b[i]<b[i+1])
{ max=b[i+1];
k=i+1;
}
}
printf("该集合的众数是 %d\n",a[k]); /*注意这里*/
printf("重数是 %d\n",max); /*注意这里*/
}
//-----------