此次做業屬於哪一個課程 | C語言程序設計 |
---|---|
此次做業要求在哪 | 要求 |
我在這個課程的目標是 | 學會運用字符排序 |
這個做業在那個具體方面幫助我實現目標 | 字符串的計數和排序 |
參考文獻 | c語言教科書和大佬博客 |
本題要求編寫程序,輸入若干英文單詞,對這些單詞按長度從小到大排序後輸出。若是長度相同,按照輸入的順序不變。數組
輸入格式:學習
輸入爲若干英文單詞,每行一個,以#做爲輸入結束標誌。其中英文單詞總數不超過20個,英文單詞爲長度小於10的僅由小寫英文字母組成的字符串。設計
輸出格式:3d
輸出爲排序後的結果,每一個單詞後面都額外輸出一個空格。指針
輸入樣例:code
blue red yellow green purple #
輸出樣例:blog
ed blue green yellow purple
#include <stdio.h> #include<stdlib.h> #include <string.h> main() { FILE *fp; char str[20][10],t[20],str1[10]; int i,j,n=0; if((fp=fopen("D:\\做業軟件\\Emotional丶.txt","w+"))==NULL){ printf("File open error!\n"); exit(0); } while(1) { fprintf(fp,"%s\n",str[i]); scanf("%s",str1); if(str1[0]=='&') { break; } else { strcpy(str[n],str1); n++; } } for(i=0;i<n-1;i++) for(j=0;j<n-i-1;j++) { if(strlen(str[j])>strlen(str[j+1])) { strcpy(t,str[j]); strcpy(str[j],str[j+1]); strcpy(str[j+1],t); } } for (i = 0; i < n; i++){ fprintf(fp,"%s ", input[i]); for(i=0;i<n;i++) { printf("%s ",str[i]); }
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較困惑的問題 |
---|---|---|---|---|
3/9-3/15 | 3d | 100 | 文件創建及其文件的利用 | 無 |
3/15-3/18 | 4d | 150 | 二位數組和暴力解法 | 最大子數組最優的解法是什麼,如何下降時間複雜度 |
3/18-3/19 | 5d | 250 | 選擇排序法 | 我沒有徹底消化選擇排序法的思路 |
3/25-3/29 | 5d | 250 | 冒泡排序不會 | 指針也不會 |