请问我这个应该怎么改

输入一个字符串,将其逆序输出。
输入提示信息:"Please Enter String1:\n"
输入字符串用gets()
输出提示信息和输出格式:"Result is:\n%s\n"
程序运行示例:
Please Enter String1:
hello world!↙
Result is:
!dlrow olleh

#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
char a[N];
char temp;
int i,c;
printf("Please Enter String1:\n");
gets(a);
c=strlen(a);
for(i=0;i<c/2;i++)
{
temp=a[i];
a[i]=a[c-i];
a[c-i]=a[i];
}
printf("Result is:\n%s\n",a);
return 0;
}


#include <stdio.h>
#include <string.h>
#define N 100
int main()
{
    char a[N];
    char temp;
    int i, c;
    printf("Please Enter String1:\n");
    gets(a);
    c = strlen(a);
    for (i = 0; i < c / 2; i++)
    {
        temp = a[i];
        a[i] = a[c - 1 - i];
        a[c - 1 - i] = temp;
    }
    printf("Result is:\n%s\n", a);
    return 0;
}

img


#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
    char a[N];
    char temp;
    int j,c;
    printf("Please Enter String1:\n");
    gets(a);
    c=strlen(a);
    
    for(j=0; j<c/2; j++)
    {
        temp=a[j];
        a[j]=a[c-j-1];
        a[c-j-1]=temp;
    }
    printf("Result is:\n%s\n",a);
    return 0;
}