标题:递归期中题
取消只看楼主
yu497272290
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-11-2
结帖率:42.86%
 问题点数:0 回复次数:1 
递归期中题
题目一描述:(期中考试第一场第三题,稍有改动)
设计递归函数void formatPrint(int num),将正整数num“从右开始”以3个数字为一组(最左边一组数字个数可以小于3),如12345678,可分为三组:{12},{345},{678}。计算每组数字的和,并按照逗号分隔打印,如12345678的最终打印结果为3,12,21。


设计main函数,从键盘接收一个正整数num,输出最终结果。假设用户输入肯定正确,程序不需要对异常输入进行处理。请写出完整C语言程序。
搜索更多相关主题的帖子: 期中考试 正整数 C语言 键盘 
2013-12-03 17:19
yu497272290
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-11-2
得分:0 
#include<stdio.h>
#include<stdlib.h>
void formatPrint (int);
int main()
{
    int num;
    scanf("%d",&num);
    formatPrint(num);
    printf("\n");
    system("pause");
    return 0;
}

void formatPrint (int num)
{
    int num_1,num_2,num_3,sum;
    if(num<1000){
        num_1=num/100;
        num_2=(num-num_1*100)/10;
        num_3=num-num_1*100-num_2*10;
        sum=num_1+num_2+num_3;
        printf("%d",sum);
    }
    else{
        formatPrint(num/1000);
        num=num%1000;
        num_1=num/100;
        num_2=(num-num_1*100)/10;
        num_3=num-num_1*100-num_2*10;
        sum=num_1+num_2+num_3;
        printf(",%d",sum);
    }
}



这样写是递归吗?
2013-12-03 19:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-424646-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.969212 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved