OpenJudge计算概论-单词排序
- /*=====================================
- 单词排序
- 总时间限制:1000ms 内存限制: 65536kB
- 描述
- 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字母顺序输出这些单词(即按照字符串中字母的ASCII码排序,区分大小写,当首字母相同时,比较第2个字母,依次类推),要求重复的单词只输出一次。
- 输入
- 一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。
- 输出
- 按字母顺序输出这些单词,重复的单词只输出一次。
- 样例输入
- She wants to go to Peking University to study Chinese
- 样例输出
- Chinese
- Peking
- She
- University
- go
- study
- to
- wants
- 思路:
依次输入单词,用scanf函数即可。
每次输入一个单词后立即检查前面输入的所有单词当中是否含有该新出现的单词。若是没有则把它存到数组当中,否则忽略该新输入的单词。
输入所有单词后,对数组排序,排序时比较两个单词的方法用strcmp进行。
拍好序后输出所有单词即可。- ======================================*/
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- int i,k;
- char a[][],temp[];
- int n;
- int flag,j;
- freopen("5.in","r",stdin);
- k=;//表示现在为止已经往a数组放了k个单词
- while(scanf("%s",temp)!=EOF)
- {
- flag=;//flag==1表示a数组没含有刚输入的单词temp[]
- for(i=;i<k;i++)//检查a数组是否含有刚刚输入的单词temp[]
- {
- if(strcmp(a[i],temp)==)
- {
- flag=;//flag==0表示刚输入的单词temp[]已经包含在数组a里面
- break;
- }
- }
- if(flag==)
- {
- strcpy(a[k],temp);
- k++;
- }
- }
- //下面是对数组a做选择排序
- n=k;
- for(i=;i<n-;i++)
- {
- k=i;
- for(j=i+;j<n;j++) //寻找a[i+1]~a[n-1]当中最小的元素并把它的下标记录到k里面。
- if(strcmp(a[j],a[k])<)//if(a[j] < a[k])
- k=j;
- if(i!=k)
- {
- strcpy(temp,a[k]);
- strcpy(a[k],a[i]);
- strcpy(a[i],temp);
- }
- }
- //下面输出排好序的a数组
- for(i=;i<n;i++)
- {
- printf("%s\n",a[i]);
- }
- return ;
- }
OpenJudge计算概论-单词排序的更多相关文章
- Openjudge计算概论-DNA排序
/*===================================== DNA排序 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一系列基因序列,由A,C,G,T四种字符组 ...
- Openjudge计算概论-单词翻转
/*===================================== 单词翻转 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后 ...
- OpenJudge计算概论-字符串排序
/*====================================================================== 字符串排序 总时间限制: 1000ms 内存限制: 6 ...
- OpenJudge计算概论-单词替换
/*====================================================================== 单词替换 总时间限制: 1000ms 内存限制: 65 ...
- OpenJudge计算概论-单词倒排【把句子内单词的顺序翻转】
/*================================================== 单词倒排 总时间限制: 1000ms 内存限制: 65536kB 描述 编写程序,读入一段英文 ...
- OpenJudge计算概论-奇偶排序
/*==============================================总时间限制: 1000ms 内存限制: 65536kB描述 输入十个整数,将十个整数按升序排列输出,并且 ...
- OpenJudge计算概论-取石子游戏
OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...
- Openjudge计算概论——数组逆序重放【递归练习】
/*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...
- OpenJudge计算概论-计算书费
/*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...
随机推荐
- Android.mk 常用宏和变量
android ndk开发有一个重要的文件 Android.mk,他虽然重要,但是对它进行深入介绍的文档却比较的少,这里将对Android.mk中常用的宏和变量进行说明: 由于这一部分的内容多,资料零 ...
- VS2010命令行编译C#和VC项目
VS2010命令行编译C#和VC项目 VS2010命令行编译C#和VC项目 根据需要动态创建数据库字段后,需要动态创建或者调整页面,那就需要编译这些页面和后台文件.因此使用命令行编译将会非常方便,对于 ...
- Windows服务弹出MessageBox对话框
Windows服务弹出MessageBox对话框 自从Windows升级到Vista版本后,系统服务就不在允许弹出那些惨绝人寰的MessageBox了(至于为什么不让弹出,原理有点小复杂,我也不是很门 ...
- 快速用springmvc搭建web应用-超越昨天的自己系列(10)
Demo地址:http://pan.baidu.com/s/1sjttKWd 创建命令: mvn archetype:generate -DgroupId=com.witown.open.demo - ...
- the grave of my scripts
不定期更新.......... 1,fetch_seq.py https://github.com/freemao/AHRD/blob/master/fetch_seq.py 提取出你想要得染色体的某 ...
- myeclipse 清理项目缓存的几大步骤
http://blog.csdn.net/moneyshi/article/details/49247169 相信大家被项目缓存折腾过吧,这里罗列几条清除项目缓存的方法 1.项目清理: 选择菜单栏的P ...
- easyui 入门
http://www.cnblogs.com/tangge/p/3214496.html 1.页面引用. jquery,easyui,主题easyui.css,图标ico.css,语言zh_CN.js ...
- Educational Codeforces Round 15 D 数学推公式
D. Road to Post Office time limit per test 1 second memory limit per test 256 megabytes input standa ...
- Codeforces Round #303 (Div. 2) C dp 贪心
C. Woodcutters time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- css selector
文章一: http://www.jb51.net/css/68287.html 去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记,今天是CSS的选择器,以后还有一部分xPath ...