为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

2013级中国海洋大学C语言上机题库及答案

2019-02-21 31页 doc 53KB 67阅读

用户头像

is_281650

暂无简介

举报
2013级中国海洋大学C语言上机题库及答案中国海洋大学C语言上机考试题库以及答案(20套) 1.编写函数long fun(long x),它的功能是:将长整型参数x中每一位上为偶数的数依次取出, 构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输入:124578902,程序输出:24802. #include long fun(long x) { int i,j,m,n; for(i=0,m=0,n=1;x>0;i++) { j=x%10; if(j%2==0) {m=m+n*j;n=n*10;} x=(x-j)/10; ...
2013级中国海洋大学C语言上机题库及答案
中国海洋大学C语言上机考试题库以及(20套) 1.编写函数long fun(long x),它的功能是:将长整型参数x中每一位上为偶数的数依次取出, 构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输入:124578902,程序输出:24802. #include long fun(long x) { int i,j,m,n; for(i=0,m=0,n=1;x>0;i++) { j=x%10; if(j%2==0) {m=m+n*j;n=n*10;} x=(x-j)/10; } return m; } void main() { long a,b; printf("Enter a number:"); scanf("%ld",&a); b=fun(a); printf("b=%ld\n",b); } 2. 编写函数void fun(int k,int *p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。例如:下面程序运行时若输入200,输出:2 5;若输入27720,输出:2 3 5 7 11;若输入101,输出101。 #include #include int check(int x) { int i; for(i=2;i #define N 10 void fun(int *x,int n) { } void main() {int a[N],i; for(i=0;i int fun(int *x,int n,float *w) { int i,j,s; for(i=0;i<(n/5);i++) { s=0; for(j=i*5;j<(i*5+5);j++) s=s+*(x+j); *(w+i)=s/5.0; } return (n/5); } void main() {int a[30],i,n,m; float b[6]; printf("Input a number: "); scanf("%d ",&n); for(i=0;i
达式x0+x1+x2+...+xn #include int fun(int x,long int y) { int i,s=0; for(i=0;s #include int fun(char (*ss)[N],int m,char *s) int a,i; strcpy(s,ss[0]); for(i=1;i int countw(char *str) { int i,j; for(i=1,j=0;str[i];i++) { if(str[i]==' '&&(str[i-1]!=' '&&str[i-1]!=','&&str[i-1]!='.')) j++; if(str[i]==','&&(str[i-1]!=' '&&str[i-1]!=','&&str[i-1]!='.')) j++; if(str[i]=='.'&&(str[i-1]!=' '&&str[i-1]!=','&&str[i-1]!='.')) j++; } if(str[0]!=' '&&str[0]!=','&&str[0]!='.') j++; return j; } void main() {char s[200]; gets(s); printf("There are %d words.\n",countw(s)); } 8. 编写函数void fun(char *str),功能:字符串str中单词以空格作分隔,如果单词之间不止一个空格,则删除多余的空格,使单词之间只保留一个空格。字符串开始的空格也只保留一个。例如,程序运行时若输入: It's 10:10 o'clock , I am late. 输出:It's 10:10 o'clock , I am late. #include void fun(char *str) { int i,j; for(i=0;str[i];i++) { if(str[i]==' ') if(str[i+1]==' ') { for(j=i+1;str[j];j++) str[j]=str[j+1]; i=i-1;} } } void main() {char s[100]; puts("Enter a string:"); gets(s); fun(s); puts(s); } 9. 函数void fun(int x,int k,int *p)的功能是:求出比x大的最初k(k<1000)个素数,放入p所指数组中。例如:程序运行时输入:10 10,输出:11 13 17 19 23 29 31 37 41 43 #include #include int check(int x) { int i; if(x<2) return 1; for(i=2;i<=sqrt(x);i++) { if(x%i==0) break; } if(i>sqrt(x)) return 0; return 1; } void fun(int x,int k,int *p) { int i,j; p[0]=x+1; for(i=0;i #include int check(int x) { int i; if(x<2) return 1; for(i=2;i #include void fun(char *s) { int i,j; for(i=0;s[i];i++) if(((s[i]>=65&&s[i]<=90)||(s[i]>=97&&s[i]<=122))&&((s[i+1]>=65&&s[i+1]<=90)||(s[i+1]>=97&&s[ i+1]<=122))) { for(j=strlen(s)+1;j>i+1;j--) s[j]=s[j-1]; s[j]='*'; } } void main() {char x[80]; gets(x); fun(x); puts(x); } 12. 编写函数int fun(int k),功能:从5个红球,6个白球,7个黑球中任意取出k(2≤k≤18)个球作为一组进行组合。在每组中,可以没有红球和白球,但必须要有黑球。不同组合的数目作为函数值返回。例如,若k为8时,正确的组合数是31;若k为2时,正确的组合数是3;或k为3时,正确的组合数是6 。 #include int fun(int k) { int i,j,h,s; for(i=1,s=0;i<=7;i++) for(j=0;j<=6;j++) for(h=0;h<=5;h++) if(i+j+h==k) s++; return s; } void main() {int x,n; scanf("%d",&x); n=fun(x); printf("n=%d\n",n); } 13. 编写函数void fun(char *str),功能:对形参str所指字符串中的字符按ASCII码升序排序。例如,下面程序运行时输入:The C Programming Language<回车> 输出:CLPTaaaeegggghimmnnorru #include #include void fun(char *str) { int j,i; char t; for(i=0;str[i];i++) { for(j=i+1;j(int)str[j]) { t=str[i]; str[i]=str[j]; str[j]=t; } } } void main() {char s[100]; gets(s); fun(s); puts(s); } 14. 请编写函数void fun(int *a, int n, int y),它的功能是:把y值插入到有n个数的a数组中, a数组中的数已按由大到小的次序排好,y的值从键盘读入。插入后,数组中的数仍然有序。对照下面三种情况运行程序: 1) 插在最前2) 插在最后3) 插在中间 若输入数11,输出20 18 16 14 12 11 10 8 6 4 2 输入数1,输出20 18 16 14 12 10 8 6 4 2 1 输入数33,输出33 20 18 16 14 12 10 8 6 4 2 #include void fun(int *a,int n,int y) { int i,j; for(i=0;ia[i]) break; } for(j=n;j>i;j--) a[j]=a[j-1]; a[i]=y; } void main() {int i,a[11]={20,18,16,14,12,10,8,6,4,2},x; void fun(int *,int n,int y); scanf("%d",&x); fun(a,10,x); for(i=0;i<11;i++) printf("%d ",*(a+i)); } 15. 编写函数int fun(char *s1,char *s2),在字符串s1中统计字符串s2出现的次数并返回。若s2在s1中未出现,则返回0。例如: 若输入的字符串s1为:abaaAabcaabbabca,字符串s2为:ab ,则程序输出:n=4 若输入的字符串s1为:abaaAabcaabbabca,字符串s2为:abd,则程序输出:No find #include #include int fun(char *s1,char *s2) int i,j,n=0; for(i=0;i<=strlen(s1)-strlen(s2);i++) { for(j=0;j int fun(char *str) { int i,j,n; for(i=0,n=0;str[i];i++) { for(j=0;j int fun(int m,int n,int *p) { int i,j,s,a[1000]={1,2}; for(i=2;i<1000;i++) a[i]=a[i-1]+a[i-2]; for(i=0,j=0,s=0;i<1000;i++) { if(a[i]>=m&&a[i]<=n) { p[j]=a[i]; j++; s++; } } return s; } void main() {int a,b,n,c[22],i; scanf("%d%d",&a,&b); n=fun(a,b,c); for(i=0;i #include char *fun(char *s1,char *s2,int n) { int l,i; l=strlen(s1); if(l>=n) strcpy(s2,&s1[l-n]); else { strcpy(&s2[n-l],s1); for(i=0;i #include void fun(char *a,char *b,char *c) { int i,ls1,ls2; ls1=strlen(a);ls2=strlen(b); for(i=0;i<(ls1>ls2?ls2:ls1);i++) c[i]=(a[i]>b[i]?a[i]:b[i]); for(i=(ls1>ls2?ls2:ls1);i<(ls1>ls2?ls1:ls2);i++) { if(ls1>ls2) c[i]=a[i]; else c[i]=b[i]; } c[i]='\0'; } void main() {char s1[80],s2[80],s3[80]; gets(s1); gets(s2); fun(s1,s2,s3); puts(s3); } 20. 编写函数void fun(char *s),将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符和非数字字符原有的前后次序。 例如,若输入:num is 0532-66ouc78,OK. 执行结果为:num is -ouc,OK.05326678 #include #include void fun(char *s) { int i,j=0,k=0; char t1[80],t2[80]; for(i=0;i57 || s[i]<48 ) { t1[j]=s[i]; j++; } else { t2[k]=s[i]; k++;} } for(i=0;i
/
本文档为【2013级中国海洋大学C语言上机题库及答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索