|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 haiouda 于 2015-3-17 13:09 编辑
- /***********************************
- 输入3个字符串,按由小到大的顺序输出
-
-
- **************************************/
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- char *p[3],a0[20],a1[20],a2[20];
- void p1(char *m[],int n);
- void print(char *w[],int n);
- int i,n=3;
- printf("请输入 3 个字符串:");
- scanf("%s",a0);
- scanf("%s",a1);
- scanf("%s",a2);
- printf("\n");
-
- for (i=0;i<3;i++)
- {
- switch (i)
- {
- case 0: p[i]=a0;break;
-
- case 1: p[i]=a1;break;
-
- case 2: p[i]=a2;
-
- }
-
- }
-
- print (p,3);
- printf("\n");
-
- p1(p,3);
-
-
- print (p,3);
- printf("\n");
-
-
- return 0;
-
- }
- void p1(char *m[],int n)
- {
- char *temp;
- int i,j,k;
- for (i=0;i<n-1;i++)
- {
- k=i;
- for(j=i+1;j<n;j++)
- if(strcmp(m[k],m[j])>0)
- {
- k=j;
- }
- if(k!=i)
- {
- temp=m[i]; m[i]=m[k];m[k]=temp;
- }
- }
-
- }
- void print(char *w[],int n)
- {
- int i;
- for (i=0;i<n;i++)
- {
- printf("%s ",w[i]);
- }
-
- printf("\n");
-
-
- }
复制代码
这是书上课后题,越写感觉越麻烦;有没有简单的呀,帮我改改程序,谢谢了
我的问题是,指针数组在定义时没有赋值,就象上面那样子,然后,怎么给它赋值最简单呀(我是用了用了3个数组作中转,这是要求输入3个字串,要是要求输入1000个了串,还不得定义1000个数组了,麻烦死了)。
|
|