【实例6.2】调用自定义函数计算1~n的和
【实例6.3】调用自定义函数进行四则运算
【实例6.4】在被调函数中交换数据
【实例6.5】用嵌套调用的方法进行计算
【实例6.2】编写程序,输入n的值,并调用自己编写的函数计算1至n的和。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int sum_n(int n); main() { int n, a; scanf("%d",&n); a=sum_n(n); printf("The sum(1--%d) is:%d\n",n,a); } int sum_n(int n) { int i, s=0; for(i=1; i<=n; i++) s=s+i; return s; } |
【实例6.3】编写程序,输入2个数以及加、减、乘、除中的某运算符号,并调用自己编写的函数计算相应的结果。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <stdio.h> int calc_expression(int a, char op, int b) { int result; switch(op) { case '+': result =a+b; break; case '-': result =a-b; break; case '*': result =a*b; break; case '/': result =a/b; break; case '%': result =a%b; break; default: break; } return result; } int main(int argc, char *argv[]) { int a, b,result; char op; while (scanf("%d%c%d", &a,&op,&b)!=EOF) { result = calc_expression(a, op, b); printf("%d\n", result); } return 0; } |
【实例6.4】编写程序,输入2个整数,并调用自己编写的函数交换a和b中的值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> void swap(int *p,int *q); int main(int argc, char *argv[]) { int a=10,b=20; swap(&a,&b); printf("a=%d,b=%d\n",a,b); return 0; } void swap(int *p,int *q) { int t=0; t=*p; *p=*q; *q=t; } |
【实例6.5】编写fac函数,该函数的功能是计算n!,再调用该函数,计算1!+3!+5!+…+19!的值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <stdio.h> double fac(int n); double sum(int n); main() { double s; s=sum(19); printf("s=%.0f\n",s); } double sum(int n) { int i; double s=0.0; for(i=1; i<=n; i=i+2) s=s+fac(i); return s; } double fac(int n) { int i; double f=1.0; for(i=1; i<=n; i++) f=f*i; return f; } |