{
/*****found******/ if(k>0)
return (k*fun(k-1)); /*****found******/ else if(k==0) return 1L; }
3.程序设计
程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[ ][N],int n),函数的功能是:使数组左下三角元素中的值乘以n。 int fun(int a[ ][N],int n) { int i,j;
for(i=0;i a[i][j]*=n; } 第九套 1.程序填空 给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头到尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10。 第1处 q=p->next; 第2处 while(q) 第3处 p=p->next; 2.程序修改 给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换成a ),其它字符不变。 void fun(char *s) { /*****found******/ while(*s) { if(*s>’A’&&*s<=’Z’ ||*s>=’a’&&*s<=’z’) { if(*s==’Z’)*s=’A’; else if(*s==’z’)*s=’a’; else *s=*s+1;} /*****found******/ s++; } } 3.程序设计 void fun(int *w,int p, int n) { int i,j=0,b[N]; for(i=p+1;i for(i=0;i 第十套 1程序填空 给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 第1处 row=colum=0; 第2处 if((row!=colum)||(row!=m1))return 0; 第3处 return 1; 2程序修改 给定MODI1.Cfun函数的功能是:根据整型形参m,计算如下公式的值。t=1-1/2-1/3-??-1/m. #include double t = 1.0; int i; for(i=2;i<=m;i++) /********found***********/ t=t-1.0/i; /********found***********/ return t; } 3程序设计 请编写一个函数,函数的功能是删除字符串中的所有空格。 int fun(char *str) { char *p =str; int i=0; while(*p){ if(*p!=’’)str[i++]=*p; p++; } str[i]=0; } 第十一套 1程序填空 给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2、。 第1处 p=h->next; 第2处 if (p==0) return; 第3处 p=q; q=r; 2.程序修改 给定MODI1.Cfun函数的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。 # include int fun(char *s, char *t) {int n; char *p,*r; n=0; while (*s) { p=s; /*******found******/ r=t; while (*r) if(*r==*p){r++;p++;} else break; /*******found******/ if(*r==0) n++; s++; } return n; } 3程序设计 请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句供供参考。 void fun (char a[M][N]),char *b) {int i;*b=0; for(i=0;i 第十二套 1程序填空 给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第1处 NODE * fun (NODE *h) 第2处 r=q->next; 第3处 q=r; 2程序修改 给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。 #include void fun(char *s,char t[]) {int i,j=0; for(i=0;i 请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。函数fun中给出的语句仅供参考。 #include void fun (int (*s)[10],int *b, int *n, int mm, int nn) { int i,j,np=0; for(i=0;i b[np]=s[j][i]; np=i*mm+j+1; } *n=np; } 第十三套 1程序填空 给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第1处 p = h->next; 第2处 q=p->next; 第3处 if(p->data>=q->data)) 2程序修改 给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。 fun ( NODE *h) { int max=-1; NODE *p; /*******found******/ p=h->next; while(p) { if (p->data>max) max=p->data; /*******found******/ p=p->next; } return max; } 3程序设计 请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。 void fun( int (*s)[10],int *b, int *n, int mm, int nn) { int i,j,k; for(i=0;i 第十四套 1程序填空 给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在_2_处使f指向函数f1,在_3_处使f指向函数f2。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第1处 double ( *f)(); 第2处 f = f1 ; 第3处 f = f2 ; 2程序修改 给定程序MODI1.C是建立一个带头点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。 int fun(NODE *h) {int sum = 0; NODE *p; /*******found******/ p=h->next; while (p) {if(p->data%2==0) sum +=p->data; /*******found******/ p=p->next; } return sum; } 3程序设计 请编写函数fun,函数的功能是:判断字符串是否为回文?叵是,函数返回1,主函数中输出:YEX,否则返回0,主函数中输出NO。回文是指顺读t和倒读都一样的字符串。 int fun(char *str) { int i,j=strlen(str); for(i=0;i 第十五套 1程序填空 程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的背后数据覆盖原数据,其它学生数据不变;若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第1处 while(!feof(fp)) 第2处 if(n.sno==sno) break; 第3处 fseek(fp,-1L*sizeof(STU),SEEK CUR); 2程序修改 给定程序MODI1.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序,插入法的基本算法是:先对字符串中的头两个元素进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,??。待排序的字符串已在主函数中赋予。请改正函数fun中指定部位的错误,使它能得出正确的结果。 void insert(char *aa) {int i,j,n; char ch; /*******found******/ n=strlen(aa); for(i=1;i aa[j+1]=ch; } } 3程序设计 N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。 double fun ( STREC *h) { double max=h->s; STREC *p; p=h->next;
相关推荐: