1、1C 程序设计课程期末上机考试考试时间:40 分钟考试方式:从下面的 20 题中随机抽取一题,再附加一题,共需完成 2 道题。分值分配:第一题 60 分,第二题 40 分,共 100 分考试时间:第十八周1 请编写函数 long fun(long int x),功能是:将长整型数 x 中每一位上为奇数的数依次取出,并逆序构成一个新数返回。例如:程序运行时输入 123456789,输出:b=97531。#includelong fun(long int x) long a,b=0;a=x;for(;a!=0;)if(a%10)%2!=0)b=b*10+a%10;a/=10;return b;vo
2、id main()long a,b;printf(“Please input a long int num:“);scanf(“%ld“,b=fun(a);printf(“b=%ldn“,b);2 编写函数 void fun(char *s,char *t,char *p)将未在字符串 s 中出现、而在字符串 t 中出现的字符, 形成一个新的字符串放在 p 中,p 中字符按原字符串中字符顺序排列,但去掉重复字符。例如: 当 s 为“12345“, t 为“8624677“时, p 中的字符为: “867“;当 s 为”good luck”,t 为”thank you very much”时,输
3、出: ”thanyverm”#includeint test(char *s,int n,char ch) int i;for(i=0;i*(x+j)k=j;if(k!=i)t=*(x+i);*(x+i)=*(x+k);*(x+k)=t; main()int aN,i;for(i=0;i=m) return 1;else return 0;long fun(int high,int n)int i,j=0;long s=0;if(high1;i-)if(sushu(i)s+=i;j+;if(j=n)return s;4return s;void main()int k,n;scanf(“%d%
4、d“,printf(“sum=%ldn“,fun(k,n);6 请编写函数 int fun(int *a,int n),它的功能是:把形参 a 所指数组中的偶数按原顺序依次存放到 a0、a1、a2、中,把奇数从数组中删除,偶数个数通过函数值返回,以-1 作为有效数据的结束标志。例:若输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,输出:2 4 6 8 10 12 14 n=7int fun(int *a,int n)int i,j,k=0;*(a+n)=-1;for(i=0;*(a+i)!=-1;i+)if(*(a+i)%2!=0)for(j=i;*(a+j+1)
5、!=-1;j+)*(a+j)=*(a+j+1);*(a+j)=-1;i-;k+;return(n-k);void main()int x15,i,n;for(i=0;ii)aji+=aij;aij=0;void main()int xNN=1,2,3,4,5,2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,5,6,7,8,9,i,j;fun(x);for(i=0;i0)max=i;strcpy(s,ssmax);return strlen(ssmax);main()char a8N,bN;int i,len;for(i=0;i#includevoid fun(char *s)int
6、 i,j;char a100;for(i=0,j=0;*(s+i)!=0;i+,j+)aj=*(s+i);if(*(s+i)=0i-=2) si=si-2; s0=t; else t=sl-2; for(i=l-2;i0;i-=2)si=si-2; s0=t; void main()char str80;gets(str);fun(str);8puts(str);12编写函数 void fun(char *s1,char *s2),功能是:对形参 s1 所指字符串升序排序,并将排序后下标为偶数的字符取出,写入形参 s2 所指字符数组中,形成一个新串。例如,下面程序若输入:The C Progr
7、amming Language,输出:LTaegghmnor。(表空格)void fun(char *s1,char *s2)int i,j,n;char t;for(i=0;*(s1+i)!=0;i+)n=i;for(j=i;*(s1+j)!=0;j+)if(*(s1+n)*(s1+j) n=j;t=*(s1+n);*(s+n)=*(s+i);*(s+i)=t;for(i=0;*(s1+)!=0;i+)if(i%2=0)*s2=*(s1+i);s2+;*s2=0;void main()char a80,b80;gets(a);fun(a,b);puts(b);13函数 void fun(ch
8、ar s)的功能是:将 s 所指字符串中 ASCII 值为奇数的字符删除。例如,若 s 所指字符串中的内容为:“ABCDEFG12345” ,其中字符 A 的ASCII 码值为奇数、字符 1 的 ASCII 码值也为奇数、都应当删除,其它依此类推。最后 s 中内容是:“BDF24” 。void fun(char s)int i,j;for(i=0;si!=0;i+)if(si%2=1)for(j=i;sj!=0;j+)sj=sj+1;9i-; void main()char a80;gets(a);fun(a);puts(a);14请编写一个函数 int fun(long int x),它的功
9、能是:判断整数 x 是否是同构数。若是同构数,函数返回 1;否则返回 0。所谓“同构数”是指这样的数,它出现在它的平方数的右边。例如:输入整数 5,5 的平方数是 25,5 是 25 中右侧的数,所以 5 是同构数,输出“Yes“ 。要求 x 的值不大于 10000。int fun(long int x)long s;s=x*x;while(x!=0)if(s%10!=x%10)return 0;x/=10;s/=10;return 1;void main()int x;scanf(“%d“,if(fun(x)=1)puts(“Yse“);else puts(“No“);15编写取子字符串函数
10、 void fun(char s1,char s2,int m,int n),其作用是将字符数组 s2 中从第 m 个字符开始的共 n 个字符拷贝到数组 s1 中;若 s2 中剩余字符不足 n 个,则取到尾部。程序运行时,当输入“abcd123“、4,3 时应输出“d12“;当我们输入“abcd123“、4,6 时应输出“d123“。注意,这里是将 1 作为起始计数。#includevoid fun(char s1,char s2,int m,int n)10int i,a,b;a=strlen(s2);b=(avoid fun(char *str)int i,j;for(i=0;stri;i+)if(stri=Amain()char a100;gets(a);fun(a);
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。