
如果不想用指针可以怎么写呢?现在的情况是我写出来的最后都是原样输出了
我的写法是:
#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;
}