练习17
2008-10-26 10:18
204 查看
/**********************************************************************************
17. 编写一个程序,当输入不超过60个字符组成的英文文字时,计算机将这个句子
中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度
相同。例如:
输入:
THE PRICE OFBREAD IS ¥1 25 PER POUND
输出:
ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU
并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。
*********************************************************************************/
#include <stdio.h>
void SortLetters(char sort[], int n)
{
int i,j;
//插入排序
for(i=1; i<n; i++)
{
char temp;
temp = sort[i];
for(j=i-1; j>=0; j--)
{
if(sort[j] > temp)
{
sort[j+1] = sort[j];
}
else break;
}
sort[j+1] = temp;
}
}
void main()
{
int i,k;
char letters[61];
char sort[60];
printf("请输入不少于60个字符:/n");
gets(letters);
for(i=0,k=0; letters[i] != '/0'; i++)
{
if(letters[i]>='A' && letters[i]<='Z')
{
sort[k++] = letters[i];
}
}
SortLetters(sort,k);
for(; i>=0; i--)
{
if(letters[i]>='A' && letters[i]<='Z')
{
letters[i] = sort[--k];
}
}
printf("%s/n",letters);
}
17. 编写一个程序,当输入不超过60个字符组成的英文文字时,计算机将这个句子
中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度
相同。例如:
输入:
THE PRICE OFBREAD IS ¥1 25 PER POUND
输出:
ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU
并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。
*********************************************************************************/
#include <stdio.h>
void SortLetters(char sort[], int n)
{
int i,j;
//插入排序
for(i=1; i<n; i++)
{
char temp;
temp = sort[i];
for(j=i-1; j>=0; j--)
{
if(sort[j] > temp)
{
sort[j+1] = sort[j];
}
else break;
}
sort[j+1] = temp;
}
}
void main()
{
int i,k;
char letters[61];
char sort[60];
printf("请输入不少于60个字符:/n");
gets(letters);
for(i=0,k=0; letters[i] != '/0'; i++)
{
if(letters[i]>='A' && letters[i]<='Z')
{
sort[k++] = letters[i];
}
}
SortLetters(sort,k);
for(; i>=0; i--)
{
if(letters[i]>='A' && letters[i]<='Z')
{
letters[i] = sort[--k];
}
}
printf("%s/n",letters);
}
相关文章推荐
- thinking in java test5.8练习(16)(17)(18)
- 17.Oracle10g服务器管理恢复--RMAN复制数据库(练习30)
- 剑指offer-算法题练习:part17 反转链表
- 动态规划练习一 17:开餐馆
- 练习1-17 编写一个程序,打印长度大于80个字符的所有输入行.
- 机器学习&数据挖掘笔记_17(PGM练习一:贝叶斯网络基本操作)
- 【蓝桥杯】【基础练习17】【Huffuman树】
- Python 练习实例17
- 指针练习-17
- 蓝桥杯 BASIC-17 基础练习 矩阵乘法
- 【opencv练习17 - 图像金字塔】
- C++编程练习(17)----“二叉树非递归遍历的实现“
- linux学习笔记17-linux基础练习四
- 动态规划练习一 17:开餐馆
- 数据结构练习(17)反转链表
- Python 练习实例17
- 【SICP练习】17 练习1.23
- 17-集合框架-25-常用对象API(集合框架-TreeSet集合练习-字符串长度排序)
- 【SICP练习】17 练习1.23
- C++编程练习(17)----“二叉树非递归遍历的实现“