******************** 函数练习题 ********************

来源:互联网 发布:吉田小哥 知乎 编辑:程序博客网 时间:2024/05/17 03:57

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------



// 写一个函数,要求用户输入数字,如果输入数字不在指定范围,即重新输入



/*

#include <stdio.h>


int getNum10()

{

    //定义输入数字变量

    int num;

    //提示用户在指定范围输入

    do{

       printf("请输入数字\n");

       //接收输入

       scanf("%d",&num);

       if(num>= 10 || num < 0)printf("请重新输入\n");

    }while(num>= 10 || num < 0);

    return num;


}


int fuhao(){

    //定义变量(c做运算符 0 = +,1 = - , 2 = *, 3 =  /)

    int c;

    do{

    printf("请输入运算符\n");

    scanf("%d",&c);

    if(!(c == 0 || c == 1 || c == 2 || c ==3))printf("输入有误\n");

    }while(!(c == 0 || c == 1 || c == 2 || c ==3));

    

    return c;

}


int main(int argc, const char * argv[]) {

    //定义输入数字变量

    int num1,num2,oper,res = 0;

    //提示用户输入

    num1 = getNum10();

    

    oper = fuhao();

    

    num2 =getNum10();

    

    //计算

    switch(oper){

        case 0 : res = num1 + num2;break;

        case 1 : res = num1 - num2;break;

        case 2 : res = num1 * num2;break;

        case 3 : res = num1 / num2;break;

    }

    

    //打印结果

    printf("%d %d %d = %d\n",num1,oper,num2,res);

    return 0;

}

 

 

 */



// 写一个函数,要求用户输入数字,如果输入数字不在指定范围,即重新输入



#include <stdio.h>


int getNum();

char getCh();

int main(){

    //定义变量

   int num1,num2,res;

   char oper;

    

    num1 =getNum();

    oper =getCh();

    num2 =getNum();

    //选择运算符进行运算

   switch(oper){

       case '+': res = num1 + num2;break;

       case '-': res = num1 - num2;break;

       case '*': res = num1 * num2;break;

       case '/': res = num1 / num2;break;

    }

    

   printf("%d %c %d = %d\n",num1,oper,num2,res);

    

   return 0;

}


//定义一个输入数字函数


int getNum(){

    //定义变量

   int num;

   do{

    //提示用户输入

        printf("请输0~10入数字:\n");

       //接收用户输入

       scanf("%d",&num);

       if(!(num>=0 && num <=10)){

           printf("输入错误,");

        }

    }while(!(num>=0 && num <=10));

        

   return num;

}


char getCh(){

    //定义变量

   char c;

   do{

    //提示用户输入

    printf("请选择运算符(+ - * /):\n");

    //接收输入

   scanf("%c",&c);

    

       if(c=='\n')scanf("%c",&c);

       if(!(c == '+'||c=='-'||c=='*'||c=='/')){

            printf("输入错误,");

        }

             }while(!(c=='+'||c=='-'||c=='*'||c=='/'));

    

   return c;

}



//  数字的平方

//

//  Created by 今天我很努力 on 15-3-10.

//  Copyright (c) 2015 gongsimingzi. All rights reserved.

//


#include <stdio.h>


int main(int argc,const char * argv[]) {

    

   int i;

   do{

       printf("请输入数字\n");

   scanf("%d",&i);

    

   printf("%d的平方是%d\n",i,i * i );

    }while(1);

      return 0;

}




//

//aaa该函数用与输入数字,用户输入数字,并根据传入的maxmin判断范围,如果不在此范围,表示输入错误重新输入

#include <stdio.h>


//定义一个被调用函数定义输入数字范围


int getNum(int min,int max)

{

   int num;

   do{

        //提示用户输入数字

       printf("请输入数字\n");

       //接收用户输入

       scanf("%d",&num);

       if(!(num > min && num < max))printf("请重新输入");

        

    }while(!(num > min && num < max));

    

   return num;

}


int main(int argc,const char * argv[]) {

    //将返回值赋值给变量 num

   int num = getNum(0,10);

   //打印

   printf("%d\n",num + 1);

    

   return 0;

}



// 完成三个函数

// int getNumAny()   可以输入任意的数字

// int getNumRange(-100, 50)    可以输入指定范围的数字

// int getNumFrm0(100)  可以输入0100的数字


#include <stdio.h>


/*int getNumAny(){

    int num;

    printf("请输入数字\n");

    scanf("%d",&num);

    return num;

}

 */


int getNumRange(int min,int max){

    //定义变量

   int num;

   do{ //提示输入

       printf("请输入数字\n");

       //接收输入

       scanf("%d",&num);

       //判断num

       if(!(num > min && num <max))

           printf("输入数字%d不在(%d,%d),\n",num,min,max);

    }while(!(num > min && num <max));

    

   return num;

 

}

 


//  递归

//

//  Created by 李佳乐 on 15-3-11.

//  Copyright (c) 2015 gongsimingzi. All rights reserved.

//等差数列

//0100的等差数列

#include <stdio.h>

int func(int num){

   if(num == 0)return 1;

   return func(num - 1) + 2;

}

int main(int argc,const char * argv[]) {

   for(int i = 0; i < 101;i++ )

   printf("%d\n",func(i));

   return 0;

}


//等差数列


//fun(n) = fun(n -1) + 2;




阶乘

//

//  Created by 李佳乐 on 15-3-11.

//  Copyright (c) 2015 gongsimingzi. All rights reserved.

//

// 0    1

// 1    1   2   3   5   8   13  ...

// 递推与临界


// func(n) == func(n-1) + func(n-2);



// 计算 n!

// 5! = 5 * 4 * 3 * 2 * 1

// n! == (n-1)! * n

// f(n) == f(n - 1) * n


// 1!   1

// 2!   2 = 2 * 1

// 3!   6 = 3 * 2 * 1

// 4!   24

// 5!   120


/*

#include <stdio.h>


int fun(num)

{

    if(num == 0) return 1;

        return fun(num-1) * num;

}


int main(int argc, const char * argv[]) {

    int num = fun(3);

    printf("%d\n",num);

    return 0;

}

*/



//阶乘


#include <stdio.h>



//定义一个阶乘函数

int func(int num){

    //如果num0就返回1

   if(num == 0) return 1;

    // func 就等于 num的前一项 乘以num

   return func(num - 1) * num;

}

int main(){

    

   int num =func(3);

   printf("%d\n",num);

   return 0;

    

}



//用函数输入常量运算符计算结果#include <stdio.h>


//定义变量


//定义函数


int num(){

    //定义变量

   int n;

    //提示输入

    

   do{

       printf("请输入常量\n");

       scanf("%d",&n );

       if(n < 0 || n > 10)printf("输入有误,");

    }while(n < 0 || n > 10);

   return n;

}

//定义函数

char getC(){

    //定义变量

   char c ;

    //提示输入

    printf("请输入一个运算符 + - * / \n");

   scanf("%c",&c);

   if(c == '\n'){

       scanf("%c",&c);

    }

   if(!(c == '+' ||  '-' ||  '*' ||  '/')){

       printf("请重新输入\n");

    }while(!(c == '+' || '-' ||  '*' || '/'));

    

   return c;

}


int main(int argc,const char * argv[]) {

    

    //定义变量

   int num1,num2,res;

   char c;

   //赋值

    num1 =num();

    

    c =getC();

    

    num2 =num();

    

   //计算

    

   switch(c){

       case '+' :res= num1 + num2;break;

       case '-' :res= num1 - num2;break;

       case '*' :res= num1 * num2;break;

       case '/' :res= num1 / num2;break;

    }

    

   printf(" %d %c %d = %d\n",num1,c,num2,res);

    

   return 0;

}





//  变量的几次方

//

//  Created by 李佳乐 on 15-3-11.

//  Copyright (c) 2015 gongsimingzi. All rights reserved.

//

/*

#include <stdio.h>


int power(int base,int num){

    int temp = base;

    for(int i = 1;i < num;i++)

        base = base * temp;

    

        return base;

}


int main(int argc, const char * argv[]) {

    

    

        printf("5 ^ 3 = %d\n",power(5, 3));

    return 0;

}

*/


#include <stdio.h>

//定义一个几次幂的函数

        // 底数     乘几次

int power(int base,int num){

   int temp = base;

   for(int i=1;i<num;i++){

        //后一项就等于 前一项 * 底数

        base = base * temp;

    }

   return base;

}

int main(){

   int num = power(5, 3);

   printf("%d\n",num);

   return 0;

}



0 0
原创粉丝点击