1、 编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出

作者&投稿:止悦 (联系方式在网页底部的电邮联系)
c语言问题1、 编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出~

已通过调试,结果正确。
#include
void main(void)
{
unsigned char i = 0, j, temp1[200], temp2[200];
printf("


Please Input yuan_wenzi: ");
scanf("%s", temp1); /*输入字符串到TEMP1*/
while(temp1[i] != '\0') {temp2[i] = temp1[i]; i++;} /*暂时存到TEMP2*/
for (j = 0; j < i; j++) temp1[j] = temp2[i - 1 - j]; /*反序后还在TEMP1*/
temp2[j] = temp1[i];
printf("

yuan_wenzi: %s
", temp2);
printf("
fan__wenzi: %s

", temp1); /*输出反序后的TEMP1*/
}

#include
int main()
{
char a[80],c;
int i,j=0;
gets(a);
for(i=0;a[i]!='\0';i++)
{
j++;
}/*第一个循环结束, j的值为字符串结束标志'\0'所在数组元素的下标*/
for(i=0;i<j/2;i++)
{
c = a[i];
a[i] = a[j-1-i];/*j-1才是最后一个字符所在元素的下标,
当i=0,时第一个a[0]和最后一个a[j-1] 交换*/
a[j-1-i] = c;/*同上*/
}
for(i=0;i<j;i++)
{
printf("%c",a[i]);/*循环输出字符数组的元素 ,%c按字符输出*/
}
return 0;
}

//C语言的,VC2005通过
#include <stdio.h>
#include <memory.h>
int main(int argc, char *argv[])
{
char str [20];//最多19个字符
int n,half,i;
char tmp;
memset(str, 0, 20);
scanf("%s", str);
printf("Before: %s\n", str);
n=strlen(str)-1;
half=n/2;
for(i=0;i<=half;i++)
{
tmp=str[i];
str[i]=str[n-i];
str[n-i]=tmp;
}

printf("After : %s\n", str);
fflush(stdin);
getch();
return 0;
}

#include<stdio.h>
main()
{
char str[80],c;
int i,j=0,p;
gets(str);
for(i=0;str[i]!='\0';i++)
j++;
for(i=-;i<p/2;i++)
{c=a[i];a[i]=a[j-1];
j=j-1;}
printf("%d",a[i]);
}

pascal的
program losnow;
var
s,s1:string;
i,j,l:integer;
begin
readln(s);
l:=length(s);
for i:=l down to 1 do
begin
write(s[i]);
s1[l-i+1]:=s[i];
end;
end.
(其中字符数组就是字符串s1)

相关视频