C语言编程:从键盘输入一个有空格的字符串,删除所有重复字符,按字符升序输出在屏幕上。怎么做?

来自:    更新日期:早些时候
C语言:用函数编写一个程序,从键盘输入一个带有空格的字符串,去掉字符串后再输出(要求只能定义一个数~

1、首先,随便创建一个有main方法的类。

2、定义一个字符串变量,这里给变量赋值,前后都留有一个空格。

3、先运行一遍,看输出效果,可以看到百度包括空格的几个字符都打印出来了。

4、为了更加清晰,用字符串对象另外一个方法“length()”得到此字符串的长度为6, 说明的确是“百度”加两个空格的长度。

5、用trim()方法返回去掉两边空格的操作。再定义一个字符串变量b,让其等于字符串a调用了trim()方法后的返回值,然后运行打印出b的字符,可以看到b的字符串格式相对a有变化。

6、用字符串对象另外一个方法“length()”得到此字符串的长度为4。

#include
#include"string.h"
int main(void)
{
char str1[500]={0},str2[256]={0};//定义二个数组,并赋初值为0
int i;
gets(str1);//读取一个字符串
for(i=0;str1[i];i++)
{
str2[str1[i]]=1;//str1中每个字符的assic码作为str2的下标值,并把对应位置填充为1,同一个字符的assci值相同,所以这样就去掉了重复字符
}
for(i=0;i!=256;i++)
if(str2[i]==1)//判断数组中被str1填充的位置,填充的是非0值,没填充的是0值
printf("%c",i);//输出str2的下标值,对应str1中的字符值
putchar('
');
return 0;
}

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

char a[101],*p,*px,t;

printf("Input a string...
");

for(p=a,t=0;t<100;t++)//输入字符串

if((*(p+t)=getchar())=='
')

break;

*(p+t)='\0';

for(p=a;*p;p++)//排序

for(px=p+1;*px;px++)

if(*p>*px){

t=*p;

*p=*px;

*px=t;

}

for(p=a;*p;p++){//删除重复字符

for(t=1;*p==*(p+t);t++);

if(t>1){

for(px=p;*px=*(px+t);px++);

p--;

}

}

printf(*a ? "
%s
" : "
(null)
",a);//输出

return 0;

}

供参考。




C语言编程:从键盘输入一个有空格的字符串,删除所有重复字符,按字符升序输出在屏幕上。怎么做?视频

相关评论:
  • 18682236101C语言编程:从键盘输入一个有空格的字符串,删除所有重复字符,按字符升 ...
    阎锦受int main(int argc,char *argv[]){ char a[101],*p,*px,t;printf("Input a string...\\n");for(p=a,t=0;t<100;t++)\/\/输入字符串 if((*(p+t)=getchar())=='\\n')break;(p+t)='\\0';for(p=a;*p;p++)\/\/排序 for(px=p+1;*px;px++)if(*p>*px){ t=*p;p=*px...

  • 18682236101C语言:用函数编写一个程序,从键盘输入一个带有空格的字符串,去掉字符串...
    阎锦受1、首先,随便创建一个有main方法的类。2、定义一个字符串变量,这里给变量赋值,前后都留有一个空格。3、先运行一遍,看输出效果,可以看到百度包括空格的几个字符都打印出来了。4、为了更加清晰,用字符串对象另外一个方法“length()”得到此字符串的长度为6, 说明的确是“百度”加两个空格的长度。

  • 18682236101C语言:从键盘输入一个不超过100个字符的字符串,其中字符串只包括字母...
    阎锦受1、首先需要打开编程软件。2、输入以下程序:#include <stdio.h>int main(){ char str[40]; scanf("%s",&str); printf("%s",str); return 0;}。3、然后按F5运行程序。4、然后输入想要输入的字符串。5、按回车键,就会弹出你输入的字符串。6、注意字符串的大小,改变中括号中的数字改变输入...

  • 18682236101c语言程序设计答案 编程实现,从键盘输入一个字符,则输出其后的字符,如...
    阎锦受void main(){ char a;\/\/定义一个字符 printf("请输入一个字符:");\/\/文字提示 scanf("%c", &a);\/\/输入一个字符 printf("其后续字符为:");\/\/文字提示 printf("%c\\n", a + 1);\/\/输出其之后的字符 } 程序运行结果如下:

  • 18682236101C语言编程从键盘输入一个字符,判断该字符是否为控制字符、空格、数字字...
    阎锦受voidmain(){ charch;inta;ch=getchar();if(ch>='a'&&ch<='z')ch='1';if(ch>='A'&&ch<='Z')ch='2';if(ch=='')ch='3';switch(ch){ case'1':printf("xiao\\n");break;case'2':printf("da\\n");break;case'3':printf("空格\\n");break;default:printf("qita");} } ...

  • 18682236101C语言编程:从键盘输入一个字符串,查找指定子串第一次出现的位置。求问题...
    阎锦受flag;\/\/输入一串字符printf("Input a string:");gets(s);\/\/输入想要查找的字符printf("Input another string:");gets(d);\/\/调用函数,输出结果flag=SearchString(s,d);if(flag==-1)printf("Not found!\\n");elseprintf("Searching results:%d\\n",flag);system("pause");...

  • 18682236101求教C语言,从键盘输入一个整型数据(int型),编写程序判断该整数共有几...
    阎锦受include <stdio.h>#include <stdlib.h>int main(){ int n,a,b,c,d,e,f,g,h,i,j,counter=0,num; a=0; b=0; c=0; d=0; e=0; f=0; g=0; h=0; i=0; j=0; printf("Please enter the number:\\n"); scanf("%d",&n); ...

  • 18682236101C语言编程:从键盘输入一个字符和一个字符串,判定该字符能否在输入的字...
    阎锦受include "stdio.h"int main(){ char s[100],c;int i;printf("字符串:");gets(s);printf("字符:");c=getchar();for(i=0;s[i]!='\\0'&&s[i]!=c;i++);if(s[i]=='\\0') printf("Not found.\\n");else printf("该元素的下标:%d\\n",i);} ...

  • 18682236101C语言编程 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年)_百度...
    阎锦受}#include <stdio.h>main(){int a,b;printf("请输入年份和月份:\\n");scanf("%d%d",&a,&b);if (a%4==0&&a%100!=0)if(b==2)printf("这个月有29天\\n");else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)printf("这个月有31天\\n");else printf("这个...

  • 18682236101C语言编程 从键盘输入一个字符串,分别统计其中大写字母、小写字母及其...
    阎锦受void main(){ int countd=0,countx=0,countk=0,counts=0,countq=0;\/\/分别用来对大写字母、小写字母、空格、数字、其他字符做计数 char s[100],*p;printf("请输入一个字符串:");int i=0;while((s[i]=getchar())!='\\n')i++;p=&s[0];while(*p!='\\n'){ if((*p>='A')&&...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网