第六十一套
1 程序填空
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。第1处if (std[i].year==year)
第2处k[n++]=std[i];
第3处return (n);
1程序修改
给定程序MODI1.C中函数fun的功能是:读入一个整数k(2≤k≤10000)打印它的所有质因子(即所有为素数的因子)。
/**found**/
IsPrime (int n)
/**found**/
if (!(n%i))
2程序设计
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。
fun(STU a[],STU *s)
{
int i, max = a[0]. s, j=0;
for (i=1; i { if (max j=i; max =a[i].s; } *s=a[j]; } 第六十二套 1程序填空 给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如:若N=3有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后: 3 2 1 4 5 6 9 8 7 第1处void fun (int t [] [N], int n) 第2处for (i=0; i 第3处t [i] [n-i-1]=s; 2 程序修改 由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1.折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low﹤high),然后把m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之前的元素中。直到low﹥high,查找结束。 /**found**/ fun (int a [], int m) /**found**/ else if (m>a [mid]) 3 程序设计 假定输入的字符串中只包含字母和*号,请编写函数fun,它的的功能是:除了尾部的*号之外,将字符串中其他*全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 void fun (char *a,char *p) { char *q=a; int j=0; while (*q&&q if (*q!=' *') a[j++]=*q; q++; } while (*p) a [j++] = *p++; a [j]=0; } 第六十三套 1 程序填空 给定程序中,函数fun的功能是;求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共M个字符串,且串长﹤N。 第1处for (i=0;i 第2处if (len<*n) 第3处return(k); 2 程序修改 给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。 /**found**/ if (( ' a ' <=tt[i])&&(tt[i] <= ' z ' )) /**found**/ tt[ i ]- =32; 3程序设计 请编写函数fun,函数的功能是:将所有大于1小于整数m的非素数存入xx所知数组中,非素数的个数通过k传回。 void fun (int m, int *k, int xx[]) { int i , cnt=0; for (i=0; i if (isP(i)) xx [cnt++]=i; *k=cnt; } 第六十四套 1 程序填空 给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。Ss所指字符串数组中共有M个字符,且串长﹤N。 第1处for (j=i+1; j 第2处k=j; 第3处strcpy (ss[k], t); 2 程序修改 给定程序MODI1.C中函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同:若相同,什么也不做,则将其插在串的最后。 2 /**found**/ if (*str! =ch) /**found**/ str [1]=0; 3 程序设计 请编写一个函数fun(chae*s),函数的功能是把s所指的字符串中的内容逆置。 fun (char *s) { char b[N]; int i=0, j; meset (b,0,N); for (j=strlen(s)-1; j>=0; j--) b [i++]=s[j]; strcpy (s,b); } 第六十五套 1程序填空 给定程序中,函数fun的功能是:计算下式前5项的和作为函数值返回。S=1×3/22-3×5/42+5×7/62-……+(-1)n-1(2×n-1)×(2×n+1)/(2×n)2例如,当形参n 的值为10时,函数返回:-0.204491。 第1处k=1; 第2处t=2*j; 第3处k=k*(-1); 2 程序修改 给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0. /**found**/ K++; /**found**/ if (m==k) 3 程序设计 请编写一个函授fun,它的功能是:找出一维整数组元素中最大的值和他所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x 是数组名,n是x中的数据个数,max存放在大值,index存放最大值所在元素的下标。 void fun (int a[], int n, int *max, int *d) { int i; *max=a[0];*d=0;