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


设计main函数,从键盘接收一个正整数num,输出最终结果。假设用户输入肯定正确,程序不需要对异常输入进行处理。请写出完整C语言程序。
搜索更多相关主题的帖子: 期中考试 正整数 C语言 键盘 
2013-12-03 17:19
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
伸手党,滚粗,还好意思说是期中题

总有那身价贱的人给作业贴回复完整的代码
2013-12-03 17:28
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
daring_star
Rank: 2
等 级:论坛游民
帖 子:38
专家分:65
注 册:2013-10-20
得分:0 
用字符数组不是更好做吗!!!!

一如大学深似海,从此节操是路人。
2013-12-03 20:27



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




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

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