第50题 已知学生的记录是 由学号和进修成绩造成,n名学生的信息已存入a机构体数组中.请编写函数fun,该函数的功能是 :找出成绩最高的学生记录,通过形参返回主函数(法那么只有一个最高分).
答案:
void fun(stu a[],stu *s)
{int i,max;
max=a[0].s;
for (i=0;i<n;i++)
if(a.s>max)
{max=a.s;
*s=a;}}
51:第51题 请编写函数fun,其功能是 :将全部大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回.
答案:
void fun(int m,int *k,int xx[])
{int i,j;
int t=0;
for(i=2;i<m;i++)
{j=2;
while(j<i)
{if(i%j==0)
{xx[t]=i;
t++;
break;}
j++;}
*k=t;}}
52:第52题 编写一个函数fun,它的功能是 :实现两个字符串的毗连(不使用库函数strcat),即把p2所指的字符串毗连到p1所指的字符串后.答案:
void fun(char p1[],char p2[])
{int i=0,n=0;
char *p=p1,*q=p2;
while (*p)
{p++;
n++;}
i=n;
while(*p)
{p1=*q;
q++;
i++;}
p1=‘\0’;}
53:第53题 请编写函数fun,该函数的功能是 :实现b=a+a,即把矩阵a加上a的转置,存放在矩阵b中.统计结论在main函数中输出.
答案:
void fun(int a[3][3],int b[3][3])
{int i,j,at[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
at[j]=a[j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j]=a[j]+at[j];}
54:第54题 学生的记录由学号和成绩组称个,n名学生的信息已在主函数中放入结构体数组s中,请编写函数fun,它的功能是 :把低于平均分的学生信息放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数
值返回.
答案:
double fun(strec *a,strec *b,int *n)
{double aver=0.0;
int i,j=0;
*n=0;
for (i=0;i<n;i++)
aver+=a.s;
aver=n;
for(i=0;i<n;i++)
if(a.s<aver)
{b[j]=a;
(*n)++;
j++;}
return aver;}
55:第55题 请编写函数fun,该函数的功能是 :将m行n列的二维数组中的信息,按行的次序依次放到一维数组中,一维数组中信息的个数存放在形参n所指的储存单元中.
答案:
void fun(int(s)[10],int b,int n,int mm,int nn)
{int i,j;
for(i=0;i<mm;i++)
for(j=0;j<nn;j++)
{b[n]=((s+i)+j);
n=n+1;}}
56:第56题 假定输入的字符串中只包涵字母和号.请编写函数fun,它的功能是 :除了尾部的号之外,将字母串中其他号全部删除.形参p已指向字符串中末了的一个字母.不使用c的字符串函数.
答案:
void fun(chara,char *p)
{int i=0;
char *p=a;
while(q<=p)
{if(q!=‘’)
{a=*q;
i++;}
q++;}
while(*q)
{a=*q;
i++;
q++;}
a=‘\0’;}