main.cpp
来自「我做的一些C语言练习题,里面一共有76道题目,主要用到一些计算机常用的算法,如:」· C++ 代码 · 共 68 行
CPP
68 行
/**********************************************************************************
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);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?