實驗3 C語言函式應用程式設計

井灏扬發表於2024-10-29
#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);         
}

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

相關文章