查找字符串中ASCII编码最大的并删除
动态创建不大于50字节的一维数组(大小由用户输入,范围为2 <= n <=50),并输入最大可能的字符串。编程实现删除字符串中ASCII码最大的字符,并输出删除后的字符串。请仔细看输入输出示例,示例中的“[空格]”表示在那个位置上输入“空格”。
输入格式:
用户输入一个整数,代表字符数组的容量。可以接收的有效字符数比这个数少1。例如用户输入50,表示数组容量为50,但只能存放49个有效字符。 输入整数后按回车键,在下一行输入一个字符串。字符串中可能含有空格,输入完毕按回车键。
输出格式:
一个字符串,去掉了ASCII编码最大的字符。
输入样例:
11
abcdadbbcc
输出样例:
abcabbcc
输入样例:
10
a[空格]b[空格]c[空格]d[空格][空格]
输出样例:
a[空格]b[空格]c[空格][空格][空格]
输入样例:
5
aaaa
输出样例:
字符串中,所有字符都相同,一个字符也不删除。
aaaa
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,i,count = 0;
char *p=NULL,ch;
char h;
scanf("%d",&n);
getchar();
p = (char *)calloc(n,sizeof(char));
gets(p);
h = p[0];
for(i = 1;p[i]!='\0';i++)
{
if(h<p[i])
{
h = p[i];
}
if(h==p[i])
{
count ++;
}
}
if(count == n-2)
{
for(i=0;p[i]!='\0';i++)
{
printf("%c",p[i]);
}
}
for(i=0;p[i]!='\0';i++)
{
if(h!=p[i])
printf("%c",p[i]);
}
}
版权声明:本文为Mr_changxin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。