数f用于统计每个整数的个数。在主函数中调用它,并输出统计结果。如:
若输入整数为:1 2 3 4 5 1 2
则统计结果为: 1: 2
2:2
3:1
4:1
5: 1
求助啊!!!!!
我尝试做了一下:可是好多问题!!
求大神指导啊~~
# include<stdio.h>
int main()
{
void f(int a[],int b[]);
int a[100],b[5]={0,0,0,0,0};
int i,j;
while(1)
{
for(i=0;i<100;i++)
{
printf("请输入值为1~5的整数:\n");
scanf("%d",&a[i]);
if(a[i]==-1) break;
}
void f(a,b[5]);
for(i=0;i<100;i++)
for(j=0;j<5;j++)
{
printf("统计后的结果为:\n");
printf("%d:%d\n",a[i],b[j]);
}
return 0;
}
void f(int a[],int b[])
{
int i,j;
for(i=0;i<100;i++)
{
switch(a[i])
{
case 1:b[0]=b[0]+1;break;
case 2:b[1]=b[1]+1;break;
case 3:b[2]=b[2]+1;break;
case 4:b[3]=b[3]+1;break;
case 5:b[4]=b[4]+1;break;
deault:break;
}
}
}
è¿è¡æ ·ä¾ï¼
C语言课本上说,不能对数组的大小做动态定义。
可以为不确定数字吗,怎么改给个意见啊
追答#include
void f(int b[10])
{
int temp,j;
for(int i=0;i=b[k+1])
{
temp=b[k+1];
b[k+1]=b[k];
b[k]=temp;
}
}
}
for(i=0;i<10;i++)
printf("%d ",b[i]);
printf("\n");
for(i=0;i<10;i++)
{
int sum=1;
j=b[i];
for (int k=i;k<9;k++)
{
if(j==b[k+1])
{
sum++;
i++;
}
else
{
break;
}
}
printf("%d : %d\n",b[i],sum);
}
printf("\n");
}
void main()
{
int a[10];
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
f(a);
}
就输入10个数据,然后排序下,在比较。
好像你做的跟我的问题不搭吧。。
不过还是谢谢你。