C语言函数的递归强化版

今天上午还是要好好复习下函数的递归调用,这一直是我的硬伤,对于有些还是需要加强,下面再写一个例子,
总结一下,对于递归调用主要的是还是要学会方法,一般的格式
首先有方法的调用,在调用的方法里面,记得一定要传递参数,参数传递的时候注意参数的类型,值,还有最主要的的是算法还有边界,递归的核心是循环调用自己。

递归实现输入二进制输出十进制 ==============

#include <stdio.h>
int get(int num);
main()
{
    int num;
    printf("请输入二进制数:");
    scanf_s("%d", &num);
    getchar();
    printf("对应的十进制数是:%d\n", get(num));
    getchar();
    return(0);
}
int get(int num)
{
    if (num / 10 == 0)
        return 1;
    else
        return get(num / 10) * 2 + num % 10;
}

二进制的位数

#include <stdio.h>
int get(int num);
 void main()
{
    int num, n, i, count = 1;
        scanf_s("%d,", &num);
        getchar();
        if (count == 1)
            printf("转换成二进制后的长度是\n");
        count++;
        printf("%d,", get(num));
        getchar();

}
int get(int num)
{
    if (num<2)
        return 1;
    else
        return get(num / 2) + 1;
}

加汽油的相关题

#include<stdio.h> 
#include<math.h> 
void main() {
    float p, q, x, pay;
    char y, z;    
    printf("请输入汽油品种(y),服务类型(z),加油量(x)\n");

    scanf_s("%c,%c,%f", &y, &z, &x);
    switch (y)   { 
    case'a':p = 6.92; break;  
    case'b':p = 7.37; break;  
    case'c':p = 7.64; break; }  
    switch (z)   
    { 
    case'f':q = 1; break;  
    case'm':q = 0.95; break;  
    case'e':q = 0.9; break; }  
    pay = p*q*x;
    printf("pay=%.2f\n", pay);  

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值