ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:31.93KB ,
资源ID:28748593      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28748593.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新C语言机试题库.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新C语言机试题库.docx

1、最新C语言机试题库5 请编写一个函数,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如 5门课程的成绩是:90.5 ,72,80,61.5,55, 函数返回值为:71.80#include float fun (float *a , int n) int i; float ave=0.0; for(i=0; in; i+)ave=ave+ai; ave=ave/n; return ave;6请编写一个函数,它的功能是:比较两个字符串的长度,函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如 输入beijing shanghai,函数将返回shanghai#inc

2、lude char *fun (char *s, char *t) int i; char *p=s, *q=t; int n=0,m=0; while(*p) n+; p+; while(*q) m+; q+; if(n=m) p=s; else p=t; return p;7请编写一个函数,它的功能是:求出1到m 之间能被7 或11整除的所有整数放在数组a中,通过n返回这些数的个数例如m的值为50,则输出:7 11 14 21 28 33 35 42 44 49#include #define M 100void fun (int m, int *a , int *n)int i,j=0;

3、*n=0; for(i=1;i=m;i+) if(i%7=0|i%11=0) aj=i; j+; *n=j;8请编写一个函数,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写 例如 输入abc4EFg 则输出aBc4EFg#include #include void fun (char *ss) int i; for(i=1; i=a& ssi=z)ssi-=32; 9请编写一个函数,它的功能是:将s所指字符串中除了下标为偶数、同时ASCII直为偶数的字符外,其余的全部删除;剩余字符组成一个新字符串放在t所指的数组中。例如 s所指字符串中的内容为ABCDEFG12346 ,、

4、t所指的数组中的内容为 246#include #include void fun(char *s, char t) int i, j=0; for(i=0; istrlen(s); i+=2) if(si%2=0)tj+=si; tj=0;10请编写一个函数,它的功能是:将s所指字符串中下标为偶数的字符删除,剩余字符组成一个新字符串放在t所指的数组中例如 s所指字符串中的内容为ABCDEFGHIJK, t所指的数组中的内容为BDFHJ#include #include void fun(char *s, char t) int i, j=0; for(i=1; istrlen(s); i+=

5、2) tj+=si; tj=0;11请编写一个函数,它的功能是:将s所指字符串中ASCII直为偶数的字符删除,剩余字符组成一个新字符串放在t所指的数组中例如 s所指字符串中的内容为ABCDEFG12345,其中字符B的ASCII码值为偶数、字符2 的ASCII码值为偶数、都应当删除,类他依次类推。最后t所指的数组的内容应是ACEG135#include #include void fun(char *s, char t) int i, j=0; for(i=0; istrlen(s); i+) if(si%2) tj+=si; tj=0;12已知学生的记录由学好和成绩构成,N名学生的数据已存入

6、结构体数组a中,请编写一个函数,它的功能是:找出成绩最高的学生记录,通过形参指针传回主函数。#include #include #define N 10typedef struct sschar num10; int s; STU;fun(STU a, STU *s) int i, max=a0.s, j=0; for(i=1; iN; i+) if(maxai.s) j=i; max=ai.s; *s=aj;13程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int aN,int n),函数的功能是:使数组左下三角元素中的值乘以n例如n的值为3,a数组的值为a= 1 9

7、7 则返回a数组的值为a=3 9 7 2 3 8 6 9 8 4 5 6 12 15 18#include #include #define N 5void fun (int aN, int n)int i,j;for(i=0; iN; i+) for(j=0; j=i; j+) aij*=n;14程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int aN,int n),函数的功能是:使数组左下三角元素中的值全部为0例如 a数组的值为a= 1 9 7 则返回a数组的值为a=0 9 7 2 3 8 0 0 8 4 5 6 0 0 0#include #include #de

8、fine N 5void fun (int aN)int i, j;for(i=0; iN; i+) for(j=0; j=i; j+) aij=0;15请编写一个函数void fun(int ttMN,int ppN),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指以为数组中。二维数组中的书已经在主函数中赋予#include #define M 3#define N 4void fun (int ttMN, int ppN)int i,j, min, k;for(i=0; iN; i+) min=tt0i; k=0; for(j=1; jttji)min=tt

9、ji; k=j; ppi=ttki;16请编写一个函数unsingned fun(unsingned w),w是一个大于10的无符号整数,若w是n为的整数,函数求出w的第n-1为的数作为函数返回值。例如 w值为5923 ,则函数返回923,w的值为923 ,函数返回23#include unsigned fun (unsigned w)unsigned t,s=0,s1=1,p=0; t=w; while(t10) if(t/10) p=t%10; s=s+p*s1; s1=s1*10; t=t/10; return s;17请编写一个函数fun(char *s),函数的功能是把s所指字符串中

10、的内容倒置。例如 字符串中原有的字符串为abcdefg ,则调用该函数,字符串中的内容为gfedcba#include #include #define N 81fun (char *s)char bN;int i=0, j;memset(b, 0, N);for(j=strlen(s)-1; j=0; j-)bi+=sj;strcpy(s, b);18请编写一个函数,它的功能是:从s所指的字符串中删除给定的字符,同一字母的大、小写按不同字符处理。若程序执行时输入字符串为:turbo c and Borland c+,从键盘上输入字符:n, 则输出后变为 tuebo c ad borlad c

11、+、#include #include void fun(char s,char c)char *p=s;int i=0;while(*p) if(*p !=c)si+=*p; p+;si=0;19请编写一个函数,对长度为7 的字符串,除首尾字符外,将其与5个字符按ASCII降序排列。例如原来的字符串为CEAedca, 排序后输出CedcEAa#include #include #include void fun(char *s,int num) char t;int i,j;for(i=1;inum-2;i+) /对n个元素进行循环选择 for(j=i+1;jnum-1;j+)if(sisj

12、) /将stri设为最大值,和剩下的jn-1进行比较 t=si; si=sj; sj=t; 20请编写一个函数,该函数可以统计一个长度为2 的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为asd asasdfg asd zx67 asd mklo,字符串为as,则应输出6#include #include int fun(char *str,char *substr)int cnt=0;char *p=str, *q;while(*p) q=strstr(p, substr); if(q=NULL) break; p=q+strlen(substr); cnt+;return cn

13、t;21请编写一个函数,它的功能是:将所有大于1小于m的非素数存入xx所指数组中,非素数的个数通过k传回。例如 输入 17 ,则输出 4 6 8 10 12 14 16 #include void fun(int m, int *k, int xx)int i,j;int t=0; /初始化数组个数for(i=2;im;i+) /循环判断小于n的数是否为素数 j=2; while(ji) if(i%j=0) /如果i不是素数 xxt=i; t+; break; j+; *k=t; 22请编写一个函数,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如 输入字符串 12341213

14、2 输入字符为 1 ,则输出 3#include #include #define M 81int fun(char *ss, char c)int cnt=0;char *p=ss;while(*p) if(*p=c)cnt+; p+;return cnt;23请编写一个函数,它的功能是:实现B=A+A,即把矩阵A加上A的转置,存放在矩阵B中。计算结果main函数中输出。例如 输入下面矩阵 1 2 3 ,其转置矩阵为 1 4 7 程序输出为 2 6 10 4 5 6 2 5 8 6 10 14 7 8 9 3 6 9 10 14 18#include void fun (int a33, i

15、nt b33)int c33;int i, j;for(i=0; i3; i+) for(j=0; j3; j+) cij=aji; / 矩阵的转置 bij=aij+cij; 24请编写一个函数,它的功能是:求出1 到1000之间被7或11整除、但不能同时被7和11整除的所有整数并将它放在a所指数组中,通过n返回这些数的个数。#include void fun (int *a, int *n)int i;*n=0;for(i=7; i1000; i+) if(i%7)=0|(i%11)=0)&(i%77)!=0) a(*n)+=i;25请编写一个函数void fun(char *tt,int

16、pp),统计tt所指字符串中a到z26个小写字母各自出现的次数,并依次放到pp所指的数组中例如 输入字符串 abcdefgabcdeabc后,程序输出结果 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 #include #include void fun(char *tt, int pp)char *p=tt;int i;for(i=0; i=a&*p=z)pp*p-a+=1; p+;26请编写一个函数void fun(char a,char b),其功能是:删除一个字符串中指定下标的字符。其中,a指向原来字符串,剩下字符存放在b所指数组中,n中存放指定的下标。例

17、如 输入word ,然后输入3,则调用后结果为word#include #include #define LEN 20void fun (char a, char b, int n)int p,m=0;for(p=0;pLEN;p+) if(p!=n) /如果字符下标不满足题目要求的标志n bm=ap; /原始串的字符赋值给新串b m+; bm=0; /新串末尾加上结束符27请编写一个函数,它的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/1+2 + 1/1+2+3 +、+1/1+2+3+、+n, n值为11时,函数值为1.833333#include dou

18、ble fun(int n)int k;float str=1.0,sum=1.0;for(k=2;k=n;k+) sum=sum+k; /求得每一项的分母 str=str+1/sum; /级数累加求和 return str;28请编写一个函数,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。Xn+1=cos(Xn) 、程序将输出结果Root=0.739086#include #include double fun()float x0, x1=0.0;do x0=x1; x1=cos(x0); while(fabs(x0-x1)0.000001);return x

19、1;29请编写一个函数,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中,Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)例如 当t=1000,函数值为 1597=#include #include int fun(int t)int f0=0, f1=1, f;do f=f0+f1; f0=f1; f1=f; while(ft);return f;30请编写一个函数,它的功能是计算:S=根号下(ln(1)+ln(2)+ln(3)_、+ln(m))S作为函数返回值。例如 m的值为 20 ,函数值为 6.50

20、6583#include #include double fun(int m)double s=0.0;int i;for(i=1; i=m; i+)s+=log(1.0*i);s=sqrt(s);return s;31规定输入的字符只包含字母和*。请编写一个函数,它的功能是:将字符串中的前导*全部删除,中间和尾部的*号不删除。例如 字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容为A*BC*DEF*G*#include void fun(char *a)int j=0;char *p=a;while(*p=*)p+;while(*p) aj+=*p; p+;aj=0;32规定

21、输入的字符只包含字母和*。请编写一个函数,它的功能是:除了尾部的*号之外,将字符串中其他的*全部删除。例如 字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容为ABCDEFG*#include void fun(char *a, char *p)char *q=a;int j=0;while(*q&qp) if(*q !=*)aj+=*q; q+;while(*p)aj+=*p+;aj=0;33规定输入的字符只包含字母和*。请编写一个函数,它的功能是:除了字符串前导和尾部的*号之外,将字符串中其他的*全部删除。例如 字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容

22、为*ABCDEFG*#include void fun(char *a, char *h,char *p)int j=0;char *q=a;while(*q&qh)aj+=*q+; while(*h&*p&hp) if(*h !=*)aj+=*h; h+;while(*p)aj+=*p+;aj=0;34规定输入的字符只包含字母和*。请编写一个函数,它的功能是:将字符串中所有的*全部删除。例如 字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容为ABCDEFG#include void fun(char *a)int j=0;char *p=a;while(*p) if(*p !

23、=*)aj+=*p; p+;aj=0;35规定输入的字符只包含字母和*。请编写一个函数,它的功能是:使字符串中尾部的*号不得多于n个,若多于n个,则删除多余的*号,若少于或等于n个,则什么也不做,字符串前面和中间的*不删除。#include void fun(char *a,int n)int i=0,j=0;char *p,*t;p=t=a; while(*t) /让指针t指向串尾 t+; t-; /t指向串中的最后一个字符while(*t=*) /当t指针当前指向的字符是*号时 j+; /对*号计数的累加器加1 t-; /指向前一个字符 t+; /跳出*号统计后,指针t继续指向字符串的下一

24、个字符if(jn) /对统计的*号数目大于给定的*号总数n while(*p&pt+n) /当超出给定的*号数目,则开始进行截取 ai=*p; /截取n个*号 i+; p+; ai=0; /对新生成的串加尾符 36某学生的记录由学好、8门课程成绩和平均分组成,学好、8门课程成绩已在主函数中给出,请编写一个函数,它的功能是:求出该学生的平均分放在记录的ave成员中。例如 学生的成绩是 85.5 ,76 ,69,5 ,85 ,91 ,72, 64.5 ,87.5 他的平均分应当是78.875#include #define N 8typedef structchar num10; double s

25、N; double ave; STREC;void fun(STREC *a)int i;for(i=0; iave=a-ave+a-si;a-ave /=N;37学生的记录由学好和成绩构成,N名学生的数据已存入结构体数组s中,请编写一个函数,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include #define N 8typedef structchar num10; double s; STREC;double fun(STREC *a, STREC *b, int *n)int i;double ave=0.0;*n=0;for(i=0; iN; i+)ave=ave+ai.s;ave /=N; /* 计算平均值 */for(i=0; iN; i+) if(ai.save) /* 把低于平均值的记录存放到b所指的数组中 */ b*n=ai; (*n)+; /* 人数加1 */ return ave; /* 返回平均值 */38学生的记录由学好和成绩构成,N名学生的数据已存入结构体数组s中,请编写一个函数,它的功能是:把分数最高的学生数据放在h所指的数组中。#in

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1