实验3

task1.c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
#define N 80
void printText(int line,int col,char text[]);
void printSpaces(int n);
void printBlankLines(int n);
int main()
{
    int line,col,i;
    char text[N]="hi,May~";
    srand(time(0));
    for(i=1;i<=10;++i)
    {
        line=rand()%25;
        col=rand()%80;
        printText(line,col,text);
        Sleep(1000);
    }
    return 0;
}
void printSpaces(int n)
{
    int i;
    for(i=1;i<=n;++i)
    {
        printf(" ");
    }
}
void printBlankLines(int n)
{
    int i;
    for(i=1;i<=n;++i)
    {
        printf("\n");
    }
}
void printText(int line,int col,char text[])
{
    printBlankLines(line-1);
    printSpaces(col-1);
    printf("%s",text);
}

task.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!=%11d\n",i,fac(i)); return 0; } long long fac(int n) { static long long p=1; p=p*n; return p; }

task.3
#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; }

task.4
#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",n,f); } return 0; } long long fun(int n) { static long long m; if(n>=1&&n<=32) { m=2*fun(n-1)+1; } else if(n==0) m=0; return m;

task.5
#include <stdio.h> void hanoi(unsigned int n,char from,char temp,char to); void moveplate(unsigned int n,char from,char to); int i; int main() { unsigned n; while(scanf("%u",&n)!=EOF) { i=0; hanoi(n,'A','B','C'); printf("\n一共移动%d次\n",i); } 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 n,char from,char to) { i++; printf("第%u个盘子:%c-->%c\n",n,from,to); }

task.6
#include<stdio.h> #include<math.h> #include "stdio.h" int is_prime(int a) //判断素数的函数 { int j; for(j=2;j<a;j++) if(a%j==0) return 0; else return 1; } int prime(int number) { int a=sqrt(number) ; for(int i=2;i<=a;i++){ if(number%i==0) return 0 ; } return 1 ; } int main() { int count=0,flag; for(int i=2;i<=20;i++){ flag=0; for(int j=2;j<i;j++){ for(int k=2;k<i;k++){ if(i%2==0&&prime(j)==1&&prime(k)==1&&i==j+k){ printf("%4d=%2d+%2d",i,j,k) ; count++; flag=1; break ; } } if(flag==1) break; } printf("\n"); } 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)
{
    long i,j=1,k=0;
    while(s!=0)
    {
        i=s%10;
        if(i%2!=0)
        {
            k=k+i*j;
            j=j*10;
        }
        s=s/10;
    }
    return k;
}

 

posted @ 2022-04-26 09:09  龚万彧  阅读(22)  评论(3)    收藏  举报