C语言任意输入一个有五位数字的正整数,逆序输出每一数位上的数字 如输入12345 输出5 4 3 2 1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言任意输入一个有五位数字的正整数,逆序输出每一数位上的数字 如输入12345 输出5 4 3 2 1相关的知识,希望对你有一定的参考价值。

参考技术A

输入一个整数,将其每位剥离,并记录在一个数组中,此时每位数即是逆序排列的。

#include <stdio.h>

#define ARRAY_LEN 100 /*数组长度*/

void numToDigit (int num, int arr[])  /*将数字按位剥离并存储在数组中,该算法剥离出的每位数即是逆序排列的*/
int i,j,n;
for (i = 0, n = num; n>0; i++) 
arr[i] = n%10; /*除以10取余数,以取出最后一位数字*/
n = n/10; /*除以10取整数,以丢弃最后一位数字*/
arr[i+1] = '\\0'; /*数组结束符号,便于后续统计位数*/



int digitCount (int arr[])  /*统计位数*/
int i,count;
for (i = 0, count = 0; arr[i] != '\\0'; i++)
count++;
return count;


void printArr (int arr[], int len)  /*打印数组*/
    int i;
    for (i = 0; i<len; i++)
     printf("%d\\t",arr[i]);
printf("\\n");


int main(void) 
    int num,len,arr[ARRAY_LEN];
    
    printf("请输入一个正整数:\\n");
    scanf("%d",&num);
    printf ("======================================================\\n\\n");

printf("每一位数字逆序输出:\\n");
numToDigit (num, arr);
len = digitCount (arr);
    printArr (arr, len);

    return 0;

执行结果

输入一个4位数的正整数,编程逆序输出这个数?

输入4位的正整数,可以将其不断取商,取出四位数存在数组里,然后反系输出即可。 参考技术A c++:
int num;
cin >> num;
if (num > 9999 || num < 1000)
//这里处理输入格式错误的情况

string str = to_string(num);
for (int i = str.size() - 1; i > -1; --i) cout << str[i];

以上是关于C语言任意输入一个有五位数字的正整数,逆序输出每一数位上的数字 如输入12345 输出5 4 3 2 1的主要内容,如果未能解决你的问题,请参考以下文章

2.给一个不多于5位的正整数,要求: ①求出它是几位数; ②分别输出每一位数字 ③按逆序输出各位数字。

给定一个不多于5位的正整数,求它是几位数并且按逆序分别输出每一位数字的C语言程序如何编写?

编写程序,输入一个不多于5位的正整数,要求:(1)输出它是几位数; (2)分别输出每一位数字?

给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数

C语言中任意输入一个整数 编一个程序输出整数长度 能不能有解法

C#输入一个五位整数,倒序输出。