| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1427 人关注过本帖
标题:[求助]SOS!请问下怎样将数字反向输出?
只看楼主 加入收藏
lhhsoft
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-4-14
收藏
 问题点数:0 回复次数:8 
[求助]SOS!请问下怎样将数字反向输出?

题目是 输入一个低于5位的正整数
1,输出它是几位数字.
2,反向输出,即 比如原来是123 现在要求输出321,原来输出1234 现在要求输出4321.
请高手指点下,我刚学C,先谢谢了.
请给中文注释,我用的是VC.再次感谢.

搜索更多相关主题的帖子: SOS 数字 输出 
2007-04-18 13:56
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 

你看看这个行不?
#include <stdio.h>
#include <string.h>

int main(void)
{
char ch[200],*p,*q,temp;
gets(ch);
p=ch;
q=p+strlen(ch)-1;
while(p<q)
{
temp=*p;
*p=*q;
*q=temp;
p++;
q--;
}
printf("the strlen of the num is:%d\n",strlen(ch));
printf("print the operate string:%s",ch);
printf("\n");
return 0;
}


~~我的明天我知道~~
2007-04-18 14:58
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
收藏
得分:0 
如果不用数组能做吗?我想知道不用数组怎么做....
2007-04-18 15:03
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
那可以用链式栈。应该很简单的吧。。。如果还有问题,我待会给写一个!

~~我的明天我知道~~
2007-04-18 15:10
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
这个吧:
# include<stdio.h>
# include<malloc.h>
struct list
{
int data;
struct list *next;
};
struct list *creat();
void reverse(struct list *head);
void print(struct list *head);
void main()
{
struct list *head;
head=creat();
reverse(head);
return;
}
struct list *creat()
{
struct list *head,*p,*rear;
int x;
head=(struct list*)malloc(sizeof(struct list));
rear=head;
printf("please input the date:\n");
scanf("%d",&x);
puts("input the list end with '0':\n");
while(x)
{
p=(struct list*)malloc(sizeof(struct list));
p->data=x;
rear->next=p;
rear=p;
scanf("%d",&x);
}
rear->next=NULL;
puts("the list you input is: ");
print(head->next);
return head->next;
}
void reverse(struct list *head)
{
struct list *p,*q,*s;
p=head;
s=head;
q=p->next;
s->next=NULL;
while(q)
{
p=q;
q=q->next;
p->next=s;
s=p;
}
head=p;
puts("\nthe reversed list is: ");
print(head);
}
void print(struct list *head)
{
struct list *p;
p=head;
while(p)
{
printf("%3d",p->data);
p=p->next;
}
printf("\n");
}
这个没用到链式栈!

~~我的明天我知道~~
2007-04-18 15:20
企鹅
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-7-14
收藏
得分:0 

太麻烦了吧。可以把n除于1000得余数i,如果不是0的话打印出余数i,然后再n=n-i*1000;再除于100。依次类推

2007-04-18 15:25
企鹅
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-7-14
收藏
得分:0 
晕,打错了
2007-04-18 15:27
企鹅
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-7-14
收藏
得分:0 

设那个数字为n,i=n%10,打印i,然后i=(n%100)/10;打印i.i=(n%1000)/100,打印i,然后i=n/1000,打印i

2007-04-18 15:34
lhhsoft
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-4-14
收藏
得分:0 
.....谢谢各位

无论你在那里,我离你只有一转身的距离.
2007-04-20 09:12
快速回复:[求助]SOS!请问下怎样将数字反向输出?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022876 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved