高分求助一简单的算法排字用的,在线等待

qyyayong 2003-02-15 11:23:20
就是输入一个数,如123 编一程序 输出321
救命用的东东,
输入AB
输出BA
用C语言
...全文
18 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qyyayong 2003-02-15
  • 打赏
  • 举报
回复
你试过吗?
如输入123456
输入654321吗?
myaniu 2003-02-15
  • 打赏
  • 举报
回复
这个算法应该是效率比较高的!
qyyayong 2003-02-15
  • 打赏
  • 举报
回复
还有没有别的方法?
myaniu 2003-02-15
  • 打赏
  • 举报
回复
我大概写了一些

#include<stdio.h>
#include<string.h>
void reverse(char* str);
/*采用字符串处理的方式*/
int main(void)
{
char str[128];/*定义字符串*/
printf("Please enter the string:");
scanf("%s",&str);/*读入字符串*/
reverse(str);/*调用子函数*/
printf("%s",str);/*输出反转后的字符串*/
getchar();/*读入回车*/
getchar();/*停顿,以观察结果*/
return 0;
}
void reverse(char* str)
{
/*以begin和end为指示器,对字符串数组进行反转*/
int end=strlen(str)-1;
int begin=0;
char temp;
for(;begin <= end;begin++,end--)
{/*交换str[begin]和str[end]*/
temp=str[begin];
str[begin]=str[end];
str[end]=temp;
}
}
lw549 2003-02-15
  • 打赏
  • 举报
回复
大家都已经说了。
小雪说的,我同意。
这种问题自己想想就可以了。
cache2002 2003-02-15
  • 打赏
  • 举报
回复
你可以把输入的内容存放在数组里,然后前后交换各个数据元素不就得了,自己编程实现,不难吧,
qyyayong 2003-02-15
  • 打赏
  • 举报
回复
楼上的兄弟能把每一步的意思说一下吗?
我可以再加分!!
我是新手,
就是写一程序,
不光函数
myaniu 2003-02-15
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<string.h>
void reverse(char* str);
int main(void)
{
char str[128];
printf("Please enter the string:");
scanf("%s",&str);
reverse(str);
printf("%s",str);
getchar();
getchar();
return 0;
}
void reverse(char* str)
{
int end=strlen(str)-1;
int begin=0;
char temp;
for(;begin <= end;begin++,end--)
{
temp=str[begin];
str[begin]=str[end];
str[end]=temp;
}
}
333sunshine 2003-02-15
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <conio.h>
void main()
{
int a,i;
char c,*p;
for(a=0;c!='\r';a++)
{c=getche();
p++;
*p=c;
}
cout<<'\n'<<a<<'\n';
for(;a>0;a--)
cout<<*(p--);
}
myaniu 2003-02-15
  • 打赏
  • 举报
回复
我试过,程序在dev-c++下编译通过。
我测试了以下数据:
输入 输出
123456 654321
12345 54321
asdfg gfdsa
均通过测试!
通过我自己的测试之后,我才会贴出来的!

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧