C语言编程,任意输入一个五位正整数,逆序输出每一位上的数 如输入54321 输出12345 要代码

作者&投稿:潮闹 (若有异议请与网页底部的电邮联系)
C语言编写程序 :输入一个正整数,将其逆序输出。例如,输入12345,输出54321. 跪求大神用循环语句~

#include
int main()
{
int num;
scanf("%d",&num);
int a,i;
for(i = 0;num > 0;i++)
{
a = num % 10;
printf("%d",a);
num = num/10;
}
return 0;
}

分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。
a = num % 10
就是输出数字的最后一位
然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。
拓展资料
for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
C语言中的for循环如下
1.语句最简形式为:
for( ; ; )
2.一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}

#include
int main()
{
int n;
scanf("%d", &n);
do
{
printf("%d", n % 10);
}while(n /= 10);
printf("
");
return 0;
}

#include <stdio.h>

int res[5] = {};    //外部变量 , 把每一位作为数组元素进行存储
int *p = res;

int main(){
    
    int num = 12345;
    
    void ser(int);//分别输出每一位数字
    ser(num);
    printf("
");
    
    p = res + 4;    //指针置于数组末尾
    for(int i=0; i<sizeof(res)/sizeof(res[0]); i++){    //逆序输出
        printf("%d ", *p--);
    }
    return 0;
}


void ser(int number){
    if(number > 9){
        ser(number/10);     //递归
    }
    printf("%d ", number % 10);     //顺序输出
    *p = (int)number % 10;
    p++;
}


/*
 程序的输出顺序为 10 -> 8 -> 6 -> 4 -> 2
 递归步骤解释
 1: 第一次执行ser函数,numbser = 12345判断数字大于9,将int(1234)再次执行函数  ps: (int)/(int) 结果为int
 2: 待执行ser函数后,输出结果个位数 12345 % 10 = 5
 
 3: 第二次执行ser函数....类比步骤1
 4: 待递归执行ser函数,类比步骤2,输出十位个数 1234 % 10 = 4
 
 5: 类比步骤1
 6: 类比步骤2,输出百位个数 123 % 10 = 3
 
 7: 类比步骤1
 8: 类比步骤2,输出千位 12 % 10 = 2
 
 9: 类比步骤1
 10: number值为1,不再递归,直接输出万位 1 % 10 = 1
 */

如有帮助,请点赞支持原创QVQ



#include<stdio.h>
void fun()
{
    int n,n1=0;
    scanf("%d",&n);
    while(n)
    {
        n1= n1*10+n%10;
        n=n/10;            
    }
    printf("%d
",n1);
}
 
int main()
{
    fun();
    return 0;
}


#include<stdio.h>
int main(void)
{
int,i,a[5];
for(i=0;i<5;i++)
{
scanf("%d",a[i]);

}
for(i=4;i>=0;i--)
printf("%d",a[i]);
printf("\n");

}

#include<stdio.h>
void main()
{
int a,b,c1,c2,c3,c4,c5;
printf('请输入一个5位以内的正整数(0~99999):');
scanf(']',&a);
c1 = a % 10;
c2 = (a - c1) % 100 / 10;
c3 = (a - c1 - c2 * 10) % 1000 / 100;
c4 = (a - c1 - c2 * 10 - c3 * 100) % 10000 / 1000;
c5 = (a - c1 - c2 * 10 - c3 * 100 - c4 * 1000) % 100000 / 10000;
if(a < 10)
b = 1;
else if(a < 100)
b = 2;
else if(a < 1000)
b = 3;
else if(a < 10000)
b = 4;
else b = 5;
switch(b)
{
case 1:
printf('%d\n',c1);
printf('%d%\n',c1);
break;
case 2:
printf('%d,%d\n',c2,c1);
printf('%d%d\n',c1,c2);
break;
case 3:
printf('%d,%d,%d\n',c3,c2,c1);
printf('%d%d%d\n',c1,c2,c3);
break;
case 4:
printf('%d,%d,%d,%d\n',c4,c3,c2,c1);
printf('%d%d%d%d\n',c1,c2,c3,c4);
break;
case 5:
printf('%d,%d,%d,%d,%d\n',c5,c4,c3,c2,c1);
printf('%d%d%d%d%d\n',c1,c2,c3,c4,c5);
break;
}
}

复杂


编程实现:从键盘任意输入一个三位正整数,将该数分解成个位、十位、百 ...
include<stdio.h> int main(){ int n,k=0;int a[11]={0};scanf("%d",&n);while(n){ a[k++]=n%10;\/\/提取各个位上的数,储存在数组a中 n\/=10;} for(int i=0;i<k;i++)\/\/冒泡排序 for(int j=0;j<k-i-1;j++)if(a[j]>a[j+1]){ int t;t=a[j];a[j]=a[...

C语言编程题 题目:任意输入4个点,求围成四边形的面积
,y[1],x[3],y[3],S);} int CheckInput(){ \/\/判断输入的4个点是不同的四个点 if((fabs(x[0]-x[1])<ESP && fabs(y[0]-y[1])<ESP) || (fabs(x[0]-x[2])<ESP && fabs(y[0]-y[2])<ESP) || (fabs(x[0]-x[3])<ESP && fabs(y[0]-y[3])<ESP) || ...

编程C语言程序,实现如下功能:从键盘任意输入3个整数,求出3个数中的
include <iostream> using namespace std;int main(){ int a,b,c;int max;cout<<"请输入三个数";cin>>a>>b>>c;if(a>b){ max = b;if(c > max)max = c;} else { max = a;if(c > max)max = c;} cout<<"最大值是"<<c<<endl;return 0;} ...

C语言编程中输入任意的三个数a b c,赋值后得出最大值,怎么编?
include<stdio.h> int main(){ int a,b,c,max;printf("请输入a,b,c 三个数:");scanf("%d %d %d",&a,&b,&c);max=((a>b)?a:b)>c?((a>b)?a:b):c;printf("a,b,c 三个数中最大的一个数是:%d \\n",max);return 0;} ...

c语言编程,输入任意六个数输出最小的数?
1.只需将输入数据存于数组,再用冒泡发排序数组(升序),则最小值即为第一元素。include <stdio.h>\/\/ 升序数组srcvoid sort(int *src, int len){ int tem; for (int i = 0; i < len; i++) { for (int j = 0; j < len - i - 1; j++) if (src[j] > ...

汇编语言 编程实现由键盘输入任意一个字符,将该字符的ASCII码值显示在...
DATA SEGMENT DATA1 DB 'PLEASE PUT A CHAR:$'DATA2 DB 0AH,0DH,'THE ASCII OF THE :$'SD DB 'A'DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET DATA1 ;显示提示信息 MOV AH,09H INT 21H MOV AH,01H INT 21H MOV SI,OFFSET SD ...

C语言编程:十九、 从键盘任意输入一个数,判断这个数是不是完数_百度知...
include <stdio.h> int check(int x)\/\/用来判断是否为完数 { int sum =0;int i;for(i=1;i<x;i++){ if(x%i==0){sum += i;} } if(sum == x) return 1;else return 0;} main (){ int i;printf ("输入一个整数:");scanf ("%d",&i);if (check(i)){ printf("是...

c语言编程从键盘输入一个任意正整数,求其各位数字立方和。
include<stdio.h> intmain(){ inta;scanf("%d",&a);intb[10]={0};intk=0;while(a){ b[k]=a%10;a=a\/10;k++;} printf("%d\\n",k);inti=0,sum=0;while(i<=k){ sum=sum+b[i]*b[i]*b[i];i++;} printf("%d\\n",sum);} ...

1.编写程序任意输入二叉树的结点个数和结点值,构造一棵二叉树,采用三种...
输出BA 先序输入 中序输出可以修改遍历方式 来改变输出结果。 本回答由电脑网络分类达人 董辉推荐 举报| 答案纠错 | 评论 1 2 那时花开依然 采纳率:59% 擅长: 编程语言 电子数码 烦恼 威海市 手机\/通讯 其他回答 你这个问题不对吧?任意输入二叉树的结点个数和结点值,可能能构造很多种二叉树 追问 老师给...

c语言编程 数据统计 任意输入n个整数,分别统计奇数的和、奇数的个数...
include <stdio.h> include <stdlib.h> define MAX 1000 int main(){ int a[MAX] , i , j , n , p , q , s1 , s2;p = 0 ; q = 0 ; s1 = 0 ; s2 = 0;printf("请输入要输入的值的个数:");scanf("%d",&n);printf("请输入这些数的数值:\\n");for(i = 0...

汕头市18286851831: C语言编程,任意输入一个五位正整数,逆序输出每一位上的数 如输入5432 -
蛮戚小儿: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15#include <stdio.h> main() {intabcde,s[5],i;intflag=1;scanf("%d",&abcde);s[0]=abcde/10000;s[1]=abcde%10000/1000;s[2]=abcde%1000/100;s[3]=abcde%100/10;s[4]=abcde%10;thinking.... }

汕头市18286851831: C语言如何输入任意5位正整数然后让其按倒序输出 -
蛮戚小儿: #include<stdio.h> main() { int a[5],i; for(i=0;i<5;i++) scanf("%d",&a[i]); for(i=4;i>=0;i--) printf("%d ",a[i]); return 0; }

汕头市18286851831: C语言编程:输入一个不超过5位的正整数, -
蛮戚小儿: #include void main() { int n,i,a[10]; printf("请输入一个不超过5位的正整数:\n"); scanf("%d",&n); int sum=0; for(i=0;;i++) { a[i]=n%10;/*取余存于a[i]中*/ n=n/10; sum++;/*位数加一*/ if(n==0) break; } printf("它是%d位数\n",sum); int j; ...

汕头市18286851831: 任意输入一个不多余5位的正整数,要求: 1,求出这个数是几位数. 2,输出每一个数字 -
蛮戚小儿: #include<stdio.h> int main() { int n,x=0,i=0,array[5]={0}; scanf("%d",&n); printf("这个数是:%d",n); while(n>0) { array[i]=n%10; n/=10; x++; i++; } printf("\n这个数共有%d位!\n",x); printf("逆序后数字为:"); for(i=0;i<x;i++) { printf("%d",array[i]); } return 0; }

汕头市18286851831: C语言:输入一个五位数的正整数,按顺序输出组成该整数的各个数字. -
蛮戚小儿: 随便码了一个最简单的,有需求再追问#includeint main(){ int dat[5]; printf("Please Enter 5 Data\n"); scanf("%d,%d,%d,%d,%d",&dat[0],&dat[1],&dat[2],&dat[3],&dat[4]); printf("%d,%d,%d,%d,%d",dat[4],dat[3],dat[2],dat[1],dat[0]); getch(); return 0;}希望能帮助你.

汕头市18286851831: 输入五位正整数 求出他是几位数 求出每一位上的数字 按逆序输出个位数字 c语言编程 -
蛮戚小儿: #include<stdio.h>#include<string.h> void main() { int i,n; char a[30],temp; printf("please input a string:"); scanf("%s",a); n=strlen(a); for(i=0;i<n/2;i++) { temp=a[i]; a[i]=a[n-i-1]; a[n-i-1]=temp; } for(i=0;i<n;i++) printf("%c",a[i]); }

汕头市18286851831: 输入一个五位的正整数,求各位数字之和 怎么用C语言写 -
蛮戚小儿: #include<stdio.h> main() {int a,b,c,d,e,n;printf("请输入一个五位数:");scanf("%d",&n);a=n/10000;n=n%10000;b=n/1000;n=n%1000;c=n/100;n=n%100;d=n/10;n=n%10;e=n;printf("五个位数之和为:%d\n",a+b+c+d+e); } 这个答案够简单了吧,一目了然!!!

汕头市18286851831: 用C语言编程:给一个不多于5位的正整数,要求如下: -
蛮戚小儿: #includeint main() { int a,b,c,d,e,p,n; scanf("%d",&n); if (n>9999) p=5; else if(n>999) p=4; else if(n>99) p=3; else if(n>9) p=2; else p=1; printf("位数:%d\n",p); a=n/10000; b=(int)(n-a*10000)/1000; c=(int)(n-a*10000-b*1000)/100; d=(int)(n-a...

汕头市18286851831: C语言任意输入一个有五位数字的正整数,逆序输出每一数位上的数字 如输入12345 输出5 4 3 2 1 -
蛮戚小儿: 思路:要想求一个整数的逆序,依次对其取余输出,再除10操作,直到该值等于0为止.参考代码: #include "stdio.h" int main() {int n;scanf("%d",&n);//键盘输入赋值while(n){//直达其为0为止printf("%d ",n%10);//对10取余n/=10;//除10操作}return 0; } /* 运行结果: 12345 5 4 3 2 1 */

汕头市18286851831: 给1个不多于5位的正整数要求1求出它是几位数2分别打印出每一位数字3按逆序打印出各位数字用C语言编程 -
蛮戚小儿:[答案] #include "stdio.h"void main(){unsigned long int a=0;//用int可能会溢出//int flag=0;int b[5];//以下部分用于判断数据的位数//while(flag==0){printf("Input the number\n");scanf("%ld",&a);if(a>0&&a=10&&a=100...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网