实验三
#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; printf("p = %lld\n", p); 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); }
#include <stdio.h> void printSymbol(int n, char symbol); // 函数声明 int main() { int n; char symbol; while(scanf("%d %c", &n, &symbol) !=EOF) { printSymbol(n, symbol); // 函数调用 printf("\n"); } return 0; } void printSymbol(int n, char symbol) { if (n==1) putchar(symbol); else { putchar(symbol); printSymbol(n-1,symbol); } }
#include <stdio.h> void printSymbol(int n, char symbol); // 函数声明 int main() { int n; char symbol; while(scanf("%d %c", &n, &symbol) !=EOF) { printSymbol(n, symbol); // 函数调用 printf("\n"); } return 0; } // 函数printSymbol定义 void printSymbol(int n, char symbol) { int i; for (i=1;i<=n;i++) { putchar(symbol); } }
#include <stdio.h> long long fun(int n); // 函数声明 int main() { int n; long long f; while (scanf("%d", &n) != EOF) { f = fun(n)-1; // 函数调用 printf("n = %d, f = %lld\n", n, f); } return 0; } // 函数定义 long long fun(int n) { int ans; if(n==1) ans=2; else { ans=2*fun(n-1); } return (ans); }
#include<stdio.h> int isPrime(int n) { int i; if(n==1) return 0; if(n==2) return 1; else for(i=2;i<n;i++) { if(n%i==0) { return 0; break;} if(i==n-1) return 1; } } int main() { int n=101; int t; int num=0; while(101<=n&&n<=200) { t=isPrime(n); if(t==0) { printf("%d ",n); num++;} n++; } printf("101~200 之间一共有%d个素数",num); return 0; }
#include <stdio.h> long fun(long s); // 函数声明 int main() { long s, t; printf("Enter a number: "); while (scanf("%ld", &s) != EOF) { t = fun(s); // 函数调用 printf("new number is: %ld\n\n", t); printf("Enter a number: "); } return 0; } long fun(long s) { int t,ans; int m=1; while(s>0) { t=s%10; if(t%2!=0) { ans=ans+t*m; m*=10; } s/=10; } return ans; }
//s=1-1/2!+1/3!-1/4!...(-1)^(n-1)*1/n! #include <stdio.h> double fun(int n); // 函数声明 int main() { int n; double s; printf("Enter n(1~10): "); while (scanf("%d", &n) != EOF) { s = fun(n); // 函数调用 printf("n = %d, s= %f\n\n", n, s); printf("Enter n(1~10): "); } return 0; } double fun(int n) { double t=1; int i; double s; for(i=1;i<=n;i++)//n! { t*=i; } if(n==1) s=1; else { if(n%2==0) s=(0-1)/t+fun(int(n-1)); else s=1/t+fun(int(n-1)); } printf("%d",n); return s; }
//s=1-1/2!+1/3!-1/4!...(-1)^(n-1)*1/n! #include <stdio.h> double fun(int n); // 函数声明 int main() { int n; double s; printf("Enter n(1~10): "); while (scanf("%d", &n) != EOF) { s = fun(n); // 函数调用 printf("n = %d, s= %f\n\n", n, s); printf("Enter n(1~10): "); } return 0; } double fun(int n) { double t=1; int i; double s; for(i=1;i<=n;i++)//n! { t*=i; } if(n==1) s=1; else { if(n%2==0) s=(0-1)/t+fun(int(n-1)); else s=1/t+fun(int(n-1)); } return s; }