题目描述:将一个四位数反向输出;
输入描述:一行,输入一个整数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表示的是精度;