C语言两位数逆序
时间: 2023-07-07 18:23:17 浏览: 115
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int num, reversed = 0;
printf("请输入一个两位数:");
scanf("%d", &num);
while(num > 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
printf("逆序后的数为:%d", reversed);
return 0;
}
```
对于输入的两位数,我们使用while循环逆序取出它的每一位,再加入到一个新的变量reversed中,最终得到逆序后的数。
相关问题
c语言逆序输出六个数
以下是两种C语言逆序输出六个数的例子:
1.输入一个六位数,分别输出位数和逆序后的数
```c
#include <stdio.h>
int main() {
int b,m,i,j,n,jk;
int a[100];
scanf("%d",&n);
i=0;
while(n) {
a[i]=n%10;//使用数组分别把每位数一一存入数组
n=n/10;
i++;//表示数的位数
}
printf("%d\n",i);
for(jk=i-1;jk>=0;jk--) {
printf("%d ",a[jk]);//for循环把用数组存起来的每个数都顺序输出
}
printf("\n");
for(jk=0;jk<i;jk++) {
printf("%d ",a[jk]);//for循环把用数组存起来的每个数都逆序输出
}
printf("\n");
return 0;
}
```
2.输入一个六位数,逆序输出这个数
```c
#include <stdio.h>
main(){
int i,j=0;
scanf("%d",&i);
for(;i>0;i=i/10){
j=j*10+i%10;
}
printf("%d",j);
}
```
c语言双向链表逆序输出问题
要将双向链表进行逆序输出,可以考虑使用双指针法。具体实现步骤如下:
1. 定义两个指针,分别指向链表的头部和尾部。
2. 使用循环遍历链表,交换头尾指针所指向的节点的值,并将头指针向后移动一位,尾指针向前移动一位。
3. 循环遍历直到头指针超过尾指针。
以下是 C 语言实现的代码示例:
```
void reverse_print(struct Node* head) {
struct Node *front = head;
struct Node *back = head;
while (back->next != NULL) {
back = back->next;
}
while (front != back && front->prev != back) {
// 交换前后指针所指向的节点的值
int temp = front->data;
front->data = back->data;
back->data = temp;
front = front->next;
back = back->prev;
}
// 输出链表节点的值
struct Node *p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
}
```
此代码实现了将双向链表进行逆序输出的功能。注意,在输出链表节点值的时候,可以直接从头部开始遍历输出即可。