原题链接:单词排序
解题思路:
注意事项:
参考代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include "stdbool.h" using namespace std; #define WORD_NUM 128 #define WORD_LEN 64 #define LINE_LEN (WORD_NUM * WORD_LEN) bool ins(char** a,char* t,int len_a){ int i,j; int r; for(i = 0;i<len_a;i++){ r = strcmp(t,a[i]); if(r == 0){ return false; } if(r < 0){ break; } } for(j = len_a;j>i;j--){ a[j] = a[j-1]; } a[i] = t; return true; } int main(){ char* line = (char*)malloc(sizeof(char)*LINE_LEN); char** a = (char**)malloc(sizeof(char*)*WORD_NUM); int len_a = 0; int i; cin.getline(line,LINE_LEN); char *t = strtok(line, " "); while (t) { if(ins(a,t,len_a)){ len_a++; } t = strtok(NULL, " "); } for(i = 0 ;i<len_a;i++){ printf("%s\n",a[i]); } free(a); free(line); return 0; }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复