刚学C++,问几个小问题!

mange0412 2003-08-21 10:57:36
1.已知有一个数组名为ONEARRAY,用一条语句求其元素的个数?
2.编写函数REVERSE(CHAR *S),用递归算法实现字符串S倒序!
谢谢赐教,一定放分(20)!
...全文
33 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjzhangg 2003-08-21
  • 打赏
  • 举报
回复
例5:编写函数reverse (char *s)的倒序递归程序,使字符串s倒序。
程序如下:
# include <iostream.h>
# include <sting.h>
void reverse (char *s, char *t)
{
char c;
if (s<t)
{
c=*s; s=t;*t=c;
reverse (++s, --t);
}
}
void reverse (char *s)
{
reverse( s,s+strlen(s)-1);
}
void main()
{
char str1[20];
cout<<"输入一个字符串:";
cin>>str1;
cout<<"原字符串为:"<<str1<<endl;
reverse (str1);
cout <<"倒序反转后为:"<<str1<<endl;
}
chon81 2003-08-21
  • 打赏
  • 举报
回复
#include "Stdio.h"
#include "Conio.h"

int REVERSE(char *s)
{
int i=0,j=0;
char temp;
while(s[j++]);
j--;
while(j>i)
{
temp=s[i];
s[i]=s[j-1];
s[j-1]=temp;
i++;
j--;
}
}
main()
{
char *str="abcdefghijklmn";
REVERSE(str);
printf("%s",str);
getch();
}
chon81 2003-08-21
  • 打赏
  • 举报
回复
在C里面,数组是一块连续的内存.系统本身是没有计录有几个元素.
上面的那个求法不一定可行.
一个是不能确定数组中都不含有零.
再一个就是,要是数组后面的一个数不为零呢.
一般,编程时都会用一个整数变量计录数组的长度.
Bandry 2003-08-21
  • 打赏
  • 举报
回复
1. int nCount = 0; TYPE *p = ONEARRAY; for(nCount = 0;*p++,nCount++);
Kotoya 2003-08-21
  • 打赏
  • 举报
回复
如何?
mange0412 2003-08-21
  • 打赏
  • 举报
回复
函数reverse(*s)要用递归实现的!
苹果兄的程序不能实现倒序!

64,439

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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