c语言中输入一个正整数n,将其逆序输出
C语言输入一个正整数n,将其逆序输出:
#include<stdio.h>
#include<stdlib.h>
int main(){
int a;
while(scanf("%d",&a)!= EOF){
while(a>0){
printf("%d",a%10);
a = a/10;
}
printf("
");
}
return 0;
}
运行结果如下:
扩展资料:
算法:
首先判断输入的正整数的位数,(例如1000=n<9999)
然后输出m(注意,C语言里方括号是取整运算符号)
//因为是整型运算,其实方括号可以省去
m=[n/1000]; //【取出千位】
n-=1000*[n/1000]; //【n只剩下三位】
m+=10*[n/100]; //【取出百位】
n-=100*[n/100]; // 【n剩下两位】
m+=100*[n/10]+1000*(n-[n/10]); //【取出十位】
printf("d%",m);
主要思路是依次求出每一位,然后逆序输出。求出每一位主要利用%还有除法。给了思路,可以试试。
输入一个正整数n(1<n<=10),再输入n个整数,按逆序输出这些整数。
include <stdio.h> include <conio.h> void main(){ int i,n,a[11];printf("Input n:");scanf("%d",&n);printf("\\nInput %d intergers:",n);for(i=0;i<n;i++)scanf("%d",&a[i]);a[n]='\/0';printf("\\nAfter reversed:");for(i=(n-1);i>=0;i--)printf("%d ...
C语言,输入一个正整数n(n<=10),在输入n个整数,定义并调用fun(a,n)函数...
include <stdio.h>void fun(int a[100],int n){int i,t;for(i=0;i<n\/2;i++){t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;}}void main(){int i,n,a[100];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);fun(a,n);for(i=0;i<n;i++)printf("%d ",...
c语言将数组中的数逆序存放
输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。输入样例:4 10 8 1 2 输出样例:2 1 8 10 include<stdio.h> main(){ int a[10],b[10],i,j,n,...
C语言里输入一个正整数,如何让它逆序输出?
int main(){ int i=12345; \/\/定义一个12345的整数 int temp=0;\/\/temp作为存储的值 while(i!=0){ temp = temp*10 + i%10;i\/=10;} \/\/反序取出来 printf("%d",temp); \/\/打印 return 0;}
C语言编写程序 :输入一个正整数,将其逆序输出。例如,输入12345,输出54321...
i++){ a = num % 10;printf("%d",a);num = num\/10;} return 0;} 分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。a = num % 10 就是输出数字的最后一位 然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。
利用递归的方法将一个正整数逆序输出
} } int main() { rev(1234); \/\/ 样例输入1234 return 0;} 上述代码段中,函数rev()接受一个整数参数n,若n大于0,则输出n的最后一位数字,并递归调用rev(n \/ 10)处理剩余数值,直至n为0。在主函数中,输入样例1234,程序输出4321。递归方法不仅能够简洁地实现正整数逆序输出,还能帮助理解...
(c++)任意输入一个正整数,将它逆序打印出来。要求用循环语句
include <stdio.h> void main() { int num = 0; int bit = 0; int inverse = 0; printf("Please input an integer:\\n"); scanf("%d",&num); while(num != 0){ bit = num%10; num = num\/10; inverse = inverse*10+bit; } printf("inverse the integer: %d\\n",inverse); ...
任意输入一个正整数,将它逆序打印出来(用循环知识做)
include<stdio.h> define MAXN 20 int main(){ int n,t,k=0;int ia[MAXN];printf("请输入一个整数:");scanf("%d",&n);while(t=n%10){ ia[k++]=t;n\/=10;} printf("这是一个%d位数!\\n",k);printf("每位数字分别是:");for(t=0;t<k;t++)printf("%d\\t",ia[t]);p...
C++求输入任意一个整数,将其逆序输出。(只要按逆序输出各个位上的数...
具体步骤如下:1. 使用`char`类型的数组来存储输入的数字字符串,数组大小为1000,以确保能够处理足够大的输入。2. 通过`cin`读取用户输入的整数,并将其存储在字符串数组中。3. 计算字符串的长度,以便后续进行逆序输出。4. 使用一个`for`循环从字符串的最后一个字符开始向前遍历,输出每个字符。以...
用递归方法将输入的一个正整数按逆序输出
include<stdio.h> void rev(int n){ if(n > 0) { printf("%d", n%10);rev(n\/10);} } int main(){ rev(1234);} 如果是以参数的形式传递就是这样了 不过这递归和循环的效果一样,是个尾递归,没什么意思