1.实验任务1
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<windows.h> #define N 80 void print_text(int line, int col, char text[]); void print_spaces(int n); void print_blank_lines(int n); int main() { int line, col, i; char text[N] = "hi,April"; srand(time(0)); for (i = 1;i <= 10;++i) { line = rand() % 25; col = rand() % 80; print_text(line, col,text); Sleep(1000); } return 0; } void print_spaces(int n) { int i; for (i = 1;i <= n;++i) printf(" "); } void print_blank_lines(int n) { int i; for (i = 1;i <= n;++i) printf("\n"); } void print_text(int line, int col, char text[]) { print_blank_lines(line - 1); print_spaces(col - 1); printf("%s", text); }
实现的功能:随机分布“hi,April”
2.实验任务2
1)
#include <stdio.h> long long fac(int n); int main() { int i, n; printf("Enter n: "); scanf_s("%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; printf("p=%lld\n", p); return p; }
2)
#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.实验任务3
int main() { int n; long long f; while (scanf_s("%d", &n) != EOF) { f = func(n); printf("n=%d,f=%lld\n", n, f); } return 0; } long long func(int n) { long long sum = 1; for (int i = 1;i <= n;i++) sum = sum * 2; sum = sum - 1; return sum; }
4.实验任务4
#include<stdio.h> int func(int n, int m); int main() { int n, m; while (scanf_s("%d %d", &n, &m) != EOF) printf("n=%d,m=%d,ans=%d\n", n, m, func(n, m)); return 0; } int func(int n, int m) { int s; if (n < m) return 0; else if (n == 0 || m == 0 || n == m) return 1; else s = func(n - 1, m) + func(n - 1, m - 1); return s; }
5.实验任务5
1)
#include<stdio.h> double mypow(int x, int y); int main() { int x, y; double ans; while (scanf_s("%d %d", &x, &y) != EOF) { ans = mypow(x, y); printf("%d的%d次方:%g\n\n", x, y, ans); } return 0; } double mypow(int x, int y) { int t, i; if (y < 0) t = -y; else t = y; double sum = 1; for (i = 1;i <= t;i++) sum = sum * x; if (y > 0) return sum; else sum = 1 / sum; return sum; }
2)
int main() { int x, y; double ans; while (scanf_s("%d %d", &x, &y) != EOF) { ans = mypow(x, y); printf("%d的%d次方:%g\n\n", x, y, ans); } return 0; } double mypow(int x, int y) { int m, n; if (y == 0) return 1; if (y > 0) m=x * mypow(x, y - 1); return m; if (y < 0) n = 1/ x * mypow(x, y); return n; }
6.实验任务6
#include<stdio.h> void hanoi(int n, char A, char B, char C); void move(int n,char x, char y); int p; int main() { int n; while (scanf_s("%d", &n) != EOF) { p = 0; hanoi(n, 'A', 'B', 'C'); printf("一共移动了%d次",p); } return 0; } void hanoi(int n, char A, char B, char C) { if (n == 1) move(n,A, C); else { hanoi(n - 1, A, B, C); move(n,A, C); hanoi(n - 1, B, A, C); } } void move(int n, char x, char y) { p++; printf("%d:%c --> %c\n", n, x, y); }
7.实验任务7
#include<stdio.h> int is_prime(int x); int main() { int i, n; while (scanf_s("%d", &n) != EOF) { for (i = 2;i <= n;i++) { if (!is_prime(i) || !is_prime(n - i)) continue; printf("%d=%d+%d\n", n, i, n - i); break; } } return 0; } int is_prime(int x) { int i; for (i = 2;i * i <= x;i++) if (x % i == 0) return 0; return 1; }
8.实验任务8
#include<stdio.h> #include<math.h> long func(long s); int main() { long s, t; printf("Enter a number:"); while (scanf_s("%ld", &s) != EOF) { t = func(s); printf("new number is:%ld\n\n", t); printf("Enter a number:"); } return 0; } long func(long s) { long t = 0, t1 = 0; while (s > 0) { int m = s % 10; s = s / 10; if (m % 2 == 1) t1 = t1 * 10 + m; } while (t1 > 0) { t = t * 10 + (t1 % 10); t1 = t1 / 10; } return t; }
标签:return,int,long,char,实验,func,include From: https://www.cnblogs.com/zozominions/p/17289812.html