实验三202383310064闫忠奥

实验一
#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);
	}
	
	return 0; 
}
void print_spaces(int n) {
	int i;
	
	for(i = 1; i <= n; ++i)
		printf(" ");
}

void print_blank_lines(int n) {
	int i;
	
	for(i = 1; i <= n; ++i)
		printf("\n");
 } 
void print_text(int line, int col, char text[]) {
	print_blank_lines(line-1);
	print_spaces(col-1); 
	printf("%s", text);
}

  

随机生成十个“hi,April~”在随机行随机列。

实验二

#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;
    printf("p=%lld\n",p); 
    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); 
   printf("n = %d, f = %lld\n", n, f);
   }
   return 0;
}
long long func(int n){
	int f=1;
	if(n==1)
	f=1;
	else if(n>1)
	f=func(n-1)*2+1;
	return f;
}

  

实验四

#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 ans,t,a=1,b=1,i;
    if (m==1)
    ans=n;
    if(n<m)
    ans=0;
    if(n>m);
    {
    t=n-m;
    for(i=n;i>=t+1;i--)
    a=i*a;
    for(i=1;i<=m;i++)
    b=i*b;
    ans=a/b;
    }
    return ans;
}

 

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

实验五

#include<stdio.h>
#include<stdlib.h>
void hanoi(unsigned int n,char from,char temp,char to,int*p);
void moveplate(unsigned int n,char from,char to,int*p);
int main(){
    unsigned int n;
    int s=0;
    scanf("%u",&n);
    hanoi(n,'A','B','C',&s);
    printf("一共移动了%d次",s);
    return 0;
}
void hanoi(unsigned int n,char from,char temp,char to,int*p)
{
    if(n==1)
    moveplate(n,from,to,p);
    else
    {
        hanoi(n-1,from,temp,to,p);
        moveplate(n,from,to,p);
        hanoi(n-1,temp,from,to,p);
    }
}
void moveplate(unsigned int n,char from,char to,int*p)
{  
    printf("%u:%c-->%C\n",n,from,to);
    *p=*p+1;

}

实验六

#include<stdio.h>
#include<stdlib.h>
long func(long s);
int main()
  {
    long s, t;
    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=1,m=0,j=1;
    while(s!=0)
    {
    i=s%10;
    if(i%2!=0)
    { 
     m=m+i*j; j=j*10; 
    }
    s=s/10;
}
return m;
}

 

posted @ 2024-04-27 21:57  杰瑞斯  阅读(4)  评论(0编辑  收藏  举报