《高级语言程序设计》答案.docx
- 文档编号:12311591
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:44
- 大小:28.63KB
《高级语言程序设计》答案.docx
《《高级语言程序设计》答案.docx》由会员分享,可在线阅读,更多相关《《高级语言程序设计》答案.docx(44页珍藏版)》请在冰豆网上搜索。
《高级语言程序设计》答案
1.输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。
#include
intmain()
{
inti,j,t;
intmax(int,int);
intmin(int,int);
scanf("%d%d",&i,&j);
if(i {t=i;i=j;j=t;} printf("%d%d\n",max(i,j),min(i*j,max(i,j))); return0; } intmax(inti,intj) { intt; while(j) { t=i%j; i=j; j=t; } returni; } intmin(intp,intq) { returnp/q; } 2.输入4个整数,找出其中最大的数。 用函数的嵌套调用来处理。 #include intmain() { intmax4(int,int,int,int);//对max4的函数声明 inta,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d);//输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return0; } intmax4(inta,intb,intc,intd)//定义max4函数 { intmax2(int,int);//对max2的函数声明 returnmax2(max2(max2(a,b),c),d);//调用max2把作为函数值带回main函数 } intmax2(inta,intb) { return(a>b? a: b);//返回条件表达式的值,即a和b中的大者 } 3.用递归调用的方法求5! 。 #include intmain() { intfac(int); intn; scanf("%d",&n); printf("%d! =%d\n",n,fac(n)); return0; } intfac(intn) { if(n==0||n==1) return1; else returnfac(n-1)*n; } 4.按以下递归公式求函数的值。 例如,当给n输入5时,函数值为18,(要求用递归实现)。 #include intmain() { intfun(int); intn; scanf("%d",&n); printf("%d\n",fun(n)); return0; } intfun(intn) { if(n==1) return10; else returnfun(n-1)+2; } 5.用递归法将一个整数n转换成字符串。 例如,输入483,应输出字符串“483”,n的位数不确定,可以是任意位数的整数。 #include voidmain() {voidfun(int); intn; scanf("%d",&n); if(n<0) { n=-n; putchar('-'); } fun(n); puts(""); } voidfun(intm) { if(m/10) fun(m/10); putchar(m%10+48); } 6.写一个函数,完成将一个数组中的值按逆序重新存放。 例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。 #include #defineN5 intmain() { voidfun(inta[]); inta[N],i; for(i=0;i scanf("%d",&a[i]); fun(a); return0; } voidfun(inta[N]) { intt,i; for(i=0;i { t=a[i]; a[i]=a[N-1-i]; a[N-1-i]=t; } for(i=0;i printf("%d",a[i]); puts(""); } 7.编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。 #include intmain() { floataverage(intc[],intn); inti,score_1[5],score_2[10]; floatp,q; for(i=0;i<5;i++) scanf("%d",&score_1[i]); for(i=0;i<10;i++) scanf("%d",&score_2[i]); p=average(score_1,5); q=average(score_2,10); printf("%f\n%f\n",p,q); return0; } floataverage(intc[],intn) {floatm=0.00; inti; for(i=0;i m=m+c[i]; return(m/n); }8.编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。 #include intmain() { voidc(charst1[],charst2[]); chars1[100],s2[100]; gets(s1);gets(s2); c(s1,s2);puts(s1); return0; } voidc(charst1[],charst2[]) { inti=0,k=0; while(st1[++i]); while(st1[i++]=st2[k++]); } 9.编写一个函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。 #include intmain() { chara[100],b[100]; voidfun(chara[],charb[]); gets(a); gets(b); fun(a,b); return0; } voidfun(chara[],charb[]) { for(inti=0;;i++) { if(a[i]>b[i]) {puts(a);break;} elseif(a[i] {puts(b);break;} else continue; } } 10.编写一个函数,实现在一个升序排列的整型数组中插入一个整数的功能,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。 #include inta[11]={1,3,5,7,14,23,45,87,155,231}; intmain() { intc,i; voidfun(inta[],intc); printf("inputaninteger: "); scanf("%d",&c); fun(a,c); for(i=0;i<11;i++) printf("%d",a[i]); printf("\n"); return0; } voidfun(inta[],intt) { inti,j; if(t>a[9]) a[10]=t; else { for(i=0;i<11;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级语言程序设计 高级 语言程序设计 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)