资源描述:
《C语言第五次作业(函数).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C语言第五次作业要求写出:一、实验目的:二、实验内容:(程序代码及调试结果)1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。#includevoidmain(){intMaximum(intn,intm);//对Maximum的原型声明,Maximum用来求最大公约数//intMinimum(intn,intm);//对Minimum的原型声明,Minimum用来求最小公倍数//inta,b,c,d;printf("请输入两个整数");scanf("%d%d",&a,&b);c=
2、Maximum(a,b);d=Minimum(a,b);printf("%d和%d的最大公约数是%d最小公倍数是%d",a,b,c,d);}intMaximum(intn,intm)//用来求两个整数的最大公约数//{intr,t;if(m>n)//保证n不是两个数中最小的数//{t=n;n=m;m=t;}r=n%m;while(r!=0){n=m;m=r;r=n%m;}returnm;}intMinimum(intn,intm)//用来求两个整数的最小公倍数//{returnn*m/Maximum(n,m);}2.请编写函数,该函数的功能是:将大于整数m
3、且紧靠m的k个素数存入xx数组中,在输出。例如:若输入:m=17,k=5,则应输出大于且紧靠17(m)的5(k)个素数:19,23,29,31,37。#include"stdio.h"intprime(intn){inti;for(i=2;i4、a[i];returns;}main(){intt,m,k;printf("请输入m,k:");scanf("%d,%d",&m,&k);t=fun(m,k);printf("%d",t);}3.写一函数,使给定的一个3*3的二维整型数组转置,即行列互换。4.编写函数fun,该函数的功能是比较两个字符串的长度(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。#include#includechar*fun(char*a,char*b){inti,count1
5、,count2;for(i=0;*(a+i);i++);count1=i;for(i=0;*(b+i);i++);count2=i;if(count1>=count2)returna;elsereturnb;}main(){chara[20],b[20],*c;printf("Inputstringa:");gets(a);printf("Inputstringb:");gets(b);c=fun(a,b);printf("Thebiggerstringis:");puts(c);}3.写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符
6、串。4.#include#include#defineN10//可通过改变N的值来改变输入字符串的长度chara[30];inti;voidmain(){voidReverse();//函数声明printf("请输入字符串:");scanf("%s",&a[i]);printf("反转后的字符串:");Reverse();//函数调用}voidReverse()//函数定义{for(i=N;i>=0;i--)printf("%c",a[i]);printf("");}6.请编写函数fun的功能是:求S的值。设S=22/(1
7、*3)*42/(3*5)*62/(5*7)*…*(2k)2/((2k-1)*(2k+1))。请在主函数中输入当k为10时,调用函数fun求S的值,并在主函数中输出S的值。#include#include#include#includefun(intk){intn;floats,w,p,q;n=1;s=1.0;while(n<=k){w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n++;}returns}voidmain(){system("CLS");printf("
8、%f"