2. 字符串排序
在主函数中输入10个不等长的字符串放入二维字符数组中,编写函数sort()利用指针数组对其排序,在主函数中输出排好序的字符串。
#include <stdio.h>
#include <string.h>
#define N 10
#define M 80
void sort(char *s[ ]);
void main()
{ char s[N][M],*strp[N];
int i;
printf("Input 10 strings:\n");
for(i=0;i<N;i++)
gets(s[i]);
for(i=0;i<N;i++)
strp[i]=s[i];
sort(strp);
printf("Output sorted strings:\n");
for(i=0;i<N;i++)
puts(strp[i]);
}
void sort(char *s[ ])
{
int i,j,k;
char *p;
for(i=0;i<N-1;i++)
{ k=i;
for(j=i+1;j<N;j++)
if(strcmp(s[k],s[j])>0)
k=j;
f(i!=j)
{ p=s[k];
s[k]=s[i];
s[i]=p;
}
}
}
3. 学生成绩统计
有一个班级30个学生5门课,编写函数实现下列功能:
(1)函数average()求第一门课的平均分;
(2)函数findfail()找出有2门以上(含2门)课程不及格的学生,输出其学
号和全部课程成绩及平均成绩;
(3)函数findgood()找出平均成绩在90分以上或全部课程成绩在85分以上
的学生。