对字符串中的单词排序
来源:互联网 发布:淘宝什么是一块包邮 编辑:程序博客网 时间:2024/05/21 07:01
/*
对字符串中的单词排序
*/
#include <iostream>
#include <string>
using namespace std;
struct node
{
char s[100];
};
void main()
{
node str[100];
int k=0,j=0;;
char input[100];
cin.getline(input,100);//因为要接收' ',所以不能用cin
int n=0;
char *pin=input;
while(*pin!='\0')//提取单词
{
j=0;
while(*pin==' ' && *pin!='\0')
pin++;
while(*pin!=' '&& *pin!='\0')
{
str[k].s[j++]=*pin++;
}
str[k].s[j]='\0';
if(*pin!='\0')//不能少
{
k++;
n++;
}
}
cout<<n;
for(int i=0;i<n;i++)//冒泡排序
{
for(int j=0;j<n-1;j++)
{
//if(strcmp(str[j].s,str[j+1].s)>0)//按字母顺序排序
if(strlen(str[j].s)>strlen(str[j+1].s))//按单词长度排序
{
node tmp;
tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}
}
for(int i=0;i<n;i++)
cout<<str[i].s<<endl;
}
对字符串中的单词排序
*/
#include <iostream>
#include <string>
using namespace std;
struct node
{
char s[100];
};
void main()
{
node str[100];
int k=0,j=0;;
char input[100];
cin.getline(input,100);//因为要接收' ',所以不能用cin
int n=0;
char *pin=input;
while(*pin!='\0')//提取单词
{
j=0;
while(*pin==' ' && *pin!='\0')
pin++;
while(*pin!=' '&& *pin!='\0')
{
str[k].s[j++]=*pin++;
}
str[k].s[j]='\0';
if(*pin!='\0')//不能少
{
k++;
n++;
}
}
cout<<n;
for(int i=0;i<n;i++)//冒泡排序
{
for(int j=0;j<n-1;j++)
{
//if(strcmp(str[j].s,str[j+1].s)>0)//按字母顺序排序
if(strlen(str[j].s)>strlen(str[j+1].s))//按单词长度排序
{
node tmp;
tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}
}
for(int i=0;i<n;i++)
cout<<str[i].s<<endl;
}
0 0
- 对字符串中的单词排序
- 对字符串数组中的单词逆序输出
- [Java]对字符串中的每个单词个数进行统计
- 对字符串中的所有单词进行倒排。
- 字符串中的单词逆序
- 反转字符串中的单词
- 逆序字符串中的单词
- 翻转字符串中的单词
- 翻转字符串中的单词
- ]字符串中的单词逆转
- 字符串中的单词逆转
- 翻转字符串中的单词
- 反转字符串中的单词
- 翻转字符串中的单词
- 提取字符串中的单词
- 反转字符串中的单词
- java 对字符串中的数值排序
- 对字符串中的数值进行大小排序
- O2O场景的思考:地图+支付的结合
- VirtualBox虚拟机网络设置(四种方式)
- 连载:面向对象葵花宝典:思想、技巧与实践(12) - “继承” 详解
- cocos2d-x入门介绍
- NSInvocation
- 对字符串中的单词排序
- eclipse中Android模拟器,DDMS看不到设备
- Android开发精要 重读 + xmind笔记(3)
- 八大排序算法总结
- Windows 7安装mysql-5.6.15-winx64解压版
- 本地生活 O2O 商机的平台战略分析
- GT 745M表现如何 华硕A450J性能探秘
- LeetCode之Reverse Linked List II
- Get the Source Code Pentaho