第三次实验

 1 #include <stdio.h> 
 2 #include <stdlib.h> 
 3 #include <time.h> 
 4 #include <windows.h> 
 5 #define N 80 
 6 void printText(int line, int col, char text[]); // 函数声明 
 7 void printSpaces(int n); // 函数声明
 8 void printBlankLines(int n); // 函数声明 
 9 int main() 
10 { 
11    int line, col, i; 
12    char text[N] = "hi, May~"; 
13    srand(time(0)); // 以当前系统时间作为随机种子 
14    for(i=1; i<=10; ++i) 
15    { 
16        line = rand()%25; 
17        col = rand()%80; 
18        printText(line, col, text); 
19        Sleep(1000); // 暂停1000ms 
20     }
21     
22     return 0; 
23 }
24 
25 // 打印n个空格 
26 void printSpaces(int n) 
27 { 
28    int i; 
29    for(i=1; i<=n; ++i) 
30    printf(" "); 
31 }
32 
33 // 打印n行空白行 
34 void printBlankLines(int n) 
35 { 
36    int i; 
37    for(i=1; i<=n; ++i) 
38    printf("\n"); 
39 }
40 
41 // 在第line行第col列打印一段文本 
42 void printText(int line, int col, char text[]) 
43 { 
44    printBlankLines(line-1);
45    printSpaces(col-1); // 打印n-1列空格 
46    printf("%s", text);
47 }

功能:在随机位置间隔时间打印十个“hi,May~”字符

 1 // 利用局部static变量的特性,计算阶乘 
 2 #include <stdio.h> 
 3 long long fac(int n); // 函数声明 
 4 int main()
 5 { 
 6    int i, n; 
 7    printf("Enter n: "); 
 8    scanf("%d", &n); 
 9    for (i = 1; i <= n; ++i) 
10    printf("%d! = %lld\n", i, fac(i)); 
11    return 0; 
12 }
13 
14 // 函数定义 
15 long long fac(int n) 
16 { 
17    static long long p = 1; 
18    printf("p = %lld\n",p);
19    p = p * n; 
20    return p;
21 }

 1 // 练习:局部static变量特性 
 2 #include <stdio.h> 
 3 int func(int, int); // 函数声明 
 4 int main() 
 5 { 
 6    int k = 4, m = 1, p1, p2; 
 7    p1 = func(k, m); // 函数调用 
 8    p2 = func(k, m); // 函数调用 
 9    printf("%d,%d\n", p1, p2); 
10    return 0; 
11 }
12 
13 // 函数定义 
14 int func(int a, int b)
15 { 
16    static int m = 0, i = 2;
17    i += m + 1; 
18    m = i + a + b; 
19    return m; 
20 }

局部static变量的特性:静态局部变量在程序执行到该对象的声明处时被首次初始化,以后的函数调用不再进行初始化

 1 #include <stdio.h> 
 2 long long fun(int n); // 函数声明 
 3 int main() 
 4 {
 5     int n; 
 6     long long f; 
 7     while (scanf("%d", &n) != EOF) 
 8     { 
 9         f = fun(n); // 函数调用 
10         printf("n = %d, f = %lld\n", n, f);
11     }
12 
13 return 0;
14 }
15 
16 long long fun(int n)
17 {
18     long long f;
19     if(n==0)
20     f = 0;
21     else
22     f = (2*fun(n-1))+1;
23     return f;
24     
25 } 

 1 #include <stdio.h>
 2 #include <math.h>
 3 void hanoi(int n,char a,char b,char c); 
 4 int main()
 5 {
 6     int num=0,t;
 7     while(scanf("%d",&num)!=EOF)
 8     {
 9         hanoi(num,'A','B','C'); 
10         t = pow(2,num)-1;
11         printf("\n一共移动了%d次\n\n",t);
12     }
13     
14     return 0;
15 }
16 
17 void hanoi(int n,char a,char b,char c) //定义函数 
18 {
19     if(n==1)  //如果只有一个,那么只需要从a杆移至c杆; 
20    {
21        printf("第1个盘子:%c-->%c\n",a,c);
22    }
23     else //如果有多个 
24    {
25         hanoi(n-1,a,c,b);
26         printf("第%d个盘子: %c-->%c\n",n,a,c);              
27         hanoi(n-1,b,a,c) ; 
28    }
29 
30 }

 1 #include <stdio.h>
 2 #include <math.h>
 3 #define N 20
 4 int is_prime(int n);
 5 int main()
 6 {
 7     for (int n = 4; n <= N; n+=2)
 8         for (int a = 2; a <= n/2 ; a++)
 9             if (is_prime(a) && is_prime(n - a))
10                 printf("%d=%d+%d\n", n, a, n - a);
11 }
12 int is_prime(int n)
13 {
14     if (n == 1)
15         return 0;
16     for (int i = 2; i <= sqrt(n); i ++)
17         if (n % i == 0)
18             return 0;
19     return 1;
20 }

 1 #include <stdio.h>
 2 #include <math.h>
 3 long fun(long s);
 4 int main()
 5 {
 6     long s, t;
 7     printf("Enter a number: "); 
 8     while (scanf("%ld", &s) != EOF) 
 9     { 
10        t = fun(s); // 函数调用 
11        printf("new number is: %ld\n\n", t); 
12        printf("Enter a number: "); 
13     }
14        
15     return 0; 
16 }
17 
18 long fun(long s)
19 {
20     int sum=0,i,j;
21     
22     for(j=0;s!=0;s=s/10)
23     {
24         i = s%10;
25         
26         if(i==1||i==3||i==5||i==7||i==9)
27         {
28             sum = i*pow(10,j) + sum;
29             j = j+1;
30         }
31     }
32     return sum;
33 }

 

posted @ 2022-04-19 16:18  酒酿鸭不想思考  阅读(64)  评论(1)    收藏  举报