实验三

#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);          // 暂停1000ms
}
return 0;
}

void print_spaces(int n) {              // 打印n个空格
int i;
for(i = 1; i <= n; ++i)
printf(" ");
}

void print_blank_lines(int n) {          // 打印n行空白行
int i;
for(i = 1; i <= n; ++i)
printf("\n");
}

void print_text(int line, int col, char text[]) {             // 在第line行第col列打印一段文本
print_blank_lines(line-1);           // 打印(line-1)行空行
print_spaces(col-1);                 // 打印(col-1)列空格
printf("%s", text);                  // 在第line行、col列输出text中字符串
}



#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;
}



#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;
}


#include <stdio.h>
long long func(int n); // 函数声明
int main() {
 int n;
 long long f;
 while (scanf("%d", &n) != EOF) {
 f = func(n)-1; // 函数调用
 printf("n = %d, f = %lld\n", n, f);
 }
 return 0;
}
long long func(int n){
    long long result;
    if(n==1)
      result=2;
    else
      result=2*func(n-1);
    return result;
}




#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 result;
    if(n==m||m==0)
      result=1;
    else if(n<m)
      result=0;
    else
      result=func(n-1,m)+func(n-1,m-1);    
    return result;  
      }




#include <stdio.h>
#include <math.h>
double mypow(int,int);

int main() {
    int x, y;
    double ans;
    
    while(scanf("%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 i;
   double result=1.0;
     if(y>0)
     for(i=1;i<=y;i++)
     {  result=result*x;
     }
     if(y<0)
     for(i=1;i<=(-y);i++)
     {  result=result/x;
     }
     return result;
}


实验八
#include <stdio.h>
#include <math.h>
long func(long s); 
long sun(long d); // 函数声明
int main() {
 long s, t,d;
 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,n=0;
     while(s>=1)
     {  i=s%10;
    
        if(i%2!=0)
        {
        n=n*10+i;}
        s=s/10;}
    return sun(n);
}
long sun(long d)
{  int k=0,a=0;
   while(d>=1)
    {
    a=d%10;
    k=k*10+a;
    d=d/10;}
    return k;
}



#include<stdio.h>
void hanoi(int n,char from,char temp,char to);
void moveplate(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);
   i=0;}
   return 0;
 } 
void hanoi(int n,char from,char temp,char to)
{  if(n==1)
      {
      moveplate(n,from,to);
      i++;} 
    else
    {  hanoi(n-1,from,to,temp);
       moveplate(n,from,to);i++;
       hanoi(n-1,temp,from,to);
       
    }}
void moveplate(int n,char from,char to)
{   printf("%u:%c-->%c\n",n,from,to);
}




#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int is_prime(int n);
int main(){
int i,p=1,q,n,p1,q1;
while(scanf("%d",&n)!=EOF) {
  p=1;p1=0;q1=0;
while(p1*q1==0)
{  p++;
   q=n-p;
   p1=is_prime(p);
   q1=is_prime(q);
}
printf("%d=%d+%d\n",n,p,q);}


}
int is_prime(int n)
{  int i=2,flag=1;
   for(i;i<=sqrt(n);i++)
    {  if(n%i==0)
        {
        flag=0;
        break;}
    }
    return flag;
}
复制代码

 

 

posted @ 2023-04-02 17:42  微笑王子  阅读(17)  评论(0编辑  收藏  举报