n位数反转

# include<stdio.h>
 //获取一个数num、
 //用do while 求出这个数的位数即为digit,
 //创建一个长度为digit的数组,
 //用for循环嵌套while循环,外层for循环用于遍历数的每一位,个位,十位,百位····
 //内层while循环用于实现对百位数进行两次/10,千位数进行三次/10,万位数进行4次/10,····
 //在while循环外进行一次%10的操作求出位数。
 
//在上面所有条件的基础上外层再套上if语句,如果是求个位数,直接%10,
//如果是其他数,则要先进行(位数-1)次/10再进行一次%10

 //每当进行一次for循环,while循环结束后,此时已求出此时的位数,将这个数放到arr[i]中,
 
 // 进行所有的for 循环后 再用for循环打印出数组,正好是反转的数。 
int main(){
 int n;
 int sum=1;

 int num;
 int digit;
 int temp;
 int j =1;
 scanf("%d",&num);
 digit=num;

do{
	digit=digit/10;
	sum=sum+1;
}
while((digit/10)!=0);
 int arr [sum]={};
 for(int i=0;i<=sum-1;i++){
 	temp=num;
 	j=1;
 	while(j<=sum-i-1){
	temp=temp/10;
		  j++;
 		
	 }
	 temp=temp%10;
	 arr[sum-i-1]=temp;

 }
for(int p=0;p<sum;p++){
	printf("%d",arr[p]);
}
 return 0;
}

image

image

posted @ 2022-10-21 16:54  Selina风乎舞雩  阅读(37)  评论(0)    收藏  举报