task1.c
#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, November~"; srand(time(0)); // 以当前系统时间作为随机种子 for(i = 1; i <= 10; ++i) { line = rand() % 25; col = rand() % 80; print_text(line, col, text); Sleep(1000); // 暂停1000ms } return 0; } // 打印n个空格 void print_spaces(int n) { int i; for(i = 1; i <= n; ++i) printf(" "); } // 打印n行空白行 void print_blank_lines(int n) { int i; for(i = 1; i <= n; ++i) printf("\n"); } // 在第line行第col列打印一段文本 void print_text(int line, int col, char text[]) { print_blank_lines(line-1); // 打印(line-1)行空行 print_spaces(col-1); // 打印(col-1)列空格 printf("%s", text); // 在第line行、col列输出text中字符串 }
功能:
随机在屏幕中的一个位置上生成 hi, November~,并重复执行十次
task2_1.c
//利用局部static变量的特性,计算阶乘 #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; }
//利用局部static变量的特性,计算阶乘 #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; }
task2_2.c
// 练习:局部static变量特性 #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; }
task3.c
#include <stdio.h> long long func(int n); //函数声明 int main(){ int n; long long f; while (scanf("%d", &n) != EOF){ f = func(n); //函数调用 printf("n = %d, f = %lld\n", n, f); } return 0; } long long func(int n){ long long fn, a, i; for(a = 2, i = 1 ;i<n; i++){ a = a*2; } fn = a - 1; return fn; }
task4_1.c
#include <stdio.h> int func(int n, int m); int main(){ int n, m; while (scanf("%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 i, j = 1, k = 1, cnm; for(i = 0; i < m ;i++){ j = j * (n - i); k = k * (m - i); } return cnm = j / k; }
task4_2.c
#include <stdio.h>
int func(int n, int m);
int main(){
int n, m;
while (scanf("%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){
if(n == m){
return 1;
}
else if(m == 1){
return n;
}
else if(m == 0){
return 1;
}
else if(n < m){
return 0;
}
for(;m < n; ){
return func( --n, m) + func( n, --m);
}
}
task 5
#include <stdio.h> #include <stdlib.h> void hanoi(unsigned int n, char from, char temp, char to); void moveplate(unsigned int n, char from, char to); int i = 0; int main(){ unsigned int n; while (scanf("%u",&n) != EOF ){ hanoi(n, 'A', 'B', 'C'); printf("一共移动了%d次\n",i); system("pause"); } return 0; } void hanoi(unsigned int n, char from, char temp, char to){ if(n == 1){ moveplate(n, from, to); } else{ hanoi(n - 1, from, to, temp); moveplate(n, from, to); hanoi(n - 1, temp, from, to); } } void moveplate(unsigned int n, char form, char to){ printf("%u:%c-->%c\n", n, form, to); i ++; }
task 6
#include <stdio.h> #include <math.h> long func(long s); int j; int main(){ long s, t, i = 0; int d = 0, m = 0, j = 0; printf("Enter a number: "); while (scanf("%ld", &s) != EOF){ t = func(s); printf("new number is: %ld\n\n", t); printf("Enter a number: "); } return 0; } long func(long s){ int i = 0, t = 0, d = 0; long m = s ; int x[100] = {0, 0}; do{ d = m % 10; if(d != d/2 + d/2){ x[i++] = d; } else{ } m = m / 10; } while(m > 0); for(j = 0 ;j <= i;){ int a, b; for(a = 0, b = 1 ;a < j;){ b = b * 10; a++; } t += x[j] * b; j++; } return t; }
标签:return,函数,int,编程,long,C语言,char,func,include From: https://www.cnblogs.com/NJ-1230/p/17798177.html