*******fOnd*水*冰*水/ a[i+1]=a[i] return n-1 ain {intw[N={-3,0,1,5,7,99,10,15,30,90},x,n,i printf( The original data: n") for(i=0; i<n;i++)printf ("%5d", w[i]) printf ("iNput x (to delete): ) scanf"%d",&x) printf(Delete: %dn", x) n=fun(w, n, x) if (n==-1) printf("*>le*Nor be found! =ke*nn) else printf( the data after deleted: n") for (i=0, i<n; i++) printf ("%5d", w[i]): printf ("nn") 6、下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。t=1-1/(2 ×2)-1/(3×3)-…-1/(m×m) 例如,若m中的值为5,则应输出:0.536389 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <conio. h> #include <stdio double fun (int m) int l /*****水* found******/ /*****水** found******/ return(y) int n=5 cIrscro printf( \nRhe result is %1f\n", fun(n)) 唯C动力(htp:/www.clearner.net)版权所有
第 6 页 共 75 页 唯 C 动力(http://www.clearner.net)版权所有 /**********found***********/ a[i+1]=a[i]; return n-1; } } main() {int w[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i; n=10; printf("The original data:n"); for (i=0;i<n;i++) printf("%5d",w[i]); printf("nInput x (to delete):");scanf("%d",&x); printf("Delete:%dn",x); n=fun(w,n,x); if (n==-1) printf("***Nor be found!***nn"); else {printf("The data after deleted:n"); for (i=0,i<n;i++) printf("%5d",w[i]);printf("nn"); } } 6、下列给定程序中,函数 fun 的功能是:根据整型形参 m 的值,计算如下公式的值。t=1-1/(2 ×2)-1/(3×3)-…-1/(m×m) 例如,若 m 中的值为 5,则应输出:0.536389。 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <conio.h> #include <stdio.h> double fun (int m) { double y=1.0; int i; /**********found***********/ for (i=2;i<m;i++) /**********found***********/ y-=1/(i*i); return(y); } main () {int n=5; clrscr(); printf("\nRhe result is %1f\n",fun(n)); }
第7页共75页 7、下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序 进行排序。 请改正程序中的错误,使程序能得出正确的结果 注意,不要改多main函数,不得增行或删行,也不得更改程序的结构! 试题程序 #include <stdio. h> #definen 20 void fun (int a[, int n) I int i, j, t, p for (j=0: j<n-1: j++) /*水***水** found***率水*/ for (i=j: i, n; i++) if (ali]alp]) /*****水** found*****/ t=alp]: alp]=alj]: a[j]=t main inta[N]={9,6,8,3,-1},i,m=5 printf("排序前的数据:") for (i=0; i<m: i++) printf(%d, ali): printf ("\n") fun(a, m) printf("排序后的数据:") for(i=0: i<m; i++) printf ("%d, a[i): printf("\n") 8、下列给定程序中,函数fun的功能是:在字符串str中找出 ASCII码值最大的字符,将 其放在第一个位置上;并将该字符前的原字符向后顺序移动。例如,调用fun函数之前给字 符串输入: ABCDefgh,调用后字符串中的内容为 eABCDFGH 请改正程序中的错误,使程序能得出正确的结果 注意,不要改多main函数,不得增行或删行,也不得更改程序的结构! 试题程序 #include <stdio. h> i char max, aq: int i=0 maxp[i] while(phil! =0) 唯C动力(htp:/www.clearner.net)版权所有
第 7 页 共 75 页 唯 C 动力(http://www.clearner.net)版权所有 7、下列给定程序中,函数 fun 的功能是:用选择法对数组中的 n 个元素按从小到大的顺序 进行排序。 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #define N 20 void fun(int a[],int n) { int i,j,t,p; for (j=0;j<n-1;j++) /**********found***********/ {p=j for (i=j;i,n;i++) if (a[i]<a[p]) /**********found***********/ p=j; t=a[p];a[p]=a[j];a[j]=t; } } main() { int a[N]={9,6,8,3,-1},i,m=5; printf("排序前的数据:"); for (i=0;i<m;i++) printf("%d",a[i]);printf("\n"); fun(a,m); printf("排序后的数据:"); for (i=0;i<m;i++) printf("%d",a[i]);printf("\n"); } 8、下列给定程序中,函数 fun 的功能是:在字符串 str 中找出 ASCII 码值最大的字符,将 其放在第一个位置上;并将该字符前的原字符向后顺序移动。例如,调用 fun 函数之前给字 符串输入:ABCDeFGH,调用后字符串中的内容为 eABCDFGH。 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> fun(char *p) { char max,*q;int i=0; max=p[i]; while(p[i]!=0)
第8页共75页 t if(maxpli]) Imax=p[i] /****冰水** found***水*/ /*****水* found******/ hile(ap) {*q=*(q-1) p[0]= maino (char str[80] printf( Enter a string: ) gets(Str) printf ("\nThe original string ) puts(Str) fun(str) printf( \nThe string agter moving: ) puts (str): ptintf( \n\n") 9、下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人 数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如,若输入8名 学生的成绩 80.5607290.59851.58864 则低于平均分的学生人数为4(平均分为:75.5625)。 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多main函数,不得增行或删行,也不得更改程序的结构! 试题程序 #include <conio. h #include <stdio. h #definen 20 int fun (float *s, int n, float *aver) Float ave, t=0. 0 int count=0k i for(k=0; k<n: k++) found*******/ ave=t for (i=0: i<n: i++) 唯C动力(htp:/www.clearner.net)版权所有
第 8 页 共 75 页 唯 C 动力(http://www.clearner.net)版权所有 { if(max<p[i]) {max=p[i]; /**********found***********/ p=q+i; } i++; } /**********found***********/ while(q<p) {*q=*(q-1); q--; } p[0]=max; } main() {char str[80]; printf("Enter a string:");gets(Str); printf("\nThe original string: ");puts(Str); fun(str); printf("\nThe string agter moving:");puts (str);ptintf("\n\n"); } 9、下列给定程序中,函数 fun 的功能是:从 n 个学生的成绩中统计出低于平均分的学生人 数,此人数由函数值返回,平均分存放在形参 aver 所指的存储单元中。例如,若输入 8 名 学生的成绩: 80.5 60 72 90.5 98 51.5 88 64 则低于平均分的学生人数为 4(平均分为:75.5625)。 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <conio.h> #include <stdio.h> #define N 20 int fun (float *s,int n,float *aver) {float ave,t=0.0; int count=0,k,i; for (k=0;k<n;k++) /**********found***********/ t=s[k]; ave=t/n; for (i=0;i<n;i++)
第9页共75页 f (sli]<ave)count++ /**水***** found水****冰水 *aver=Rave return count Float s[30], aver Int m, printf ("nPlease enter m: scanf(%d, &m) printf ("nPlease enter %d mark: n, m) for (i=0: i<m: i++) scanf(%f", s+i) printf ("nThe number of students: %dn", fun(s, m, &aver)) printf ("Ave=%fn", aver) 10、下列给定程序中,函数fun的功能是:将s所指字符串中出现的t1所指子串全部替换 成t2所指子字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符 串的长度相同。例如,当s所指字符产中的内容为 abcdabfab,t1所指子串中的内容为ab t2所指子串中的内容为99时,结果,在2所指的数组中内容应为99cd99f99 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多main函数,不得增行或删行,也不得更改程序的结构! 试题程序 #include<conio. h> #include<stdio. h int fun (char *s, char *tl, char*t2, char*w) int char *p, r, *a: /****冰水** found***水*/ if(*r==*p){x+;p++} else break hile(*r){*a=*r;a++;r++} 唯C动力(htp:/www.clearner.net)版权所有
第 9 页 共 75 页 唯 C 动力(http://www.clearner.net)版权所有 if (s[i]<ave) count++; /**********found***********/ *aver=&ave; return count; } main() {float s[30],aver; int m,i; clrscr(); printf("nPlease enter m:";scanf("%d",&m); printf("nPlease enter %d mark:n",m); for (i=0;i<m;i++) scanf("%f",s+i); printf("nThe number of students:%dn",fun(s,m,&aver)); printf("Ave=%fn",aver); ) 10、下列给定程序中,函数 fun 的功能是:将 s 所指字符串中出现的 t1 所指子串全部替换 成 t2 所指子字符串,所形成的新串放在 w 所指的数组中。在此处,要求 t1 和 t2 所指字符 串的长度相同。例如,当 s 所指字符产中的内容为 abcdabfab,t1 所指子串中的内容为 ab, t2 所指子串中的内容为 99 时,结果,在 2 所指的数组中内容应为 99cd99f99。 请改正程序中的错误,使程序能得出正确的结果。 注意,不要改多 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<conio.h> #include<stdio.h> #include<string.h> int fun (char *s, char *t1,char*t2,char*w) { int i; char *p,*r,*a; strcpy(w,s); while(*w) {p=w;r=t1; /**********found***********/ while(r) if(*r==*p) {r++;p++} else break; if(*r=='') {a=w;r=t2; /**********found***********/ while(*r){*a=*r;a++;r++}
第10页共75页 w+=strlen(t2) main char s[100],t1[100],t2[00],w[100] clrscr o printf("nPlease enter string S: ) scanf("%s", s) printf ("nPlease enter string t1: ) scanf (%s", t1) printf( nPlease enter string t2: ) scanf ("%s", t2) if (strlen(t1)==strlen(t2)) printf (" nThe result is: %sn", w) else printf(Error: strlen(t1)!=strlen(t2)n") 11、下列给定的程序中,函数fun的功能是将一个由八进制数字字符组成的字符串转换为与 其面值相等的十进制整数。规定属土的字符串最多只能包含5位8进制数字。例如,若输入 77777,则输出将是32767。 请改正程序中的错误,使它能得到正确的结果 注意不要改动main函数不得增行或删行,也不得更改程序的结构 试题程序 #include<stdio h> int fun( char *p) /*水***水** found**率*/ /*****水** found****/ while(pl=0 maino i char s[6]; int i; int n printf("Er if(strlen(s)5)(printf( "Error: String too longer n\n"); exit(O); r(i=0,s[i++) 唯C动力(htp:/www.clearner.net)版权所有
第 10 页 共 75 页 唯 C 动力(http://www.clearner.net)版权所有 w+=strlen(t2); } else w++; } } main() { char s[100],t1[100],t2[100],w[100]; clrscr(); printf("nPlease enter string S:");scanf("%s",s); printf("nPlease enter string t1:");scanf("%s",t1); printf("nPlease enter string t2:");scanf("%s",t2); if (strlen(t1)==strlen(t2)) { printf("nThe result is :%sn",w); } else printf("Error:strlen(t1)!=strlen(t2)n"); } 11、下列给定的程序中,函数 fun 的功能是:将一个由八进制数字字符组成的字符串转换为与 其面值相等的十进制整数。规定属土的字符串最多只能包含 5 位 8 进制数字。例如,若输入 77777,则输出将是 32767。 请改正程序中的错误,使它能得到正确的结果. 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> int fun(char *p) /**********found**********/ { int n; n=*p-‘o’; p++; /**********found**********/ while(*p!=0) { n=n*7+*p-‘o’; p++; } return n; } main() { char s[6]; int i; int n; printf(“Enter a srting (ocaral digits ):”);gets(s); if(strlen(s)>5){printf(“Error: String too longer !|\n\n”);exit(0);} for(i=0;s[i];i++)