问题一百三十:字符矩阵排序
print?Description
Description
现给出一个N*N(长和宽都为N)全由小写英文字母组成的方阵,要求将每一行都按照字母表顺序从小到大排序后上下颠倒之后输出。
Input
输入包括N+1行,第一行为一个整数N,接下来为N行长度为N的字符串。其中0<N<=100,所有字母均为小写字母。
Output
每一行排序好,并且上下颠倒后的方阵。
Sample Input
3
abc
edf
igh
Sample Output
ghi
def
abc
[plain]
#include<stdio.h>
int main() {
int i;
int j;
int n;
int l;
int t;
char array[101][101];
while(scanf("%d", &n)!=EOF && (n>0 && n<=100))
{ for(i=0; i<n; i++)
{ scanf("%s", array[i]);
} for(i=0; i<n; i++)
{ for(j=0; j<n-1; j++)
{ for(l=j+1; l<n; l++)
{
if(array[i][j]> array[i][l])
{
t= array[i][j];
array[i][j]= array[i][l];
array[i][l]= t;
} }
} }
for(i=n-1; i>=0; i--) {
for(j=0; j<n; j++)
{ printf("%c", array[i][j]);
} printf("\n");
} } return 0;
} #include<stdio.h>
int main()
{
int i;
int j;
int n;
int l;
int t;
char array[101][101];
while(scanf("%d", &n)!=EOF && (n>0 && n<=100))
{
for(i=0; i<n; i++)
{
scanf("%s", array[i]);
}
for(i=0; i<n; i++)
{
for(j=0; j<n-1; j++)
{
for(l=j+1; l<n; l++)
{
if(array[i][j]> array[i][l])
{
t= array[i][j];
array[i][j]= array[i][l];
array[i][l]= t;
}
}
}
}
for(i=n-1; i>=0; i--)
{
for(j=0; j<n; j++)
{
printf("%c", array[i][j]);
}
printf("\n");
}
}
return 0;
}
补充:软件开发 , C语言 ,