iT邦幫忙

0

dev c 程式

  • 分享至 

  • xImage

小弟遇到一個難題就是老師出了一個題目是這樣的
輸入一”字串“ 用空白隔開 ,然後輸出要是排序好的數字
比如說輸入 204 32 231 235
輸出要是 32 204 231 235
主要老師提示用到qsort strcmp strtok 有人能為我解答嗎
感謝

看更多先前的討論...收起先前的討論...
黃彥儒 iT邦高手 1 級 ‧ 2018-04-29 18:33:58 檢舉
自己的成績自己救,自己的作業自己寫
小魚 iT邦大師 1 級 ‧ 2018-04-29 18:37:41 檢舉
等價交換,3000元換答案...
小魚 iT邦大師 1 級 ‧ 2018-04-29 18:38:32 檢舉
老師意思是說只能用到這三個不能用到其他的嗎?
froce iT邦大師 1 級 ‧ 2018-04-29 19:19:10 檢舉
...剛剛查了一下,這三個你懂就絕對弄得出來啊,連演算法都還算不上。
你老師很仁慈的把關鍵字都給你了,自己的期中考自己救好嗎?

對資訊沒興趣建議快點轉系,不要耗在上面。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int compare(const void *a, const void *b)
{
//a,b 為指向 char * 的指標
return (strcmp(*(char **)a, *(char **)b));
}

int main(void)
{
char input[2000];
char *nums[100];
int size = 0;

//讀入字串
gets(input);

//將字串用空白做切割
char *token = strtok(input, " ");
while (token != NULL)
{
nums[size++] = token;
token = strtok(NULL, " ");
}

//排序字串
//參數: 陣列, 元素數量, 元素大小, 比較函數
qsort(nums, size, sizeof(char *), compare);

//印出結果
for (int i = 0; i < size; i++)
{
printf("%s\n", nums[i]);
}

system("pause");
return 0;
}
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答