将两个数字逆序输出算法构思

编写一个程序,要求用户输入一个两位整数,然后逆序打印出来;

1. 构思: 使用算术分割实现

1.1 实现方法:设输入的数为N,N%10位个位数,N / 10 位十位数

 

推广:编写一个程序,要求用户输入三位整数,逆序打印出来;

实现方法:设输入的数为ABC;先从ABC中取出一个两位数(AB或BC或AC),然后用算术分割法实现逆序打印,设先取出的数为BC(BC = ABC % 100),再将BC分离(B = BC / 10 ; C = BC % 10);在将A取出(A = ABC / 100);

 

如果位数更多,也可以按照这个方法实现,但不建议这样做,因为这个过程比较繁琐,考虑用数组结合指针的思想实现就更简单了,哈哈,只能佩服指针太强大了。

时间: 2024-10-09 01:16:13

将两个数字逆序输出算法构思的相关文章

编写一个函数 reverseDigit(int num).该函数读入一个整数,然后将这个整数的每个位上的数字逆序输出。

#include<iostream> using namespace std; void reverseDigit(int num) { int a[100],len=0; while(num!=0) { a[len++]=num%10; num/=10; } for(int i=0;i<len;i++) cout<<a[i]; cout<<endl; } int main() { int n; cout<<"请输入一个数字:";

算法竞赛入门经典_3.1_数组_逆序输出_开灯问题

又是新的一天,继续更新. 今天进入了新的章节,数组和字符串 1.逆序输出问题: 先来看代码吧 #include <stdio.h> //逆序输出 2017-8-16 #define maxn 105 int a[maxn]; int main(int argc, char* argv[]) { //int a[maxn]; int x, n = 0; while (scanf("%d", &x) == 1) a[n++] = x; for (int i = n -

编程题:将数字0~5放入一个整型数组,并逆序输出数组

#include<stdio.h> void main() { int i,a[5]; for(i=0;i<5;i++)         /*给数组中元素赋值*/ a[i]=i; for(i=4;i>=0;i--)          /*逆序输出数组中元素值*/ printf("%3d",a[i]); printf("\n"); } 编程题:将数字0~5放入一个整型数组,并逆序输出数组,布布扣,bubuko.com

给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

题目描述 输入 一个不大于5位的数字 输出 三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数 样例输入 12345 样例输出 5 1 2 3 4 5 54321程序:#include<stdio.h>#include<math.h>int main(){    int a,c,d,count=0,t;    scanf("%d",&a);    d=c=a;    while(c!=0)    {  

网易云课堂_C语言程序设计进阶_第五周:递归与简单算法:递归、搜索、二分搜索、简单排序_1逆序输出的数列

1 逆序输出的数列(10分) 题目内容: 你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束.然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1. 输入格式: 一系列正整数,输入-1表示结束,-1不是输入的数据的一部分. 输出格式: 按照与输入相反的顺序输出所有的整数,每个整数后面跟一个空格以与后面的整数区分,最后的整数后面也有空格. 输入样例: 1 2 3 4 -1 输出样例: 4 3 2 1 时间限制:2000ms内存限制:128000kb

把数字存入数组,并逆序输出

void main() { int i=0,k; char c[10]; while(n) { c[i]=n%10+'0'; //把数字变成字符,因为这是一个char数组 n/=10; i++; } s[i--]='\0'; k=i; while(i>=0) { s[i]=c[k--]; //先让s[i]变为'\0'再令 i-1 i--; //把  k-i  变成  i   则变成逆序输出 }} 原文地址:https://www.cnblogs.com/P-juan/p/10057833.htm

PTA 7-14 逆序输出数的各位数字 (10分)

从键盘上输入一个正整数,逆序输出该数的各位数字. 例如:输入123,输出321. 输入格式: 直接输入一个正整数,没有其它任何附加字符. 输出格式: 直接输出一结果,没有其它任何附加字符. 输入样例: 123 输出样例: 321 作者: 王跃萍 单位: 东北石油大学 时间限制: 400 ms 内存限制: 64 MB 代码长度限制: 16 KB 1 import java.util.Scanner; 2 public class Main { 3 public static void main(S

算法-整数的正序和逆序输出

其实上一篇文章用递归实现了整数的正序输出,思考了整数还是可以逆序输出,不过大同小异,没有太多差别: 正序输出 -(void)printOutNumber:(NSInteger)number{ //取整,不断的递归取整,之后取余 if (number>10) { [self printOutNumber:number/10]; } NSLog(@"数值%ld",number%10); } 逆序输出 循环输出,这个比较简单容易理解: -(void)reverseNumber:(NSI

java经典算法之逆序输出

1 /** 2 *输入字符,将数组逆序输出 3 */ 4 import java.util.Scanner; 5 public class InReserve 6 { 7 public static void main(String[] args) 8 { 9 reverse(); 10 } 11 public static void reverse(){ 12 13 String[] arr =new String[5]; 14 for(int i=0;i<arr.length;i++){ 1