c语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.主函数main 已经给出,请编写函数fun ,它的功能是:计算并输出下列级数和:S=1/(1*2)+1/(2*3)+……+1/(n*(n+1))函数fun 在主函数中调用。
源程序:
#include
double fun(int n)
{
float s;
int i;
for(i=1,s=0;i<=n;i++)
{
s=s+1.0/(i*(i+1));
}
return(s);
} void main()
{
double k;
k=fun(10);
printf("k=%f\n",k);
} 结果:
k=0.909091
2、编写程序,计算下面公式并输出结果C n m =
!)!(!
m m n n 。 源程序:
#include
int fun(int n)
{
int i,s=1;
for(i=2;i<=n;i++)
{
s=s*i;
}
return(s); }
void main() {
int n,m;
float k;
printf("please input two integer datas:\n");
scanf("%d,%d",&n,&m);
if(n printf("%d,%d are prime datas!\n",n,m); k=fun(n)/(fun(n-m)*fun(m)); printf("k=%f\n",k); } 结果: please input two integer datas: 8,5 k=56.000000 3、编程两个函数,分别求出两个正整数的最大公约数与最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数由键盘输入。 源程序: #include int zdgy(int m,int n) { int t,k,i; if(m>n)t=n; else t=m; for(i=1;i<=t;i++) { if(m%i==0&&n%i==0) k=i; } return(k); } int zxgb(int m,int n,int h) { return(m*n/h); } void main() { int m,n,a,b; printf("please input m,n\n"); scanf("%d,%d",&m,&n); a=zdgy(m,n); b=zxgb(m,n,a); printf("%d,%d\n",a,b); } 结果: please input m,n 74,52 2,1924 4、fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。 #include int fun(int a[5][5]) { int row,col,max,min,i; for(row=0;row<5;row++) { max=a[row][0]; for(col=1;col<5;col++) if(a[row][col]>max) max[row]==a[row][col]; min=max[0]; for(i=0;i<5;i++) if(max[i] min=max[i]; } return(min); } void main() { int a[5][5]; int i,j,t; printf("\nPlease enter some data:"); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); printf("\n"); t=fun(a); printf("yun xing jie guo wei %d\n",t); } # include # define N 5 int fun (int a[][N]) { int row,col,max,min; for(row=0;row { max=a[row][0]; for(col=1;col if(a[row][col]>a[row][0]) max=a[row][col]; if(row==0)min=max; else if (max }return (min); } void main () { int a[N][N],i,j,min; printf("请输入数组a[5][5]:\n"); for(i=0;i for(j=0;j scanf("%d",&a[i][j]); min=fun(a); printf("每行最大中的最小数是%d.\n",min); } 结果: 请输入数组a[5][5]: 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 每行最大中的最小数是5.