我想从键盘中输入六个字符串并排序,用数组做出来了,希望能够用指针访问2维数组的地址来交换每行str类型字符串,希望不要用我写的这种方式来完成,最近我学到了指针,希望指针函数来完成。
#include<stdio.h>
#include<string.h>
void main()
{
char string[10]; //定义字符型数组用来进行交换位置
char str[6][10]; //定义一个2位数组用来存放字符
int i,j; //定义整型i,j.
for(i=0;i<6;i++) //i用来控制内层循化和数组
gets(str[i]); //从键盘中输入值到2维数组
for(j=0;j<6;j++) //进行6次循化,实现6趟比较
for(i=0;i<6-j;i++)//进行6-j次比较
if(strcmp(str[i],str[i+1])>0)//相邻的2个字符串进行比较
{
strcpy(string,str[i]); //判断如果前面的字符串大于后面的字符串
strcpy(str[i],str[i+1]); //则交换位置否则位置不变(冒泡法)
strcpy(str[i+1],string);
}
for(i=0;i<6;i++) //按排列好的2维数组。进行输出
printf("%s\n",str[i]);
} |
|