C语言不懂提问能解答吗

img


如果不想用指针可以怎么写呢?现在的情况是我写出来的最后都是原样输出了
我的写法是:
#include <stdio.h>
int main()
{
void judgement(char a[10][100]);
int i,j;
char a[10][100];
for(i=0;i<10;i++)
{
for(j=0;j<100;j++)
{
a[i][j]=0;
}
}
for(i=0;i<10;i++)
{
for(j=0;j<100;j++)
{
scanf("%c",&a[i][j]);
if(a[i][j]=='\n') break;
}
}
judgement(a);
return 0;
}
void judgement(char a[10][100])
{
int i,j,x;
char t;
for(i=0;i<10;i++)
{
for(j=0;j<100;j++)
{
if(a[i][j]>a[i+1][j])
{
for(x=0;x<100;x++)
{
t=a[i][j];
a[i][j]=a[i+1][j];
a[i+1][j]=t;
}
}
}
}
for(i=0;i<10;i++)
{
for(j=0;j<100;j++)
{
if(a[i][j]!=0) printf("%c",a[i][j]);
}
}
}

可以,字符串可以直接排序
C++:
(C语言稍微改改就行)
有用请采纳哈

#include <bits/stdc++.h>
using namespace std;

int main() 
{
    string s[11];
    for (int i=1;i<=10;i++)
        scanf("%s",s[i]);
    for (int i=1;i<=9;i++)
        for (int j=i+1;j<=10;j++)
            if (s[i]>s[j]) swap(s[i],s[j]);
    for (int i=1;i<=10;i++) printf("%s\n",s[i]);
    return 0;
}