c语言编程-如何判断整数位数还有逆序打印各位数字

问题描述

如何判断整数位数还有逆序打印各位数字

一个正整数,先判断他的位数输出,在逆序打印出各位数字。。。。。。。。。。。。。。为什么要30个字呢。。

解决方案

 #include <stdio.h>

void foo(int n, int acc)
{
    if (n == 0)
    {
        printf("n%dn", acc);
        return;
    }
    printf("%d", n % 10);
    foo(n / 10, acc + 1);
}

int main()
{
    int x = 1234;
    foo(x, 0);
}

4321
4

时间: 2024-12-24 20:16:03

c语言编程-如何判断整数位数还有逆序打印各位数字的相关文章

C语言OJ项目参考(2968)递归方法实现逆序

2968: 递归方法实现逆序 Description 你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理. #include <stdio.h> void inverted(int); /*函数声明*/ int main() { int n; /*需要逆序的整数*/ scanf("%d",&n); inverted(n); /*调用逆序函数*/ return 0; } void inver

Go语言编程中判断文件是否存在是创建目录的方法_Golang

判断文件是否存在os.IsExists()函数和os.IsNotExists(),他们的函数的原形是func IsExist(err error) bool func IsNotExist(err error) bool 都是传入一个err返回bool 这里注意了 err已经定义好了 复制代码 代码如下:   /*  var (      ErrInvalid    = errors.New("invalid argument")      ErrPermission = errors

c语言问题-顺序链表的插入用C语言编程实现

问题描述 顺序链表的插入用C语言编程实现 将一个整数插入到有序的顺序链表中,以下是我的源程序,请问哪错了啊?? #include #include typedef struct Lnode { int data; struct Lnode *next; }Lnode,*LinkList; LinkList CreateListR(LinkList L) { int n; LinkList p,s; p=L=(LinkList)malloc(sizeof(Lnode)); scanf("%d&qu

C语言 编程练习22题

一.题目 1.编一个程序,输入x的值,按下列公式计算并输出y值:   2.已知数A与B,由键盘输入AB的值,交换它们的值,并输出.   3.给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字.   4:利用条件运算完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.   5.输入年和月,则输出此年此月的天数,如大月有31天,小月有30天,而闰年的2月有29天,平年则只有28天.(必须使用switch结构实现,年份如果能被4整除但不能

C语言OJ项目参考(2000)数组逆序

Description 输入10个整数存入一维数组,按逆序重新存放后再输出. Input 输入包括一行.10个以空格隔开的整数. Output 逆序的10个整数,整数以空格隔开. Sample Input 1 3 5 9 7 6 8 2 4 0 Sample Output 0 4 2 8 6 7 9 5 3 1 提示:在OJ平台中,将有一个格式错误可能会让你崩溃.友情提示:输出的最后一个数字后面没有空格. 参考解答: #include <stdio.h> int main() { int a[

求助贴:c语言编程问题

问题描述 求助贴:c语言编程问题 解决方案 在你的程序里scanf()函数返回的是一个正整数,无论你输入的是不是-1,他接收的一直是一个参数,所以返回的一直是1.并且还是使用"%lu"来接收参数的,输入-1一定不会退出程序的,输入1.2scanf()只接收到了1,因为1.2不符合输入的规则"%lu",也会返回1.程序不会停下 解决方案二: 疑惑:1.输入0有效,输出真确2.输入-1不退出,-1被强制转换为int类型3.输入1.2输出1个奇数后又printf();然后

《C语言编程魔法书:基于C11标准》—— 导读

前 言 为什么要写这本书 本人在2001年上了大学本科,读计算机科学与技术专业.在第一年的上半学期,对计算机编程还没什么感觉.但是就在考"C语言程序设计"这门专业课的前一个月,感觉这门课学了那么久几乎什么都不会,可把我急坏了.然后就在这短短一个月的时间里又是看书,又是上机实验,终于考了70多分,算是过关了--不过奇怪的是在考试结束后,就发现自己对编程有了感情.到了大二,我们上"数据结构"所使用的教材是基于C++编程语言的,因为之前没学过C++语言,所以只能自学.而在

代码-有关c语言编程语句的含义

问题描述 有关c语言编程语句的含义 CString strItemID, strParID = GetCurDirID(); strItemID.Format("%d",itemData/4); if((itemData & 3) == 2) 请问这几行代码是什么意思 解决方案 单独看这几句,没有任何意义,就是普通的计算,format把 itemData/4 的结果格式化为整数形式 itemData & 3 就是位运算 itemData和3进行与操作 解决方案二: 获取

浅谈C语言编程中程序的一些基本的编写优化技巧_C 语言

大概所有学习C语言的初学者,都被前辈说过,C语言是世界上接近最速的编程语言,当然这并不是吹牛,也并不是贬低其他语言,诚然非C语言能写出高速度的代码,但是C语言更容易写出高速的程序(高速不代表高效),然而再好的工具,在外行人手中也只能是黯淡没落. 对于现代编译器,现代CPU而言,我们要尽量迎合CPU的设计(比如架构和处理指令的方式等),虽然编译器是为程序员服务,并且在尽它最大的能力来优化程序员写出的代码,但是毕竟它还没有脱离电子的范畴,如果我们的代码不能让编译器理解,编译器无法帮我们优化代码,那么