C语言程序求纠正。。。找出一组数据中最经常出现的值
【问题描述】输入一个正整数n(1<n<=10),再输入n个整数(最小值为0,最大值为9),存放在一维数组中,统计每个值出现的次数,找到出现次数最多的值并输出。【输入形式】...
【问题描述】输入一个正整数n(1<n<=10),再输入n个整数(最小值为0,最大值为9),存放在一维数组中,统计每个值出现的次数,找到出现次数最多的值并输出。
【输入形式】
【输出形式】
【样例输入】5
3 4 2 3 1
【样例输出】3 appears 2 times
【样例说明】
【评分标准】
#include <stdio.h>
int count(int p[],int x,int m);
main(void)
{
int i,n,x,index;
int a[10],b[10];
//printf("Enter n: ");
scanf("%d", &n);
//printf("Enter %d integers: ", n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(x=0;x<n;x++)
{
b[x]=count(a,x,n);
}
index = 0;
for(i = 1; i < n; i++)
{
if(b[i] > b[index])
index = i;
}
printf("%d appears %d times",a[index],index);
return 0;
}
int count(int p[],int x,int m)
{
int num=0,i;
for(i = 0; i < m; i++)
{
if(p[i] ==p[x])
num++;
else
num=num;
}
return num;
} 展开
【输入形式】
【输出形式】
【样例输入】5
3 4 2 3 1
【样例输出】3 appears 2 times
【样例说明】
【评分标准】
#include <stdio.h>
int count(int p[],int x,int m);
main(void)
{
int i,n,x,index;
int a[10],b[10];
//printf("Enter n: ");
scanf("%d", &n);
//printf("Enter %d integers: ", n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(x=0;x<n;x++)
{
b[x]=count(a,x,n);
}
index = 0;
for(i = 1; i < n; i++)
{
if(b[i] > b[index])
index = i;
}
printf("%d appears %d times",a[index],index);
return 0;
}
int count(int p[],int x,int m)
{
int num=0,i;
for(i = 0; i < m; i++)
{
if(p[i] ==p[x])
num++;
else
num=num;
}
return num;
} 展开
2个回答
展开全部
这个题为什么说明 n个整数最小值为0,最大值为9;就是考查计数排序。快速简单, 你参考下:
#include <stdio.h>
int main(void)
{
int a[10] = {0}, m = 0, n, t;
scanf("%d", &n);
while (n--) {
scanf("%d", &t);
if (++a[t] > a[m])
m = t;
}
printf("%d appears %d times\n", m, a[m]);
return 0;
}
#include <stdio.h>
int main(void)
{
int a[10] = {0}, m = 0, n, t;
scanf("%d", &n);
while (n--) {
scanf("%d", &t);
if (++a[t] > a[m])
m = t;
}
printf("%d appears %d times\n", m, a[m]);
return 0;
}
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
#include <stdio.h>
int count(int p[],int x,int m);
main(void)
{ int i,n,x,index;
int t;
int a[10],b[10];
//printf("Enter n: ");
scanf("%d", &n);
//printf("Enter %d integers: ", n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(x=0;x<n;x++)
{
b[x]=count(a,x,n);
}
///////////////////////////////
index = 0;
for(i = 0; i < n; i++)
{
if(b[i] > b[index])
index = i;
}
for(i = 0; i < n; i++)
{
if(b[i] == b[index]&&(t!=a[i]))
{
t = a[i];
printf("%d appears %d times\n",a[i],b[i]);
}
}
return 0;
}
///////////////////////////////////
int count(int p[],int x,int m)
{
int num=0,i;
for(i = 0; i < m; i++)
{
if(p[i] ==p[x])
num++;
else
num=num;
}
return num;
}
int count(int p[],int x,int m);
main(void)
{ int i,n,x,index;
int t;
int a[10],b[10];
//printf("Enter n: ");
scanf("%d", &n);
//printf("Enter %d integers: ", n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(x=0;x<n;x++)
{
b[x]=count(a,x,n);
}
///////////////////////////////
index = 0;
for(i = 0; i < n; i++)
{
if(b[i] > b[index])
index = i;
}
for(i = 0; i < n; i++)
{
if(b[i] == b[index]&&(t!=a[i]))
{
t = a[i];
printf("%d appears %d times\n",a[i],b[i]);
}
}
return 0;
}
///////////////////////////////////
int count(int p[],int x,int m)
{
int num=0,i;
for(i = 0; i < m; i++)
{
if(p[i] ==p[x])
num++;
else
num=num;
}
return num;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询