版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上机考试题参考答案gfedcba1、编一个函数 fun(char *s), 函数的功能是把字符串中的内容逆置。 例子如:字符串中原有的内容为: abcdefg ,则调用该函数后,串中的内容为: 试题程序:#define N 10 fun(char *s) int i=0,t,n=strlen(s);for(;s+is+n-1-i;i+) t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;main() char aN;clrscr(); printf(Enter a string:); gets(a);printf(The original string is:);
2、puts(a);fun(a);printf(n);printf(The string after modified:); puts(a);2、写程序,实现矩阵( 3行 3列)的转置(即行列互换)。int fun(int array33) int i,j,t;for(i=0;i2;i+) for(j=i+1;j3;j+)t=arrayij;arrayij=arrayji;arrayji=t;main() int i,j;int array33=100,200,300,400,500,600,700,800,900;clrscr();for(i=0;i3;i+)for(j=0;j3;j+)prin
3、tf(%7d,arrayij);printf(n);fun(array);printf(Converted array:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);3、请编一个函数 fun(int *a,int n,int *odd,int *even) ,函数的功能是分别求出数组中所有奇数 之和以及所有偶数之和。 形参 n 给了数组中数据的个数:利用指针 odd 返回奇数之和, 利用指针 even 返回 偶数之和例如:数组中的值依次为: 1,8,2, 3,11, 6;则利用指针 odd 返回奇数之和 24;利用指针
4、 even 返 回偶数之和 8。试题程序。fun(int *a,int n,int *odd,int *even) int i; *even=0;*odd=0;for(i=0;in;i+)if(!(ai%2)*even+=ai;else*odd+=ai;main() int a6=1,9,2,3,11,6,i,n=6,odd,even;clrscr();printf(The original data is:n);for(i=0;in;i+) printf(%5d,*(a+i);printf(nn);fun(a,n,&odd,&even);printf(The sum of odd numbe
5、rs:%dn,odd);printf(The sum of even number:%dn,even);4、要求程序的功能是:把 20 个随机数存入一个数组,然后输出该数组中的最小值。其中确定最小值 的下标的操作在 fun 函数中实现,请给出该函数的定义。试题程序。#define VSIZE 20int fun(int list,int size) int i,j=0;for(i=1;isize;i+)if(listilistj)j=i;return j;main()int i;int vectorVSIZE;clrscr();for(i=0;i=2)位的 整数,函数求出 w 的后 n-1 位
6、的数作为函数值返回。例如: w值为 5923,则函数返回 923;w值为 923 则函数返回 23。试题程序。unsigned fun( unsigned w ) if(w=10000) return w%10000;if(w=1000) return w%1000;if(w=100) return w%100;return w%10;main() unsigned x;printf( enter a unsigned integer number : );scanf( %u,&x);if(x10) printf(data error!);else printf (the result :%u
7、n, fun(x);8、编写函数 int fun(int lim,int aaMAX),该函数的功能是求出小于 lim 的所有素数并放在 aa数组中,该函数返回所求出素数的个数。试题程序。#define MAX 100int fun( int lim, int aaMAX) int i,j=0,k;for( k=2; klim; k+) for( i=2; i=k) aaj+=k;return j;main() int limit,i,sum;int aaMAX;printf(n input a integer number:);scanf( %d,&limit);sum=fun(limit,
8、aa);for(i=0; isum; i+) if(i%10=0&i!=0)printf(n);printf(%5d, aai);9、请编写函数 fun ,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值 在主函数中赋予。试题程序。#define M 4#define N 5int fun(int aMN)int sum=0,i;for(i=0;iN;i+)sum+=a0i+aM-1i;for(i=1;iM-1;i+)sum+=ai0+aiN-1;return sum ;main() int aaMN=1,3,5,7,9,2,9,9,9,4,6,9,9,9,8,1,3,5,
9、7,0;int i,j,y;clrscr();printf(The original data is :n);for(i=0;iM;i+)for(j=0;jN;j+) printf(%6d,aaij); printf(n);y=fun(aa);printf(nThe sum: %dn,y);printf(n);5 个字符按降序排列10、请编写函数 fun ,对长度为 7 个字符的字符串,除首、尾字符外,将其余 例如,原来的字符串为 CEAedca,排序后输出为 CedcEAa。试题程序。int fun(char *s,int num) int i,j,t;for(i=1;inum-2;i+)f
10、or(j=i+1;jnum-1;j+)if(sisj) t=si;si=sj;sj=t;main() char s10;clrscr();printf( 输入 7 个字符的字符串 :);gets(s);fun(s,7);printf(n%s,s);11、请编一函数 void fun(int ttMN,int ppN) ,tt 指向一个 M行 N 列的二维数组,求出二维 数组每列中最小元素,并依次放入 pp 所指一维数组中,二维数组中的数已在主函数中赋予。试题程序。#define M 3#define N 4void fun(int ttMN,int ppN) int i, j;for(i=0;
11、iN;i+) ppi=tt0i;for(j=0;jM;j+)if(ttjippi) ppi=ttji;main() int tMN= 22,45,56,30,19,33,45,38,20,22,66,40;int pN,i,j,k;clrscr();printf(the original data is:n);for(i=0;iM;i+)for(j=0;jN;j+)printf(%6d,tij);printf(n);fun(t,p);printf(nthe result is:n);for(k=0;kN;k+)printf(%4d,pk);printf(n);max传回该串地12、写一个函数,
12、 从传入的 num个字符串中找出最长的一个字符串, 并通过形参指针 址。(注意:用 * 作为结束输入的标志。)试题程序。fun(char (*a)81, int num,char *max) char *p=a0;int i;for(i=1;istrlen(p)p=ai;*max=p;main() char ss1081,*ps;int n,i=0;clrscr();printf(enter string:n);gets(ssi);puts(ssi);while(!strcmp(ssi,*)=0)i+;gets(ssi);puts(ssi);n=i;fun(ss,n,&ps);printf(n
13、max=%sn,ps);13、请编一个函数 fun ,其中 n 所指存储单元中存放了数组中元素的个数。函数的功能是:删除所有 值为 y 的元素。数组元素中的值和 y 的值由主函数通过健盘读入。试题程序。#define M 20void fun (int bb, int *n,int y) int i,j=0;for( i=0; i*n; i+)if(bbi!=y) bbj+=bbi;*n=j;main() int aaM,n,y,k;printf(nplease enter n:);scanf(%d,&n);printf(nenter %d positive number:n, n);for(
14、 k=0; kn; k+) scanf( %d,&aak);printf(the original data is: n);for( k=0; kn; k+) printf( %5d, aak);printf( nenter a number to deleted:);scanf(%d,&y);fun(aa,&n,y);printf(the data after deleted %d:n, y);for(k=0; kn; k+) printf(%4d,aak);printf(n);14、编写一个函数,该函数可以统计一个长度为2 的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为: a
15、sd asasdfg asd as zx67 asd mklo,子字符串为: as,则应输出 6。试题程序。int fun(char *str,char *substr) int i,n=0,s=strlen(str);for(i=0;i100)printf(data eror!n);exit(0);y=fun(x);if(y) printf(%d yesn,x);else printf (%d no!n,x);$字符16、请编写函数 fun ,函数的功能是:在字符串中所有数字字符前加一个 例如,输入: A1B23CD45,则输出为: A$1B$2$3CD$4$5。试题程序:void fun(
16、 char *s)char a100;int i=0;while(*s)if(*s=0&*s=9) ai+=$;ai+=*s+;else ai+=*s+;ai=0;strcpy(s,a);main() char s80;printf(enter a string:);scanf(%s, s);fun(s);printf(the result: %sn, s);17、请编一个函数 fun(char *s) ,函数的功能是把字符串中所有的字符前移一个位置,串中的第一 个字符移到最后。例如:原有的字符串为: Mn.123xyZ ,则调用该函数后,串中的内容为: n.123xyZM 。试题程序:#de
17、fine N 81fun(char *s) char c=*s;for(;*(s+1);s+)*s=*(s+1);*s=c;*(s+1)=0;main() char aN;clrscr();printf(enter a string:);gets(a);printf(the original string is:);puts(a);fun(a);printf(the string after modified:);puts(a);18、请编写函数 fun ,函数的功能是:将所有大于 1 小于整数 m的非素数存入 xx 所指数组中,非素 数的个数通过 k 传回。例如,若输入: 17,则应输出:
18、9 和 4 6 8 9 10 12 14 15 16。试题程序。void fun( int m, int *k, int xx ) int i,j;*k=0;for( i=2; im; i+)for( j=2; ji; j+)if( i%j=0) xx(*k)+=i; break;main() int m, n,zz100;printf(n please enter an integer number between 10 and 100: );scanf( %d,&n);fun(n,&m,zz);printf(nn there are %d non-prime numbers less th
19、an %d: , m,n);for(n=0; nm; n+)printf(n %4d,zzn);19、请编一个函数 fun(char *s) ,函数的功能是把字符串中所有的字母改写成该字母的下一个字母, 最后一个字母 z 改写成字母 a。大写字母仍为大写字母,小写字母仍为小写字母,其他的字符不变。例如:原有的字符串为: Mn.123zyZ,则调用该函数后,串中的内容为: No.123yzA 。试题程序。#define N 81fun(char *s) int i,n=strlen(s);for(i=0;i=A&si=a&siz)si=si+1;else if(si=z) si=a;else i
20、f(si=Z) si=A;main() char aN;clrscr();printf(enter a string:);gets(a);printf(the original string is:);puts(a);fun(a);printf(the string after modified:);puts(a);20、请编写函数 fun ,函数的功能是:将 s 所指字符串中、下标为奇数位置上的大写字母转换为字母 序列中的下一个小写字母;若该位置上是小写字母,则不转换;若该位置上是大写字母Z,则仅转换成小写字母 z 。例如,输入: ABCdxZZZ,则输出为: AcCdXzZz。试题程序。#
21、define N 80void fun(char *s)int i;for(i=1;i=A&siZ)si+=32+1;else if(si=Z) si+=32;main()char sN;printf(nenter a string:);scanf(%s,s);fun(s);printf(nthe result:%sn,s);21、程序定义了 N*N 的二维数组,并在主函数中赋值。请编写函数fun ,函数的功能是:给数组周边元素置 0 值。试题程序。#define N 5fun(int wN) int i ;for(i=0;iN;i+) wi0=0;wiN-1=0;w0i=0;wN-1i=0;
22、main() int aNN,i,j;clrscr();printf(* The array *n);for(i=0;iN;i+) for(j=0;jN;j+) aij=rand()%10;printf(%4d,aij);printf(n);fun(a);printf(* The result *n);for(i=0;iN;i+) for(j=0;jN;j+)printf(%4d,aij);printf(n);22、请编写函数 fun ,它的功能是:求出 ss 所指字符串中、指定字符的个数,并返回此值。 例如:若输入字符串: 123412132,输入字符为: 1,则输出: 3。试题程序。#de
23、fine M 81#include int fun(char *ss,char c)int num=0;while(*ss!=0)if(*ss=c) num+;ss+;return(num);main()char aM,ch;clrscr();printf(nPlease enter a strint:);gets(a);printf(nPlease enter a char:);ch=getchar();printf(nThe number of the char is:%dn,fun(a,ch);23、程序定义了 N*N 的二维数组,并在主函数中赋值。请编写函数 fun ,函数的功能是:
24、求出数组周边元素的平均值并作为函数值返回给主函数中的s 。试题程序。#define N 5double fun (int wN) int i,t=0;double s=0;for(i=0;iN;i+) s+=wi0+wiN-1; t+=2; for(i=1;iN-1;i+) s+=w0i+wN-1i; t+=2; s=s/t;return s;main() int aNN=0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1;int i,j;double s;clrscr();printf(* The array *n);for(i=0;iN;i+
25、)for(j=0;jN;j+)printf(%4d,aij);printf(n);s=fun(a);printf(* The result *n);strcat )printf(The sum is %lfn,s);24、编写一个函数 fun ,它的功能是:实现两个字符串的连接(不使用库函数例如,分别输入下面两个字符串:FirstSrting SecondString程序输出:FirstString SecondString试题程序。void fun(char p1,char p2)int i,j;for(i=0;p1i;i+);for(j=0;p2j;j+)p1i+=p2j;p1i=0;ma
26、in() char s180,s280;clrscr();printf(Enter s1 and s2:n);scanf(%s%s,s1,s2);printf(s1=%sn,s1);printf(s2=%sn,s2);printf(Invoke fun(s1,s2):n);fun(s1,s2);printf(After invoking:n);printf(%sn,s1);,函数的功25、程序定义了 N*N的二维数组,并在主函数中自动赋值。请编写函数 fun(int aN) 能是:使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的值与倒数第二列中的值对 调、其他依次类推。试题程序。#
27、define N 5int fun(int aN) int i ,m,t;for(m=0;mN;m+) for(i=0;iN/2;i+) t=ami;ami=amN-1-i;amN-1-i=t;main() int aNN,i,j;clrscr();printf(* The array *n);for(i=0;iN;i+)for(j=0;jN;j+)aij=rand()%30;printf(%4d,aij);printf(n);fun(a);printf(* The result *n);for(i=0;iN;i+)for(j=0;jN;j+)printf(%4d,aij);printf(n)
28、;B 中。26、请编写函数 fun,函数的功能是:实现 B=A+A ,即把矩阵 A 加上 A 的转置,存放在矩阵 计算结果在 main 函数中输出。试题程序。void fun(int a33,int b33)int i,j;printf(zhuan zhi is:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,aji);printf(n);for(i=0;i3;i+)for(j=0;j3;j+)bij=aij+aji;main()int a33=1,2,3,4,5,6,7,8,9,t33;int i,j;clrscr();printf(a is:n);for
29、(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,aij);printf(n);fun(a,t);printf(n);printf(t is:n);for(i=0;i3;i+) for(j=0;j3;j+)printf(%7d,tij);printf(n);27、m 个人的成绩存放在 score 数组中,请编写函数 fun ,它的功能是:将低于平均分的人数作为函 数值返回。例如,当 score 数组中的数据为: 10、 20、 30、 40、50、60、 70、80、90、时,函数返回的人数应该 是 4, below 中的数据应为: 10、 20、 30、 40。试题程序
30、。int fun(int score,int m, int below) int i,j=0,aver=0;for(i=0;im;i+)aver+=scorei;aver/=m;printf(aver=%dn,aver);for(i=0;im;i+)if(scoreiaver)belowj+=scorei;return j;main() int i,n,below9;int score9=10,20,30,40,50,60,70,80,90;clrscr();printf(n the score are :);for(i=0;i9;i+)printf(%4d,scorei);printf(n)
31、;n=fun(score,9,below);printf(nBelow the average score are :);for(i=0;in;i+) printf(%4d,belowi);28、程序定义了 N*N 的二维数组, 并在主函数中自动赋值。 请编写函数 fun(int aN), 函数的功能是: 使数组左下半三角元素中的值全部置成0。试题程序。#define N 5int fun(int aN)int i,j;for(i=0;iN;i+)for(j=0;j=i;j+)aij=0;main()int aNN,i,j;clrscr();printf(* The array *n);for
32、(i=0;iN;i+)for(j=0;jN;j+)aij=rand()%10;printf(%4d,aij);printf(n);fun(a);printf(The resultn);for(i=0;iN;i+)for(j=0;jN;j+)printf(%4d,aij);printf(n);29、请编写函数 fun,经的功能是:求出 1 到 100之内能被 7或 11整除、但不能同时被 7和 11整除 的所有整数并将它们放在 a 所指的数组中,通过 n 返回这些数的个数。试题程序。void fun(int *a,int *n) int i,m=0;for(i=1;i100;i+)if(i%7=
33、0)|(i%11=0)&!(i%7=0)&(i%11=0)am=i;m+=1;*n=m;main() int aa100,n,k;clrscr();fun(aa,&n);for(k=0;kn;k+)if(k+1)%10=0) printf(n);else printf(%d,aak); 30、程序定义了 N*N 的二维数组,并在主函数中自动赋值。请编写函数fun(int aN),函数的功能是:使数组右上半三角元素中的值全部置成0。试题程序。#define N 5int fun(int aN) int i,j;for(i=0;iN;i+)for(j=i;jN;j+)aij=0;main() in
34、t aNN,i,j;clrscr();printf(* The array *n);for(i=0;iN;i+)for(j=0;jN;j+)aij=rand()%20; printf(%4d,aij);printf(n);fun(a);printf(THE RESULTn);for(i=0;iN;i+)for(j=0;jN;j+) printf(%4d,aij);printf(n);31、编写函数 void fun(int x,int pp,int *n) ,它的功能是:求出能整除 x 且不是偶数的各整数,并放在 pp 所指的数组中,这些除数的个数通过形参 n 返回。例如,若 x 中的值为:
35、30,则有 4 个数符合要求,它们是 1,3,5, 15。试题程序。void fun(int x, int pp, int *n) int i,j=0;for( i=1;i=x; i=i+2)if( x%i=0)ppj+=i;*n=j;main() int x, aa1000, n, i;printf(n please enter an integer number:n);scanf(%d,&x);fun(x,aa,&n);for(i=0;in;i+)printf(%d , aai);printf(n);fun(int aN,i32、程序定义了 N*N 的二维数组,并在主函数中自动赋值。请编写
36、函数 nt n) ,函数的功能是:使数组右上半三角元素中的值乘以m。试题程序。#define N 5int fun( int aN, int m) int i,j;for(i=0; i=i; j-)aij*=m;main() int aNN,m,i,j;printf(* the array *n);for( i=0; iN;i+) for( j=0; j=3);printf(m=%4dn, m);fun( a,m);printf( the result n);for(i=0; iN; i+)for(j=0; jN; j+) printf(%4d, aij);printf(n);33、编写一个函
37、数 void fun(char *tt,int pp) ,统计在 tt 字符串中 a到 依次放在 pp 所指数组中。例如,当输入字符串: abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 试题程序。void fun(char *tt,int pp) int i;for(i=0;i26;i+)ppi=0;for(;*tt;tt+)if(*tt=a)pp*tt-97+;main() char aa1000;int bb26,k;clrscr();printf(nPlease enter a
38、 char string:);scanf(%s,aa)fun(aa,bb);for(k=0;k26;k+) printf(% d, ,bbk);printf(n); 34、程序定义了 N*N 的二维数组,并在主函数中自动赋值。请编写函数 数的功能是:使数组左下半三角元素中的值乘以n。z个26字母各自出现的次数, 并fun(int aN,int n),函试题程序。#define N 5int fun( int aN, int n) int i,j;for(i=0; iN; i+)for(j=0; j=i; j+)aij*=n;main() int aNN,n,i,j;printf(* the a
39、rray *n);for( i=0; iN; i+)for( j=0; j=3);printf(n=%4d n, n);fun( a,n);printf( * the result *n);for(i=0;iN; i+)for(j=0; jN; j+) printf(%4d, aij);printf(n);c 中。合并的方式是:将 ac 数的个位和百位上。35、函数 fun 的功能是:将两个两位数的整数 a、b 合并形成一个整数放在 的十位和个位数依次放在 c 数的千位和十位上, b 数的十位和个位数依次放在例如:当 a=45, b=12。调用该函数后, c=4251试题程序。void fun
40、(int a, int b, long *c) int i,j,k,n;i=a%10; j=a/10; k=b%10; n=b/10;*c=j*1000+k*100+i*10+n;main() int a,b; long c;printf( input a, b: );scanf(%d%d, &a,&b);fun(a,b,&c);printf( the result is :%ldn, c);36、请编写一个函数 void fun(int m,int k,int xx) ,该函数的功能是:将大于整数 m 且紧靠 m 的 k 个素 数存入 xx 所指的数组中。例如,若输入 17,5,则应输出:
41、19, 23, 29, 31, 37。试题程序。void fun(int m, int k, int xx) int i,j=0,p=m+1;dofor( i=2; i=p) xxj+=p;p+; while(jk);main() int m,n,zz1000;printf(n please enter two integers: );scanf(%d%d,&m,&n);fun( m,n,zz);for(m=0; mn; m+)printf(%d , zzm);printf(n); 37、已知学生的记录由学号和学习成绩构成, N名学生的数据已存入 a 结构体数组中。 请编写函数 fun, 函数
42、的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。试题程序。#include #include #define N 10typedef struct ss char num10; int s; STU;fun( STU a, STU *s) int k,i;(*s).s=a0.s;for( i=0;iN; i+)if (ai.s(*s).s)(*s).s=ai.s; k=i; strcpy ( (*s).num, ak.num);main() STU aN= A01,81,A02,89,A03,66,A04,87,A05,77,A06,90,A07,79,A08,61,;A09,80,A10,71 , m;int i;printf(* the original data *n);for(i=0;iN; i+) printf(N0=%s Mark=%dn, ai.num,ai.s);fun( a,&m);printf(* the result*n);printf( the lowest: %s ,%dn, m.num,m.s);38、请编写一个函数 void fun(char a,int k,int n) ,其功能是: 删除字符串中指定下标开始的 n 个 字符。其中, a指向字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第4章 电磁波 单元滚动训练(含答案)
- 煤矿机电队长安全岗位责任制培训
- 工程分包工程安全管理标准培训课件
- 2026年广东女子职业技术学院单招职业技能测试题库附答案详解(轻巧夺冠)
- 检修部制粉班班长安全责任制培训课件
- 2026年广西工业职业技术学院单招职业适应性考试题库带答案详解(培优a卷)
- 2026年岳阳现代服务职业学院单招综合素质考试题库含答案详解(突破训练)
- 2026年广东茂名农林科技职业学院单招职业倾向性考试题库带答案详解(典型题)
- 2026年山西省阳泉市单招职业适应性考试题库带答案详解(巩固)
- 2026年广东科学技术职业学院单招职业适应性考试题库及答案详解一套
- 桩基承载力优化设计研究
- DJ公主岗位职责
- 多联机安装全过程经典技术指导手册
- 龙虎山正一日诵早晚课
- 排球基础理论 【核心知识精讲精析】 高一上学期体育与健康人教版必修第一册
- 医院课件:《规范医疗服务收费行为培训》
- YY/T 1836-2021呼吸道病毒多重核酸检测试剂盒
- GB/T 32291-2015高压超高压安全阀离线校验与评定
- 煤矿掘进顶板管理
- 邹申写作教程Units-课件
- 三甲医院设备科招聘考试试题最新测试题含答案
评论
0/150
提交评论