填空题
请补充函数proc(),该函数的功能是:交换数组aa中最大和最小两个元素的位置,结果依然保存在原数组中,其他元素位置不变。注意数组aa中没有相同元素。
例如,输入10,20,30,40,50,60,70.80,90,56,则输出90,20,30,40,50,60,70,80,10,56。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 10
void proc(int aa[])
int i, t;
int max=0, min=0;
for(i=0; i<M; i++)
if( (1) )
max=i;
if( (2) )
min=i;
t=aa[max];
(3) ;
aa[min]=t;
void main()
int i;
int aa[M]=10, 20, 30, 40, 50, 60, 70, 80, 90, 56;
system("CLS");
printf("\n***original list***\n");
for(i=0; i<M; i++)
printf("gad", aa[i]);
proc(aa);
printf("\n***new list***\n");
for(i=0; i<M; i++)
printf("%4d", aa[i]);
【参考答案】
aa[min]>aar[i]
热门
试题
问答题
学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组S中,请编写函数proc(),它的功能是:函数返回指定学号的学生数据,指定的序号在主函数中输入。若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容。 试题程序: #include<string.h> #include<stdio.h> #include<stdlib.h> 世define M 16 typedef struct char num[10]; int s; STREC; STREC proc(STREC a, char *b) void main() STREC stu[M]= GA005 , 85, GA003 , 76, GA002 , 69, GA004 , 85, ( GA001 , 91, GA007 , 72, GA008 , 64, GA006 , 87, GA015 , 85, GA013 , 91, GA012 , 64, GA014 , 91, GA011 , 77, GA017 , 64 GA018 , 64, GA016 , 72; STREC h; char m[10]; int i; printf( The original data: n ); for(i=0; i<M; i++) if(i%4==0) printf( n ); 每行输出4个学生记录 printf( %s %3d , stu[i]. num, stu[i]. s); printf( n nEnter the number: ); gets(m); h=proc(stu, m); printf( The data: ); printf( n%s %4d n , h.num, h.s); printf( n );