[算法]将一个四位数反向输出

题目描述:将一个四位数反向输出;

输入描述:一行,输入一个整数n(1000<=n<=9999);

输出描述:针对每组输入,反向输出对应四位数;

示例:

输入:1234

输出:4321

C语言代码(1):(将数字按照字符进行处理)

 1 #include <stdio.h>
 2  
 3 int main(void){
 4     char Number[4];
 5     for(int i = 0;i<4;i++)//i的范围是从0到3
 6     {
 7         scanf("%c",&Number[i]);
 8     }
 9     for(int j = 3;j>=0;j--)//j的范围是从3到0
10     {
11         printf("%c",Number[j]);
12     }
13     return 0;
14 }

插入知识点:for循环的一些内容:

 1 for (int i = 0; i<n; i++)
 2     /*
 3     i的范围是从0到n-1
 4     */
 5 for(int i = 0;i<= n;i++)
 6     /*
 7     i的范围是从0到n
 8     */
 9 for(int i = n;i>0;i--)
10     /*
11     i的范围是从n到1
12     */
13 for(int i = n;i>=0;i--)
14     /*
15     i的范围是从n到0
16     */

C语言代码(2):(利用求余来将数字进行颠倒)

 1 #include<stdio.h>
 2 int reverse(int Number)
/*
这个算法很经典,将数字进行反向输出;
*/
3 { 4 int Number_Reverse = 0; 5 while (Number != 0) 6 { 7 Number_Reverse = Number_Reverse * 10; 8 Number_Reverse = Number_Reverse + Number % 10; 9 Number = Number / 10; 10 } 11 12 return Number_Reverse; 13 } 14 15 int main(void) 16 { 17 int Number; 18 int Number_Reverse; 19 scanf("%d", &Number); 20 Number_Reverse = reverse(Number); 21 printf("%.4d", Number_Reverse); 22 23 return 0; 24 }

插入知识点:输出时的转换说明

#include<stdio.h>
int main(void)
{
    int Number = 200;
        /*3位整数*/
    printf("%d
", Number);
        /*输出3位整数,左对齐*/
    printf("%5d
", Number);
        /*输出3位整数,这3位数字占5位数的位置,并且前面有空余(右对齐)*/
    printf("%.5d
", Number);
        /*输出5位数,不够5位的话用0补齐*/
    system("pause");
    return 0;
}            

最后的输出结果为:

1 200
2   200
3 00200
4 请按任意键继续. . .

 最小字符宽度和精度;

%m.pX

m表示的是最小字符宽度;

p表示的是精度;

原文地址:https://www.cnblogs.com/LeeCookies/p/12570752.html