p++;
for(;*p!=′\0′;p++,a++) *a=*p;
*a=′\0′; }
◆◆◆◆◆◆宏图教育◆◆◆◆◆ 【填空】程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数【答案】
void fun(char *s,char t[]) {
int i,j=0,n; n=strlen(s);
for(i=0;i<n;i++)
if(i%2!=0&&s[i]%2!=0) {
t[j]=s[i]; j++; }
{ *c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000; } ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 【填空】函数fun的功能是:将N×N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后为: 3 2 1 4 5 6 9 8 7 【答案】【1】t[][N]【2】i=0;i<N 【3】 s 【改错】由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low<high),然后用m与中间位置(mid)上元素的值进行比较。如果m的值大于中间位置元素的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中。直到low>high,查找结束。 【答案】【1】int fun(int a[],int m) 【2】else if(m>a[mid]) 【编程】假定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其它的*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容应当是ABCDEFG*******。 【答案】 void fun(char *a,char *p) { char *t=a; for(;t<=p;t++) if(*t!=′*′) *(a++)=*t; for(;*t!=′\0′;t++) *(a++)=*t; *a=′\0′; } ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 【填空】函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为正整数)的整数,并输出;符合条件的整数个数作为函数值返回。例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500,共有15个。当x值为27时,各位数字之和为27的整数是:999,只有1个。 【答案】【1】 999【2】 t/10【3】 x 【改错】函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为7654321时,t中的数为642。 【答案】【1】void fun(long s,long *t) 【2】while(s>0) 【编程】学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。 【答案】 void fun (STREC a[]) { int i,j; STREC t; for(i=1;i<N;i++) for(j=0;j<N-1;j++) if(a[j].s<a[j+1].s) {t=a[j];a[j]=a[j+1];a[j+1]=t;} } ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 【3】 &t 【改错】函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。 【答案】【1】double fun(double a,double x0) 【2】if(fabs(x1-x0)>=0.00001) 【编程】学生的记录由学号和成绩组成。N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 【答案】 double fun (STREC *a,STREC *b, int
*n)
{ int i; double av=0.0; *n=0; for(i=0;i<N;i++) av=av+a[i].s; av=av/N; for(i=0;i<N;i++) if(av<=a[i].s) { b[*n]=a[i];*n=*n+1;} return av; } ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 【填空】下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 【答案】【1】 q【2】 next【3】 next 【改错】函数fun的功能是:用选择法对数组中的n个元素进行升序排列。 【答案】【1】p=j ;【2】p=i; 【编程】编写函数fun,其功能是:将1到m之间(含m)能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。例如,若传给m的值为50,则程序输出: 7 11 14 21 22 28 33 35 42 44 49 【答案】 void fun(int m, int *a, int *n) { int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j; } ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 【填空】函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 计算后结果为 1 0 0 6 5 0 10 14 9 【答案】【1】 [N]【2】 t[i][j] 【3】 t[j][i] 【改错】函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不相等,z和y的值不相等。 例如,当x的值为9,y的值为11,z的值为15时,函数值为-3.50。 【答案】【1】#define FU(m,n) (m)/(n) 【2】return (value); 【编程】规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。 例如,字符串中的内容为:*******A*BC*DEF*G****,删除后字符串中的内容应当是:A*BC*DEF*G****。编写函数时,不得使用C语言提供的字符串函数。 【答案】 void fun (char *a) { char *p=a; fun的功能是:从文件中找出指定学号的学生数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中学生的数据,即用该学生的新数据覆盖原数据,其它学生数据指定不变;若找不到,则不做任何操作。 【答案】【1】fp 【2】 ==【3】 fp 【改错】函数fun的功能是:用插入排序法对字符串中的字符进行升序排列。插入法的基本算法是:先对头两个字符进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,……。待排序的字符串已在主函数中赋予。 【答案】【1】n=strlen( aa ) ;
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科计算机二级上机考试(7)全文阅读和word下载服务。
相关推荐: