第三次作业

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.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(1); // 暂停1000ms
        }
        return 0;
}
// 打印n个空格
void printSpaces(int n)
{
    int i;
    for(i=1; i<=n; ++i) printf(" ");
    }
    // 打印n行空白行
void printBlankLines(int n)
{
    int i;
    for(i=1; i<=n; ++i)
        printf("\n");
        }// 在第line行第col列打印一段文本
void printText(int line, int col, char text[])
{
    printBlankLines(line-1); // 打印n-1行空行
    printSpaces(col-1); // 打印n-1列空格
    printf("%s", text);
    }

// 利用局部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=%11d\n",p);
        p = p * n;
        return p;
         }
//static可以将循环后的数值传到下一次循环

#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, f);
        }
        return 0;
}// 函数定义 // 待补足
long long fun(int n)
{
    long long i,m=1;
    for(i=0;i<n;i++)
    {
        m=2*m;
    }
    m=m-1;
    return m;
}

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

}
int fun(int n)
{
    int k;
    k=2*fun(n-1)+1;
    return k;
}

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int is_prime(int n);
int main()
{
    int i=2,s;
    for(i=4;i<=20;i+=2)
    {
        for(s=2;s<=i/2;s++)
        {

            if(is_prime(s)==1&&is_prime(i-s)==1)

                printf("%d=%d+%d\n",i,s,(i-s));

        }
    }
     return 0;
}
int is_prime(int n)
{
    int w;
    for(w=2;w<=sqrt(n);w++)
    
        if(n%w==0)
            break;
        if(w>sqrt(n))
            return 1;
        else if(w<=sqrt(n))
            return 0;

}

#include<stdio.h>
long fun(long s);//函数声明
int main()
{
    long s,t;
    printf("Enteranumber:");
    while(scanf("%ld",&s)!=EOF)
    {
    t=fun(s);//函数调用
    printf("newnumberis:%ld\n\n",t);
    printf("Enteranumber:");
    }
    return 0;
}
long fun(long s)
{
    long t=0,a;
    int i=0;

    while(s!=0)
    {
        a=s%10;
        if(a%2!=0)
        {
            t+=a*pow(10,i);
            i++;
        }
        s=s/10;
    }

    return t;
}

 

posted @ 2022-04-20 16:25  清风不尽  阅读(42)  评论(0)    收藏  举报