怎么用c语言实现下列程序,求解答

请编写程序,输入若干字符串,以‘end’结束,要求逆序输出每个字符串。

供参考:

#include <stdio.h>
#include <string.h>
#define N  100
int main()
{
    int  i, j, k;
    char str[N][80] = { 0 };
    for (i = 0; i < N; i++) {
        gets(str[i]);
        if (strcmp(str[i], "end") == 0) break;
    }
    for (k = i, i = 0; i < k; i++) {
        for (j = strlen(str[i]) - 1; j >= 0; j--)
            printf("%c", str[i][j]);
        if (i != k - 1)
            printf("\n");
    }
    return 0;
}

是字符串按输入顺序倒序输出,还是每个字符串将字符顺序颠倒输出?

#include <stdio.h>
#include <string.h>
int main()
{
    char s[1000] = {0};
    scanf("%s",s);
    while(strcmp(s,"end") != 0)
    {
        int len = strlen(s);
        for(int i=len-1;i>=0;i--)
          printf("%c",s[i]);
        printf("\n");
        scanf("%s",s);
    }
}


 List<char> str = new List<char>();
            int i = 0;
            bool isend = true;
            while (isend)
            {
                char a;
                a= Console.ReadKey().KeyChar;
                str.Add(a);
                if (i > 2)
                {
                    if (str[i - 2] == 'e' && str[i - 1] == 'n' && str[i] == 'd') { isend = false; }
                }
                i++;
            }
            string output = "";
            for(int j = str.Count - 3;j>0; j--)
            {
                output = output + str[j];
            }
            Console.WriteLine("\n输出:\n"+output);

作业,尽量跟同学讨论