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

本博客指导如何通过用户输入的数字,实现简单的加、减、乘、除运算,并确保输入值在指定范围内。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值