1樓:問明
#include
#include
int main()
void swap(char*p1,*p2)
2樓:
你的程式排序結果是對的呀!怎麼不對了?
你是不是對字串比大小不太瞭解啊?
「abc">"abboijuoiuj」,因為c>b,所以第二個字串第二個b後面就算有幾億個字元,也比第一個字元小。
字串比大小是逐個字元比較的。小寫》大寫,如a>a;從a到z一次增大。
例如:abc,abbc,aabzzzzzz比大小,
1步.先比較第一個字元,大家都是a,不能比較出來,就看下一個字元,
2步.aabzzzzzz的第二個字元是a,其他的第二個字元都是b,那後面就不比了,aabzzzzzz就是最小了,哪怕它再長,也是最小;
3步.還剩abc和abbc比大小,同理,abc第三個字元是c,比abbc的第三個字元b大,所以abc>abbc
最後結果是:aabzzzzzzabbc>abc,那就從長度上做文章吧!
預設的比大小規則是我說的那種。不知對你有幫助沒。你的程式是對的!
3樓:
#include
#include "string.h"
int main(void)
輸入3個字串,按從小到大的順序輸出。要求使用指標的方法進行處理。
4樓:匿名使用者
#include
#include
#include
void swap(char **p1, char **p2)int main()
for(int i = 0; i < 3; i++) }}printf("比較大小後:\n");
for(int i = 0; i < 3; i++)return 0;}
5樓:
錯得太多,
襲不好梳理;重寫一個供參考。
#include "stdio.h"
#include
int main(int argv,char *argc)執行樣例:
請輸入三個字串,按由小到大的順序輸出。(用指標方法處理) 出錯,求高手
6樓:匿名使用者
#include
2 #include
3 void change(char *a,char *b)4 12 }
13 14 void exchange(char *a,char *b,char *c)
15 20
21 int main()22
c語言 用指標方法 輸入3個字串 按由小到大順序輸出
7樓:問明
#include
#include
int main()
void swap(char*p1,*p2)
8樓:風若遠去何人留
可以使用三個陣列,或者是一個二維陣列來儲存字串,同時定義一個指標陣列,指向三個字串的首地址。然後對指標陣列進行排序。
**如下:
#include
#include
int main()
;int i,j;
for(i = 0; i < 3; i ++)scanf("%s", p[i]);//輸入三個字串。
for(i = 0; i < 2; i ++)//排序。
for(j = i+1; j < 3; j ++)}for(i = 0; i < 3; i ++)printf("%s\n", p[i]);//輸出排序後的三個字串。}
9樓:夏天的小紅花
#include
#include
int main()
10樓:佔座專用
char *p1=null,*p2=null,*p3=null;
p1,p2,p3都沒有分配空間,所以不能儲存資料。
scanf("%s\n",p1); //\n別放在這,這是輸入,不是輸出
if(strcmp(p1,p2)>0)
//字串不能這樣簡單的交換,用strcpy,當然t也要分配空間
11樓:匿名使用者
指標沒有分配空間可以使用嗎?
定義指標是不分配空間的,在使用前你得初始化,讓它指向確定的地址才可以後續使用。
函式中是沒法更改傳入變數指標地址的!但可以更改其中的內容.
你的比較好像有問題,得不到所需要的:「從小到大」
#include "stdio.h"
#include "string.h"
int main(int argc, char* argv),ch2[20]=,ch3[20]=;
p1=ch1;
p2=ch2;
p3=ch3;
printf("no1:");
scanf("%s",p1);
fflush(stdin);
printf("no2:");
scanf("%s",p2);
fflush(stdin);
printf("no3:");
scanf("%s",p3);
fflush(stdin);
if(strcmp(p1,p2)>0)
if(strcmp(p1,p3)>0)
if(strcmp(p2,p3)>0)
printf("%s\n%s\n%s\n",p1,p2,p3);
return 0;}
c語言:輸入3個字串,按由大到小的順序輸出!要求用指標方法處理!該怎麼寫**,跪求!
12樓:匿名使用者
//在之前的code上做了修改,測試通過,如果有疑問,歡迎交流#include
#include
#include
#define n 100
void bubblesort_str(char **list,int len) //氣泡排序}}
int main()
bubblesort_str(names, 3);
for(i = 0; i<3; i++)
for(i = 0; i<3;i++)
free(names);}
c語言輸入字串按由小到大的順序輸出非
define crt secure no warnings 1 include include include void sort char p int main system pause return 0 執行效果 scanf函式用法 scanf 輸入控制符 輸入引數 功能 將從鍵盤輸入的字元轉化...
求助 輸入字串,由小到大排序輸出
include include void px char p1 int main px str for i 0 i 5 i printf s n str i return 0 include include include void px char p1 5 int main px str for ...
輸入字串,將這字串按從小到大的順序排列後輸出(要求使用選擇法排序)
include iostream include string usingnamespacestd intmain stringa1 5 定義一個字串陣列。62616964757a686964616fe4b893e5b19e31333431353863 cin a1 0 a1 1 a1 2 a1 3...