Code
/*
1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:
将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指定的数组中。
*/
unsigned int F1(int score[], int m, int below[])
{
int avg;
int i;
int j = 0;
for(i=0; i<m; i++)
avg += score[i];
avg /= m;
i = 0;
while(i < m)
{
if(score[i] < avg)
below[j++] = score[i];
i++;
}
return j;
}
/*
2.请编写函数fun,它的功能是:
求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,
并将他们放在a所指的数组中,通过n返回这些数的个数。
*/
int F2(int a[])
{
int i;
int n = 0;
for(i=0; i<100; i++)
{
if((i % 7 == 0 || i % 11 == 0) && i % 77 != 0)
a[n++] = i;
}
return n;
}
/*
3.请编写函数void fun(int x,int pp[],int *n),它的功能是:
求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
*/
void F3(int x, int pp[], int *n)
{
;
}
/*
4.请编写一个函数void fun(char *tt,int pp[]),
统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
*/
void F4(char *tt, int pp[])
{
int i = 0;
while(i<26)
pp[i++] = 0;
while(*tt != '\0')
pp[*tt++ - 97]++;
}
/*
5.请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:
将大于整数m且紧靠m的k个素数存入xx所指的数组中。
*/
int IsPrime(int n)
{
int i;
if(n == 1)
return 0;
for(i = 2; i < sqrt(n); i++)
if(n % i == 0)
return 0;
return 1;
}
void F5(int m, int k, int xx[])
{
int i=0;
while(i<k)
{
if( IsPrime(++m) )
xx[i++] = m;
}
}
/*
6.请编写一个函数void fun(char a[],char b[],int n),其功能是:
删除一个字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
*/
void F6(char a[], char b[], int n)
{
int i = 0;
while(a[i] != '\0')
{
if(i<n)
b[i] = a[i];
else
b[i] = a[i+1];
i++;
}
b[i] = '\0';
}
/*
1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:
将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指定的数组中。
*/
unsigned int F1(int score[], int m, int below[])
{
int avg;
int i;
int j = 0;
for(i=0; i<m; i++)
avg += score[i];
avg /= m;
i = 0;
while(i < m)
{
if(score[i] < avg)
below[j++] = score[i];
i++;
}
return j;
}
/*
2.请编写函数fun,它的功能是:
求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,
并将他们放在a所指的数组中,通过n返回这些数的个数。
*/
int F2(int a[])
{
int i;
int n = 0;
for(i=0; i<100; i++)
{
if((i % 7 == 0 || i % 11 == 0) && i % 77 != 0)
a[n++] = i;
}
return n;
}
/*
3.请编写函数void fun(int x,int pp[],int *n),它的功能是:
求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
*/
void F3(int x, int pp[], int *n)
{
;
}
/*
4.请编写一个函数void fun(char *tt,int pp[]),
统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
*/
void F4(char *tt, int pp[])
{
int i = 0;
while(i<26)
pp[i++] = 0;
while(*tt != '\0')
pp[*tt++ - 97]++;
}
/*
5.请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:
将大于整数m且紧靠m的k个素数存入xx所指的数组中。
*/
int IsPrime(int n)
{
int i;
if(n == 1)
return 0;
for(i = 2; i < sqrt(n); i++)
if(n % i == 0)
return 0;
return 1;
}
void F5(int m, int k, int xx[])
{
int i=0;
while(i<k)
{
if( IsPrime(++m) )
xx[i++] = m;
}
}
/*
6.请编写一个函数void fun(char a[],char b[],int n),其功能是:
删除一个字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
*/
void F6(char a[], char b[], int n)
{
int i = 0;
while(a[i] != '\0')
{
if(i<n)
b[i] = a[i];
else
b[i] = a[i+1];
i++;
}
b[i] = '\0';
}