实验4
实验1
#include <stdio.h> long long fun(int n); // 函数声明 int main() { int n; long long f; while (scanf("%d", &n) != EOF) { f = fun(n); printf("n = %d, f = %lld\n", n, f); } return 0; } //函数定义 //补足。。。 long long fun(int n) { if (n == 1) { return 1; } else { return fun(n - 1) * 2 + 1; } }

实验2
#include <stdio.h> long long fac(int n); // 函数声明 int main() { int i, n; printf("Enter n: "); scanf("%d", &n); for (i = 1; i <= n; ++i) printf("%d! = %lld\n", i, fac(i)); return 0; } // 函数定义 long long fac(int n) { static long long p = 1; p = p * n; return p; }

#include<stdio.h> int func(int, int); int main() { int k = 4, m = 1, p1, p2; p1 = func(k, m); p2 = func(k, m); printf("%d,%d\n", p1, p2); return 0; } int func(int a, int b) { static int m = 0, i = 2; i += m + 1; m = i + a + b; return (m); }

static变量只能在定义该变量的函数内使用
实验3
#include <stdio.h> #include <stdlib.h> #define N 1000 int fun(int n, int m, int bb[N]) { int i, j, k = 0, flag; for (j = n; j <= m; j++) { flag = j; for (i = 2; i < j; i++) if (flag % i == 0) { flag = 0; break; } if (flag != 0) bb[k++] = j; } return k; } int main() { int n = 0, m = 0, i, k, bb[N]; scanf("%d", &n); scanf("%d", &m); for (i = 0; i < m - n; i++) bb[i] = 0; k = fun(n, m, bb); for (i = 0; i < k; i++) printf("%4d", bb[i]); return 0; }

实验4
#include <stdio.h> void dec2n(int x, int n); // 函数声明 int main() { int x; printf("输入一个十进制整数: "); scanf("%d", &x); dec2n(x, 2); // 函数调用: 把x转换成二进制输出 dec2n(x, 8); // 函数调用: 把x转换成八进制输出 dec2n(x, 16); // 函数调用: 把x转换成十六进制输出 return 0; } void dec2n(int x, int n) { int i, b, a[100]; for(i=0;x!=0;i++){ a[i]=x%n; x=x/n; } if(a[i]>9) switch(a[i]){ case 10:a[i]='A';break; case 11:a[i]='B';break; case 12:a[i]='C';break; case 13:a[i]='D';break; case 14:a[i]='E';break; case 15:a[i]='F';break; } printf("\n"); for(b=i-1;b>=0;b--){ printf("%d",a[b]); } }


浙公网安备 33010602011771号