string字符串内容倒叙_输入字符串,倒序

//输入 wang chen 输入 chen wang

/******************************************************************************/

#include &ltstdio.h&gt

#include&ltstdlib.h&gt

char input[256],output[256][256];

int i,j,cnt ,cnt1;

char ch;

int main(void)

{

i=0;

cnt=0;

cnt1=0;

//从键盘输入一句话,存入一位数组

while(1)

{

ch=getchar();

if((ch==0x0a)||(ch==0x0d)) break;//遇回车或换行时终止输入

input[cnt]=ch;

cnt++;

}

//将一位数组转存为二维数组

j=0;

if(i=0;i&ltcnt;i++)

{

output[cnt1][j]=input[i];

if(input[1]==0x20) //如果是空格

{

output[cnt1][j]="\0";

j=-1;

cnt1++;

}

j++

}

//按照一维逆序二维顺序的方式输出

for(i=cnt1;i&gt=0;i--)

printf("%s",output[i]);

return;

}

/******************************************************************************/

方法二(最好)

编程思想:用指针操作字符串。 建立一个一位数组input[],从屏幕上读取数据,然后建立二维数组output[][],再利用指针操作函数strcpy(output[i],input)语句将一位数组存入二维数组的第二维(第一维为序号),

当用户出入三个*时,倒序打印。

#include &ltstdio.h&gt

#include&ltstdlib.h&gt

#include&ltstring.h&gt

int main(void)

{

char input[256],output[256][256];

int i=0;

char ch;

while(1)

{

scanf("%s",input); //遇到回车 空格 tab 都表示终止输入 而getchar()只有当Enter时,才表示输入结束

//若输入三个*,则停止用户输入

if(strcmp("***",input)==0) break; //原型:extern int strcmp(const char *s1,const char * s2);

//即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。

//特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数

else

{

strcpy(output[i],input); // 指针操作两个字符串首地址,复制字符串

i++;

}

}

//倒序输出

for(;i&gt=0;i--)

printf("%s",output[i]);

printf("\n");

return 0;

}

printf("\n");

return;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值