#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define SIZE 10
void fun 1(int a[],int size 1);
void fun 2(int a[],int b);
int main( void )
{
int a[SIZE]={80,61,40,83,50,92,89,68,45,37,88};
char string 1[]="The book costs $80";
char string2[30];
int i;
float pi=3.14159;
printf("F:%f F:%10.5f\n"pi,pi/100);
printf("a:%d,b:%d\n",a[5],a[1+7]);
printf("c:%c,d:%\n",string1[0],string1[4]);
fun1(a,SIZE);
fun2(a,SIZE);
print("Data");
for(i=0;i<SIZE;i++){
printf("%3d",a[i]);
}
printf("\n");
getchar();
return 0;
}
void fun1(int a[],int size1)
{
int frequency[10]={0};
int num,i;
for(i=0;i<size1;i++){
num=a[i]/10;
++frequency[num];
}
for(i=0;i<10;i++){
printf("%d:%d",i,frequency[i]);
}
puts("");
}
void fun2(int a[],const intb)
{
int pass;
int j;
int hold;
for(pass=1;pass<SIZE;pass++){
for(j=0;j<SIZE-1;j++){
if(a[j]>a[j+1]){
hold=a[j];
a[j]=a[j+1];
a[j+1]=hold;
}
}
}
}
你把他复制到编译器里不就知道了
如果fun1函数是用于统计数组a里面数字0-9出现的次数,然后fun2函数是用于排序数组a的话,修改如下:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define SIZE 10
void fun1(int a[],int size );
void fun2(int a[],int b);
int main( void )
{
int a[SIZE]={80,61,40,83,50,92,89,68,45,37};
char string1[]="The book costs $80";
char string2[30];
int i;
float pi=3.14159;
printf("F:%f F:%10.5f\n",pi,pi/100);
printf("a:%d,b:%d\n",a[5],a[1+7]);
printf("c:%c,d:%c\n",string1[0],string1[4]);
fun1(a,SIZE);
fun2(a,SIZE);
printf("Data");
for(i=0;i<SIZE;i++){
printf("%3d",a[i]);
}
printf("\n");
getchar();
return 0;
}
void fun1(int a[],int size1)
{
int frequency[10]={0};
int num,i;
for(i=0;i<size1;i++){ //统计a数组里面数字0-1出现的次数吗?如果是的,修改如下
num=a[i]%10;
++frequency[num];
num=a[i]/10%10;
++frequency[num];
}
for(i=0;i<10;i++){
printf("%d:%d\n",i,frequency[i]);
}
puts("");
}
void fun2(int a[],const int b) //这个是用于排序数组a吗?
{
int pass;
int j;
int hold;
for(pass=0;pass<SIZE-1;pass++){
for(j=pass;j<SIZE;j++){
if(a[pass]>a[j]){
hold=a[pass];
a[pass]=a[j];
a[j]=hold;
}
}
}
}