#include
#include
#define Size 10
//数组num中放了整数,输出所有不同的数据值及其在该数组中各自出现的次数
struct data
{
int a;
int count;
};
int main()
{
int i,j,k,m,n;
int a=0;
int max=Size;
int count=0;
int num[Size];
int st[Size][2];
printf("请初始化一维数组:");
for(i=0;i<Size;i++)
{
scanf("%d",&num[i]);
}
for(j=0;j<Size;j++)
{
int flag=0;
for(m=0;m<Size;m++)
{
if(num[j]==st[m][0])
{
max--;
flag=1;
break;
}
}
if(flag)
{
continue;
}
for(k=j;k<Size;k++)
{
if(num[j]==num[k])
{
st[a][0]=num[j];
count++;
}
}
st[a][1]=count;
a++;
count=0;
}
for(n=0;n<max;n++)
{
printf("%d出现的次数是%d\n",st[n][0],st[n][1]);
}
代码没整合,懒得看了,。,,,
看结果也没有啥问题。。。不知道楼主要问啥。。
我试了一下你的代码,你把中间部分代码删了不就行了嘛?
#include <stdio.h>
#include <stdlib.h>
#define Size 10
//数组num中放了整数,输出所有不同的数据值及其在该数组中各自出现的次数
struct data
{
int a;
int count;
};
int main()
{
int i,j,k,m,n;
int a=0;
int max=Size;
int count=0;
int num[Size];
int st[Size][2];
printf("请初始化一维数组:");
for(i=0; i<Size; i++)
{
scanf("%d",&num[i]);
}
for(j=0; j<Size; j++)
{
for(k=j; k<Size; k++)
{
if(num[j]==num[k])
{
st[a][0]=num[j];
count++;
}
}
st[a][1]=count;
a++;
count=0;
}
for(n=0; n<max; n++)
{
printf("%d出现的次数是%d\n",st[n][0],st[n][1]);
}
}
结果有问题,88出现了,但是代码太乱了,不想看
可以注销或者重启电脑,然后点击Build ----- Rebuild Solutions菜单,重新试试。
如果对您有帮助,请采纳答案好吗,谢谢!