1樓:
#include
#include
void px(char **p1)
}int main()
px(str);
for(i=0;i<5;i++)
printf("%s\n",str[i]);
return 0;}
2樓:匿名使用者
#include
#include
#include//---
void px(char *p1[5])
}int main()
px(str);
for(i=0;i<5;i++)
printf("%s\n",str[i]);
return 0;}
3樓:小c手遊
測試過了,對的
void px(char p1[32])
;for(j=0;j<4;j++)
for(i=j;i<5;i++)//i=j就行了,可以提高效率if(strcmp(p1[i],p1[j])<0)}int main()
;//這裡是5個空間大小為32的字元陣列
int i;
for(i=0;i<5;i++)
scanf("%s",str[i]);//這裡不用取地址px(str);
for(i=0;i<5;i++)
printf("%s\n",str[i]);
return 0;}
輸入5個字串,將這5個字串按從小到大的順序排列後輸出(要求使用選擇法排序)。
4樓:凌亂心扉
#include<iostream>
#include<string>
usingnamespacestd;
intmain()
{stringa1[5];//定義一個字串陣列。62616964757a686964616fe4b893e5b19e31333431353863
cin>>a1[0]>>a1[1]>>a1[2]>>a1[3]>>a1[4];
inti,j;
stringform;
for(i=0;i<4;i++)//通過氣泡排序進行排序{for(j=0;j<4-i;j++)
if(a1[j]>a1[j+1])
{form=a1[j];
a1[j]=a1[j+1];
a1[j+1]=form;}}
}for(i=0;i<5;i++)
{cout<<a1[i]<<endl;
}system("pause");
return0;}
5樓:聽不清啊
#include
#include
int main ()
{char s[5][100],*p[5],*t;
int n=5,i,j,k;
scanf("%d\n",&n);
for(i=0;i
c語言,輸入5個字串,按由小到大的順序輸出。非常急,求指導!
6樓:凌亂心扉
#define _crt_secure_no_warnings 1#include
#include
#include
void sort(char **p)}}}int main()
system("pause");
return 0;
}執行效果:
scanf函式用法:
scanf("輸入控制符",輸入引數);
功能:將從鍵盤輸入的字元轉化為「輸入控制符」所規定格式的資料,然後存入以輸入引數的值為地址的變數中。
用scanf()函式以%s格式讀入的資料不能含有空白符時,所有空白符都被當做資料結束的標誌。所以題中函式輸出的值只有空格前面的部分。
如果想要輸出包括空格在內的所有資料,可以使用gets()函式讀入資料。gets()函式的功能是讀取字串,並存放在指定的字元陣列中,遇到換行符或檔案結束標誌時結束讀入。換行符不作為讀取串的內容,讀取的換行符被轉換為字串結束標誌'\0'。
7樓:匿名使用者
我把scanf_s和strcpy_s改了下就好了。。,你那個拷貝的問題,t陣列的長度不夠。
長度小於5的話還能用用,大於5的話需要變成t[20]。
/*輸入5個字串,按由小到大的順序輸出。*/#include
#include
int main(void)
for (i = 1; i < 5; i++)}printf("after sorted:\n");
for (i = 0; i < 5; i++)puts(a[i]);
return 0;}
8樓:防禦
#include
#include
int main(void)
for (i = 1; i < 5; i++)}printf("after sorted:\n");
for (i = 0; i < 5; i++)puts(a[i]);
return 0;}
9樓:匿名使用者
char a[5][20], t[5];
改成char a[5][20], t[20];試試
10樓:匿名使用者
scanf_s("%s",a[i]);改成scanf_s("%s",a[i], 20);試試
程式設計,輸入5個字串(不含空格),用指標按字母順序由小到大對字串排序後輸出。
11樓:匿名使用者
#include
#include
#define m 5
#define n 20
void main()
}printf("排序後:\n");
for(i=0;i
c++程式設計 輸入5個字串,按英文字典排序,由小到大順序輸出。 求大神幫我讀一下下面寫的這個程式
12樓:木易致生
#include
#include
using namespace std;
int main()
/* 思想:
* 1.從當前字串開始,與之後的所有字串比較,找到最小(即按字母表
* 應該是最靠前的)的字串即為排在最前面的字串,則最小字串與
* 當前字串換位;
* 2.從下一個字串開始繼續上一步操作,直到只有一個字串剩餘為止,
* (只有一個字串剩餘就沒什麼好比較的了,所以下面的迴圈i是從0到
* 4。)
*/for(i=0; i<4; i++)
cout << endl;
for(i=0; i<5; i++)//輸出字串
cout << t[i] << endl;
for(i=0; i<5; i++)//釋放空間
delete t[i];
return 0;}
c語言:輸入5個字串,按由小到大(我想應該是strcmp函式比較)的順序輸出
13樓:__________鄭晟
#include
#include
#define m 5
#define n 20
void main()
char str[m][n],temp[n];
int i,j;
for(i=0;iprintf("請輸入第%d個字串:",i+1);
scanf("%s",&str[i]);
printf("排序前:\n");
for(i=0;iprintf("第%d個字串:%s\n",i+1,str[i]);
for(j=0;jfor(i=0;i<=m-j-1;i++)if(strcmp(str[i],str[i+1])>0)strcpy(temp,str[i]);
strcpy(str[i],str[i+1]);
strcpy(str[i+1],temp);
printf("排序後:\n");
for(i=0;iprintf("第%d個字串:%s\n",i+1,str[i]);
下面是程式執行的截圖,供你參考。
14樓:adam失眠
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
main()
for(i=0;i<5;i++) puts(a[i]);
system("pause");
return 0;}
編寫一段c語言程式,輸入5個字串;要求
15樓:
#include
#include
#include
#define n 5
int comp1(const void *a, const void *b)
int comp2(const void *a, const void *b)
int main()
printf("以下是按字串長度排序的結果:\n");
qsort(s, n, sizeof(char *), comp1);
for (i = 0; i < n; i++) puts(s[i]);
printf("以下是按ascii碼值排序的結果:\n");
qsort(s, n, sizeof(char *), comp2);
for (i = 0; i < n; i++) puts(s[i]);
return 0;}
c語言輸入字串按由小到大的順序輸出非
define crt secure no warnings 1 include include include void sort char p int main system pause return 0 執行效果 scanf函式用法 scanf 輸入控制符 輸入引數 功能 將從鍵盤輸入的字元轉化...
輸入字串,按由小到大的順序輸出。(用指標方法處理)
include include int main void swap char p1,p2 你的程式排序結果是對的呀!怎麼不對了?你是不是對字串比大小不太瞭解啊?abc abboijuoiuj 因為c b,所以第二個字串第二個b後面就算有幾億個字元,也比第一個字元小。字串比大小是逐個字元比較的。小寫...
用c 解 輸入字串,按照升序輸出。要求字串必須
要求差不多,字串及個數可以自己輸入。版 include using namespace std void main int i,j char pt for i 0 i 4 i for j i 1 j 5 j if strcmp p i p j 0 cout after sorting 輸出排序後的結...