| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1029 人关注过本帖
标题:[求助]逆序输出
只看楼主 加入收藏
nick7281
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-13
收藏
 问题点数:0 回复次数:15 
[求助]逆序输出
将顺序输入的数字或字符串逆序输出,比如:输入:123,输出321。

这个很简单,我就是想不出来
搜索更多相关主题的帖子: 逆序 输出 
2007-02-02 12:41
robyyang
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-2-1
收藏
得分:0 
就当字符串输入,然后倒着输出咯.
2007-02-02 12:45
nick7281
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-13
收藏
得分:0 
这个是课本上的习题,只能用选择语句if或者switch做啊。想了很久就是想不出来

2007-02-02 12:47
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
char *p;
int i,size;
printf("Enter the size:");//输入这个整数(字符串)的位数
scanf("%d",&size);
getchar();
p=(char *) malloc(size*sizeof(char));
if (p==NULL)
{
printf("No memory!\n");
exit(-1);
}
for (i=0;i<size;i++)//输入这个整数(字符串)
scanf("%c",p+i);
for (i=0;i<size/2;i++)
{
char ch=p[i];
p[i]=p[size-i-1];
p[size-i-1]=ch;
}
for (i=0;i<size;i++)//反序输出
printf("%c",p[i]);
printf("\n");
free(p);
}

~~我的明天我知道~~
2007-02-02 13:09
mayulan
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-1-26
收藏
得分:0 
#include<iostream>
using namespace std;
int main()
{
int f(int *q);
int a[10],i,*p;
for(i=0;i<=9;i++)
cin>>a[i];
p=a;
f(p);
return 0;
}
int f(int *q)
{int i;
for (i=9;i>=0;i--)
cout<<*(q+i)<<" ";
cout<<endl;
return *q;
}
2007-02-02 18:12
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
搞一个栈

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-02-02 18:13
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
最简单的解法:
#include "stdio.h"
#include "string.h"
int main(void) {
char s[1000],i;
scanf("%s",s);
for(i=strlen(s)-1;i>-1;i--) printf("%c",s[i]);
}

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-02-02 18:17
nick7281
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-13
收藏
得分:0 
以下是引用mayulan在2007-2-2 18:12:08的发言:
#include<iostream>
using namespace std;
int main()
{
int f(int *q);
int a[10],i,*p;
for(i=0;i<=9;i++)
cin>>a[i];
p=a;
f(p);
return 0;
}
int f(int *q)
{int i;
for (i=9;i>=0;i--)
cout<<*(q+i)<<" ";
cout<<endl;
return *q;
}

呵呵,C++。谢谢了,不过要求是用IF和SWITCH语句做


2007-02-04 11:28
nick7281
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-11-13
收藏
得分:0 
以下是引用卧龙孔明在2007-2-2 18:17:11的发言:
最简单的解法:
#include "stdio.h"
#include "string.h"
int main(void) {
char s[1000],i;
scanf("%s",s);
for(i=strlen(s)-1;i>-1;i--) printf("%c",s[i]);
}

这里将字符串长度减1后赋值给i是什么意思啊?谢谢斑竹


2007-02-04 11:33
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
收藏
得分:0 
strlen函数求出s的长度,返回的是终止字符NULL前的字符个数.减1就恰好表示你输入的最后一个字符

比如 s[1000] = "David"
那i = 5 - 1 = 4
s[4]恰好就是'd'

2007-02-04 12:18
快速回复:[求助]逆序输出
数据加载中...
 
   



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

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