{
int i;
long sn=0,m=0; for(i=0;i m=m*10+a; sn+=m; } return sn; } (3)从十个字符串中找出所要的某个字符串,若能找到则把他删除,然后输出新字符串;若未找到则输出“”can not fond”. (9分) #include char s[10][80]; char s2[80]; int i,j; int num=0; printf(\ for(i=0;i<10;i++) gets(s[i]); printf(\ gets(s2); for(i=0;i<10;i++) { if(strcmp(s[i],s2)==0) { for(j=i;j<9-num;j++) { strcpy(s[j],s[j+1]); } i--; num++; } } for(i=0;i<10-num;i++) puts(s[i]); } (4)一个班有N个同学,修5门课从键盘输入他们的性名、学号、性别和成绩。 1)按平均成绩从高到底打印全班的成绩单。 2)求第三门课的平均分 3)找出平均分在90以上或全部功课在85以上的女生。 要求:输入、输出、计算、排序和查找分别用函数实现,主函数只是调用这些函数。不得使用全局变量。 #include char name[20]; int number; int sex; float score[5]; float aver; }; void Input(struct Student *stu); void Average(struct Student *stu,float *aver); void Sort(struct Student *stu); void Search(struct Student *stu,float score); main() { struct Student stu[N]; float score=85.0; float aver3; Input(stu); Sort(stu); Average(stu,&aver3); printf(\ Search(stu,score); } void Input(struct Student *stu) { int i,j; float aver=0; for(i=0;i aver=0; printf(\ gets(stu[i].name); printf(\ scanf(\ printf(\ for(j=0;j<5;j++) { scanf(\ aver +=stu[i].score[j]; } stu[i].aver = aver/5; getchar(); } } void Sort(struct Student *stu) { int i,j; struct Student temp; for(i=0;i for(j=i+1;j if(stu[i].aver temp=stu[i]; stu[i]=stu[j]; stu[j]=temp; } } } printf(\ for(i=0;i printf(\\ stu[i].name, stu[i].number, stu[i].sex, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].score[4], stu[i].aver); } } void Average(struct Student *stu,float *average3) { float sum3=0; int i; for(i=0;i sum3 += stu[i].score[2]; *average3=sum3/N; } void Search(struct Student *stu,float score) { int i,j; int flag =1; printf(\ printf(\ for(i=0;i for(j=0;j<5;j++) flag = flag&&(stu[i].score[j]>score); if(stu[i].aver>90.0&&flag) { printf(\\ stu[i].name, stu[i].number, stu[i].sex, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].score[4], stu[i].aver); } } printf(\}