当前位置:首页 » 编程语言 » C语言将输入的字符串倒写
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言将输入的字符串倒写

发布时间: 2023-05-06 15:15:52

⑴ 急求用c语言编写:一个字符串编写程序将其倒置,如:”abcd” 改为:”dcba”,附上注释。谢谢”

#include<stdio.h>
intmain()
{
inti,j;
charstr[100],c;
scanf("%s",str);//读入字符串
for(i=0,j=strlen(str)-1;//i从最前面开始,j从最后猜丛罩锋面开始,数组元素进行交换
i<穗闷樱j;//当i和j碰头时就结束交换
i++,j--)//每交换一个,i往后移一个,j往前移一个
{
c=str[i];//用临时变量保存第i个字符
str[i]=str[j];//第j个字符存入第i个位置
str[j]=c;//临时变量,即原第i个字符写入第j个位置
}
printf("%s",str);//输出倒置后的字符串
}

⑵ C语言怎么在不用数组的情况下将输入的字符串倒序输出

那就使用指针了
int main(void )

{

char* str="Hello china";

char* p = str; char* end;

while(*p!='')

{

弯晌银end=p;

p++;

}//此循环是为了找到字符串的结尾字符

while(end!=str) {printf("%c",*end); end--;}//从最后一个字埋宴符开始逆向输出,直谨渣至第一个字符

printf("%c ",*end);//将最后一个字符输出

}

承接单片机开发

⑶ c语言输入一串字符,将单词倒着输出,例 输入 I Love You 输出 You Love I

参考代码:

#include<stdio.h>
#include<string.h>
voidmain()
{
inti,j,k;
charstr[300],str1[30];
gets(str);
j=strlen(str);
k=0;
for(i=j-1;i>=0;i--)
{
if(str[i]!='')
str1[k++]=str[i];
else
旅搭迹枝世 {
str1[k]='';
strrev(str1);
printf("%s",str1);
k=0;
拆并 }
}
if(k>0)
{
str1[k]='';
strrev(str1);
printf("%s ",str1);
}
}

⑷ c语言怎么把字符串倒序

反序方法见 下面 函数 void op(char *s). 主函数是调用的例子。
#include <stdio.h>
void op(char *s){
int i,k;
char c;
k = strlen(s);
for (i=0;i<k/2;i++){c=s[i];s[i]=s[k-i-1];s[k-i-1]=c;};
};

int main()
{
char s[200];
printf("input one line string:\n");
gets(s);
op(s);
printf("%s\n",s);
return 0;
}
输入:abc123
输出:321cba

⑸ C语言编程题:颠倒字符串

#include<stdio.h>
#defineN20
voidinvert(char*s){char*p,*q,c;
p=q=s;while(*q)q++;q--;//p指向首字符,q指向尾字符
while(p<q){c=*p;*p=*q;*q=c;p++;q--;}
}
voidmain(){chars[N][256];inti,n;
scanf("%d",&n);for(i=0;i<n;i++)gets(s[i]);
for(i=0;i<n;i++)invert(s[i]);
for(i=0;i<n;i++)printf("%s ",s[i]);
}

⑹ C语言 下面的函数invert的功能是将一个字符串的内容颠倒过来。

void invert (char str [] )
{
int i,j, k;
for(i=0,j=strlen(str)-1;i<j;i++,j--)
{
k=str[i];
str[i]=str[j];
str[j]=k;
}
}

⑺ C语言,利用指针实现由键盘任意输入一串字符,将此字符串倒置。

太复杂了,看不懂你想做什么。

#include<stdio.h>
intmain()
{
charx[80],temp[80];
char*p,*q;
gets(x);
for(p=x;*p!='';p++);
for(q=temp,p--;p>=x;q++,p--)
{
*q=*p;
}
*q='';
puts(temp);
return0;
}

⑻ C语言,利用指针编写程序:把从键盘输入的字符串逆序存放并输出

以下是C语言程序,使用指针将键盘输入的字符串逆序存放,并输出结果:

```c
#include <stdio.h>
#include <string.h>

int main() {
char str[100], temp;
int len, i;
char *p1, *p2;

printf("请输入老派一个字符串:");
scanf("%s", str);

len = strlen(str);
p1 = str;
p2 = str + len - 1; // 指向字符串最后一个字符

for (i = 0; i < len/2; i++) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}

printf("逆序存放后的字符串为:%s", str);

return 0;
}
```

程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。老竖接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后侍含大输出逆序存放后的字符串。

注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。

⑼ c语言 将一个输入的字符串的内容颠倒后输出

可以直接使用库函数strrev(), 需要包含头文件string.h

#include<stdio.h>
#include<string.h>

intmain()
{
charbuf[1024];
scanf("%s",buf);
strrev(buf);
printf("%s ",buf);
return0;
}

strrev不是C语言的函数,自己用指针来实现也非常简单。

char *_strrev(char *str)

{

char *f = str, *l = str + strlen(str), ch;

while(f<l) {ch = *f; *f++ = *(--l); *l = ch;}

return str;

}

wchar_t *_wcsrev(wchar_t *wcs)

{

wchar_t *f = wcs, *l = wcs + wcslen(wcs), ch;

while(f<l) {ch = *f; *f++ = *(--l); *l = ch;}

return wcs;

}

对于多字符的汉字的调换次序,要想得到正确的结果,必须先将多字符转换为宽字符,调换次序后再转化为多字符。