c程期末上机答案

上传人:第*** 文档编号:34063176 上传时间:2018-02-20 格式:DOC 页数:9 大小:63KB
返回 下载 相关 举报
c程期末上机答案_第1页
第1页 / 共9页
c程期末上机答案_第2页
第2页 / 共9页
c程期末上机答案_第3页
第3页 / 共9页
c程期末上机答案_第4页
第4页 / 共9页
c程期末上机答案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《c程期末上机答案》由会员分享,可在线阅读,更多相关《c程期末上机答案(9页珍藏版)》请在金锄头文库上搜索。

1、1 请编写函数 long fun(long int x),功能是:将长整型数 x 中每一位上为奇数的数依次取出,并逆序构成一个新数返回。例如:程序运行时输入 123456789,输出:b=97531。 #includelong fun(long int x) long int c,d=0;doc=x%10;if(c%2!=0)d=d*10+c;x=x/10;while(x);return(d);void main()long a,b;printf(Please input a long int num:);scanf(%ld,b=fun(a);printf(b=%ldn,b);3 编写函数 i

2、nt fun(int m),计算并返回满足表达式:1+(1+2 )+(1+2+3)+(1+2+3+4)+ +(1+2+3+ +n)int fun(int m)int i,s1=0,s2=0;for(i=1;i+)s1+=i;s2+=s1;if(s2m)break;return(i-1);void main()int x;scanf(%d,printf(n=%dn,fun(x);5 编写函数 long fun(int high,int n),功能是:计算并返回 high 以内(不包含 high)最大的 n 个素数之和。若不足 n 个,则到最小素数 2 为止。例如:若 high=100,n=10,

3、则函数的返回值为:732;若 high=11,n=10,则函数返回:17。long fun(int high,int n) int i,j,s=0,m=0;for(i=high-1;i=2;i-) for(j=2;j=i)m+=1;s+=i;if(m=n)break;return(s);void main()int k,n;scanf(%d%d,printf(sum=%ldn,fun(k,n);6 请编写函数 int fun(int *a,int n),它的功能是:把形参 a 所指数组中的偶数按原顺序依次存放到 a0、a1、a2、中,把奇数从数组中删除,偶数个数通过函数值返回,以-1 作为有效

4、数据的结束标志。例:若输入: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;n=0;for(i=0;i0)p0= ;else p0=-;for(i=16;i=1;i-)if(abs(x)%2=0)pi=0;else pi=1;x=abs(x)/2;p17=0;main()int a;char c18;scanf(%d,fun(a,c);printf(%dS BINARY IS: %sn,a,c);9. 编写函数 int fun(char (*ss)N,int m,cha

5、r *s),功能是:形参 ss 指向一个 m 行 N 列的二维字符数组,每行存放一个字符串。求出最大的字符串,复制到 s 所指的字符数组中,然后返回此最大字符串的长度。#define N 30int fun(char (*ss)N,int m,char *s)int i,len;strcmp(s,ss0);for(i=1;i0)strcpy(s,ssi);len=strlen(s);return(len);main()char a8N,bN;int i,len;for(i=0;i#includevoid fun(char *s) int i,j=0;char mN;for(i=0;*(s+i)

6、!=0;i+,j+)if(*(s+i)=0&*(s+i)*(s1+j)t=*(s1+i);*(s1+i)=*(s1+j);*(s1+j)=t;j=0;for(i=0;iint fun(long int x)long int y,z=0,m;int i,k,j;y=x*x;for(i=0;i+)m=y%10;j=0;while(jvoid fun(char s1,char s2,int m,int n)int i,j=0;for(i=m-1;ivoid fun(char *str)int i;if(*str=afor(i=1;stri!=0;i+)if(*(str+i)=,|stri=.|str

7、i= )if(stri+1=a&stri+1=A&stri0;i-)*(p+i)=*(p+i-1);*p=k; main()void fun(int *,int ,int );int x10=1,2,3,4,5,6,7,8,9,10,i;fun(x,10,14);for(i=0;i12345,输出 a1b2c345,若输入 abcde123,则输出 a1b2c3de。 #include#includevoid fun(char *s1,char *s2)int i,j;char c200;for(i=0,j=0;s1i!=0|s2i!=0;i+)if(s1i!=0)cj=s1i;j+;if(s

8、2i!=0)cj=s2i;j+;cj=0;strcpy(s1,c);main()char a100,b100;void fun(char *,char *);gets(a);gets(b);fun(a,b);puts(a);19. 传说可以根据两个人的生日来计算其缘分.方法:将两个人的生日各位相加,将得到的数再一次各位相加,直到其值为一个一位数,此数即代表两个人的缘分.例如,两个生日为:19820523,19841111,则各位相加:1+9+8+2+5+2+3+1+9+8+4+1+1+1+1 得:56;再 5+6 得 11;再 1+1 得 2,即为两人的缘分.编写计算缘分程序,两个生日由键盘输入.#include stdio.hint fun(long x,long y)int i,s=0,c;for(i=0;x!=0|y!=0;i+) s+=(x%10+y%10);x=x/10;y=y/10;for(i=0,c=0;i+)c+=s%10;s=s/10;if(s=0)s=c;if(s=0else c=0;main()long x,y;int k;scanf(%ld%ld,k=fun(x,y);printf(yuan fen is %d,k);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号