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

2025-06-22 23:26:59
推荐回答(4个)
回答1:

#include 
int main()
{
    int i,j;
    char str[100],c;
    scanf("%s",str);    //读入字符串
    for(i=0,j=strlen(str)-1;       //i从最前面开始,j从最后面开始,数组元素进行交换
        i        i++,j--)    //每交换一个,i往后移一个,j往前移一个
    {
        c=str[i];    //用临时变量保存第i个字符
        str[i]=str[j];    //第j个字符存入第i个位置
        str[j]=c;    //临时变量,即原第i个字符写入第j个位置
    }
    printf("%s",str);    //输出倒置后的字符串
}

回答2:

#include
int main()
{
char str[100];
memset(str,0,100);//将str数组元素都置为0
scanf("%s",str);//标准输入读取,读入进str中
int i = 0;
int j = strlen(str) - 1;//得出str的长度,j为最后一个字符的位置,i从前向后,j从后向前
char temp;//临时变量,用于交换两个字符
while(i temp = str[i];
str[i] = str[j];
str[j] = temp;
++i;--j;
}
}

回答3:

程序如下
#include
#include
char str_buf[88]="abcd";
void invert_string(char *str)
{
char i, ch, len = strlen(str);

for(i=0; i ch = *(str + i);

*(str + i) = *(str + len - i);

*(str + len - i) = ch;

}
}
int main(void)
{
printf(“请输入一个测试的字符串!");//如输入abcd
scanf("%s",str_buf);

invert_string(str_buf);
printf("倒置后的字符串为:%s\n",str_buf);//输出dcba
}

回答4:

#include
#define N 8
void main()
{
char a[N];
printf("请输入%d个数:",N/2);
for(int i=0;i scanf("%c",&a[i]);
for(i=N-1;i>=0;i--)
printf("%c ",a[i]);
printf("\n");
}