C语言——反向与正向打印一个数的每一位

在C语言中,我们会学到如何反向和正向打印一个数的每一位,而反向打印可以通过循环和递归两种方式来实现,正向打印可用数组方式实现。

01.反向打印一个数的每一位

#include <stdio.h>

void printReverse(int n) {
    int original = n;
    while (n > 0) {
        printf("%d ", n % 10);//调取数的最后一位
        n /= 10;//进行去掉最后一位的操作
    }
    printf("\n");
}

int main() {
    int number;
    printf("Enter a number: ");
    scanf("%d", &number);
    printf("该数字反向打印每一位数为: ");
    printReverse(number);
    return 0;
}

方法二和方法一类似,main函数基本不变,都在调用函数中执行反向打印的操作。

#include <stdio.h>

void printReverse(int n) {
    if (n == 0) 
	  return;
    printf("%d ", n % 10);
    printReverse(n / 10);//相当于方法一循环中的n /= 10
}

int main() {
    int number;
    printf("Enter a number: ");
    scanf("%d", &number);
    printf("该数字反向打印每一位数为: ");
    printReverse(number);
    printf("\n");
    return 0;
}

而正向打印也一样,可以用简单循环或者递归实现(这个就不多说了),这里我来写一下我的方法。

02.正向打印一个数的每一位

#include<stdio.h>
int main() {
	int n, i, count = 0, a[100];
	scanf("%d", &n);
	for (i = 0; ; i++) {
		while (n / 10 != 0) {
			a[i] = n % 10;//将除最高位以外的所有位数放进数组a之中
			i++;
			count++;
			n = n / 10;
		}
		if (n / 10 == 0)
		{
			printf("%d", n);//打印最高位
			break;
		}
	}
	for (i = count - 1; i >= 0; i--) {
		printf(", %d", a[i]);//将数组按照a[9]、a[8]、a[7]的顺序打印出来
	}
	return 0;
}

全部评论

相关推荐

就前几天旅游的时候,打开抖音就经常刷到这类视频:以前是高学历学生、老师、主持人,现在做着团播、擦边主播的工作,以及那些经过精心包装的“职业转型”故事——从铺天盖地的VLOG到所谓的“04年夜场工作日记”,这些内容在初中升学、高考放榜等关键时间节点持续发酵。可以说非常直接且精准地在潜移默化地影响着心智尚未成熟的青少年,使其对特殊行业逐渐脱敏。那我就想问了:某些传播公司、平台运营者甚至某些夜场的老板,你们究竟在传递怎样的价值观?点开那些视频,评论区里也是呈现明显的两极分化:一种是​​经济下行论​​:“现在就业市场已经艰难到这种程度了吗?”​​一种是事实反驳派​​:这些创作者往往拥有名校背景,从事着...
牛客刘北:被环境教育的,为了能拿到足够的钱养活自己,不甘心也得甘心,现在的短视频传播的思想的确很扭曲,但是很明显,互联网玩上一年你就能全款提A6,但你全心全意不吃不喝工作一年未必能提A6,但是在高考中考出现这个的确很扭曲,在向大家传播“不上学,玩互联网也可以轻松年入百万”,不是人变了,是社会在变
预测一下26届秋招形势
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务