Ctest6(2019-05-21)

//
//  main.c
//  Ctest6
//
//  Created by 王彬 on 2019/5/20.
//  Copyright © 2019年 王彬. All rights reserved.
//



//test1
/*
#include

void main()
{
    void printstar();
    void print_message();
    printstar();
    print_message();
    printstar();
}
void printstar()
{
    printf("*******************\n");
}
void print_message()
{
    printf("退而采薇,倦勤者也\n");
}
*/



//test2 调用函数时的数据传递
/*
#include

void main()
{
    int max(int x , int y);//形参
    int a , b , c;
    scanf("%d,%d", &a,&b);
    c = max(a,b);//实参
    printf("Max is %d\n",c);
}

int max(int x ,int y)
{
    int z;
    z = x > y ? x : y;
    return z;
}
*/



//test3
/*
#include

void main()
{
    float max(float x,float y);
    float a,b;
    float c;
    
    scanf("%f%f",&a,&b);

    c = max(a,b);
    printf("Max is %f\n",c);
}

float max(float x,float y)
{
    float z;
    z=x>y?x:y;
    return z;
}
*/



//test4 实参求值顺序
/*
#include

void main()
{
    int f(int a,int b);
    int i=2,p;
    
    p=f(i,++i);
    printf("%d\n",p);
}

int f(int a,int b)
{
    int c;
    if(a>b)
    {
        c=1;
    }
    else if(a==b)
    {
        c=0;
    }
    else
    {
        c=-1;
    }
    return(c);
}
*/



//test5 对被调用函数作声明
/*
#include

void main()
{
    float add(float a,float b);//对函数进行声明
    float a,b,c;
    
    scanf("%f,%f",&a,&b);
    c=add(a,b);
    printf("sum is %f\n",c);
}

float add(float a,float b)
{
    float sum;
    sum=a+b;
    return sum;
}
*/



//test6 自行定义pow函数
/*
#include

void main()
{
    double power(double a,double b);
    double a,b,result;
    
    scanf("%lf,%lf",&a,&b);
    result=power(a,b);
    printf("the result is  %lf:\n",result);
}

double power(double a,double b)
{
    double z=1;
    while (b)
    {
        z*=a;
        b--;
    }
    
    return z;
}
*/



//test7 嵌套函数调用
/*
#include
#include

void main()
{
    long int square(long int a);
    long int factorial(long int result1);
    long int result=0,result1,result2,a,i;
    
    for(i=0;i<2;i++)
    {
        printf("input a number:\n");
        scanf("%ld",&a);
        result1=square(a);
        result2=factorial(result1);
        result=result+result2;
    }
    printf("计算结果是:%ld\n",result);
}

long int square(long int a)
{
    long int z;
    z=a*a;
    return z;
}

long int factorial(long int result1)
{
    long int n;
    long int p=1;
    for(n=result1;result1>0;result1--)
    {
        p=p*result1;
    }
    return p;
}
*/



//test8 用递归的方法计算阶乘
/*
#include

void main()
{
    long n;
    long result;
    long recursion(long n);
    
    printf("input a number:\n");
    scanf("%ld",&n);
    result=recursion(n);
    printf("%ld! = %ld\n",n,result);
}

long recursion(long n)
{
    long temp_result;
    if(n<0)
    {
        printf("输入错误\n");
        return EOF;
    }
    else if(n==0)
    {
        temp_result=1;
    }
    else
    {
        temp_result = recursion(n-1)*n;
    }
    return temp_result;
}
*/



//test9 汉诺塔问题???????????????????????????

#include 
int k=0;//统计步数
void Hanoi(int n,char a,char b,char c)
{
    if(n==0)//0的话,没什么好玩的了,直接退出!!
    {
        return ;
    }
    else
    {
        Hanoi(n-1,a,c,b);
        k++;
        printf("%d:From %c to %c\n",k,a,c);
        Hanoi(n-1,b,a,c);
    }
}
int main()
{
    int n;
    printf("input a number:\n");
    scanf("%d",&n);
    Hanoi(n,'A','B','C');
    return 0;
}

你可能感兴趣的:(Ctest6(2019-05-21))