当前位置:文档之家› c语言之函数的调用示例

c语言之函数的调用示例

#include<stdio.h>int x(int a,int b) /*应用函数x()*/{int i;if(a>b)i=a;elsei=b;return i;}int dx(int a,int b,int c,int d){int j;j=x(d,x(c,x(b,a))); /*调用函数x()*/return j;}void main(){int a,b,c,d;scanf("%d %d %d %d",&a,&b,&c,&d);printf("max=%d\n",dx(a,b,c,d)); /*调用函数dx()*/}//递归函数f(1)=2;f(2)=3;f(n)=f(n-1)*f(n-2) 求f(n)的值;#include<stdio.h>int f(int n){int i;if(n==1)i=2;elseif(n==2)i=3;elsei=f(n-1)*f(n-2);return i;}void main(){int a;printf("please input data \n");scanf("%d",&a);printf("%d\n",f(a));/*编写一个函数:int f (int a)功能:如果a<=0,则返回错误标志-1;如果a>0,则返回(1+2+3+…+a)的计算结果。

在主函数中输入任意数n,以n为实参调用函数f,输出调用结果:返回值为-1则输出“错误”;否则输出“结果是:…(该值)”。

要求程序中包括:函数f的定义、原形声明以及调用。

*/#include<stdio.h>int f(int a){int i,j=0;if(a<=0)j=-1;elsefor(i=1;i<=a;i++)j+=i;return j;}void main(){int n;printf("please input data \n");scanf("%d",&n);if(f(n)==-1)printf("错误\n");elseprintf("%d\n",f(n));}/*题目二:(必须熟悉)编写两个函数:int f1(int a) int f2(int a)两个函数分别用来判断“完数”和“素数”,如果是则返回1,不是则返回0。

再编写两个函数:void f3(int a) void f4(int a)两个函数分别用来输出a以内的所有完数和素数,分别要调用f1和f2实现在主函数中要求用户输入两个正整数m和n,以m为参数调用f3,以n为参数调用f4,即可得到m以内的完数,n以内的素数。

要求程序中不能出现因为缺少函数原形声明而出现的警告。

*/#include<stdio.h>int f1(int a)int i,j=0;for(i=1;i<a;i++)if(a%i==0)j+=i;if(j==a)return 1;elsereturn 0;}int f2(int a){int i,j=1;for(i=2;i<=a/2;i++) if(a%i==0)j=0;return j;}void f3(int a){int i,j=0;for(i=1;i<=a;i++)if(f1(i)){ printf("%5d",i);j++;if(j%5==0)printf("\n");}}void f4(int a){int i,j=0;for(i=1;i<=a;i++)if(f2(i)){ printf("%5d",i);j++;if(j%5==0)printf("\n");}}void main(){int m,n;printf("please input data 'm' and 'n'\n"); scanf("%d,%d",&m,&n);f3(m);printf("\n");f4(n);printf("\n");}#include<stdio.h>void main(){int a;int f(int n);printf("please input data \n");scanf("%d",&a);printf("%d\n",f(a));}int f(int n){int j;if(n==1||n==2)j=1;elsej=f(n-1)+f(n-2);return j;}#include<stdio.h>#include<string.h>int f(int x){int z;z=x*x+2*x+2;return z;}void fu(){printf("********\n");}void main(){int a;char b[10];for(;;){printf("input the data\n");fu();scanf("%d",&a);a=f(a);printf("计算得%d\n",a);fu();printf("continue or not ");scanf("%s",b);if(strcmp(b,"y")==0)continue;elsebreak;}}#include<stdio.h>void f(int a){a++;printf("这是第%d次使用该程序\n",a); }void main(){int i;for(i=0;i<6;i++)f(i);}int srray[20];#include<stdio.h>void scan(int srray[],int n){int i;printf("intput data\n");for(i=0;i<n;i++)scanf("%d",&srray[i]);}void pai(int srray[],int n){int i,j;int t;for(i=0;i<n;i++)for(j=0;j<n-1;j++){if(srray[j]>srray[j+1]){t=srray[j];srray[j]=srray[j+1];srray[j+1]=t;}}for(i=0;i<n;i++)printf("%d ",srray[i]); }void main(){int n;printf("How many students?\n");scanf("%d",&n);scan(srray,n);pai(srray,n);}#include<stdio.h>void yi(char x,char z){printf("%c-->%c\n",x,z);}void yid(int a,char x,char y,char z){if(a==1)yi(x,z);else{yid(a-1,x,z,y);yi(x,z);yid(a-1,y,x,z);}}void main(){int n;printf("please input data \n"); scanf("%d",&n);yid(n,'a','b','c');}//递归函数;(计算n!)#include<stdio.h>int x(int a){int j;if(a==0||a==1)j=1;elsej=x(a-1)*a;return j;}void main(){int n;printf("please input data \n"); scanf("%d",&n);printf("%d\n",x(n));}#include<stdio.h>double f(int grade[],int n){int i,sum=0;for(i=0;i<n;i++)sum=sum+grade[i];return (sum/1.0/n);}void main(){int n1,i,n2;int grade1[20],grade2[20];printf("how many students\n");scanf("%d",&n1);printf("input the grade\n");for(i=0;i<n1;i++)scanf("%d",&grade1[i]);printf("how many students\n");scanf("%d",&n2);printf("input the grade\n");for(i=0;i<n2;i++)scanf("%d",&grade2[i]);printf("%5.2f\n",f(grade1,n1));printf("%5.2f\n",f(grade2,n2));}int a=0;#include<stdio.h>void f(){a++;printf("这是第%d次使用该程序\n",a); }void main(){int i;for(i=0;i<6;i++)f();}#include<stdio.h>int han(int i){int j;if(i==10)j=1;elsej=2*han(i+1)+2;return j;}void main(){int a;printf("please input the day\n"); scanf("%d",&a);printf("%d\n",han(a));}#include<stdio.h>int max(int x,int y){int z;if(x<y)z=y;elsez=x;return z;}int min(int x,int y){int z;if(x>y)z=y;elsez=x;return z;}int f(int x,int y){int i;for(i=min(x,y);;i--)if(x%i==0&&y%i==0)break;return i;}int fu(int x,int y){int i;for(i=max(x,y);;i++)if(i%x==0&&i%y==0)break;return i;}void main(){int x,y;printf("please input two number\n"); scanf("%d,%d",&x,&y);printf("最大公约数为%d\n",f(x,y)); printf("最小公倍数为%d\n",fu(x,y)); }。

相关主题