C语言中怎么删除一个字符?
依据输出装置而定.字符输出後, 已经储存或显示在输出装置内, 能否删除, 依据输出装置的能力而定.就显示幕来说, 若支持ASCII控制字符, 我们可以输出"BS 控制字符", 来告知显示幕删除前一个已输出的字符. 但若显示幕不支持(或许是模式不同), 就无法删除.ASCII的删除控制字符为 0x08, printf的格式化, 为"\b". 也可以上网查ASCII确认.
c语言删除字符串中重复的字符?
程序的基本思路是把输入的字符串放到a[100]字符组中,然后把a[100]中所有不重复的字符添加到b[100]中,间接完成对字符串中的重复字符的删除
#include<stdio.h>
void main()
{
char a[100],b[100];
//定义两个字符组,a[100]用来接收输入的字符串,b[100]用来存储不重复的字符
int pa=0,pb=0,i,flag;
scanf("%s",a);
//输入字符串到a[100]中,用scanf读入到a[100]中会自动在a[100]中字符串结束的地方加上'\0'
for(pa=0;a[pa]!='\0';pa++)
//for循环结束的条件是a[pa]==0,也就是从a[100]字符组中读取一个字符,直到没有
{
flag=1;
//flag是个标志符,当flag==1时,说明这个字符(下句中的a[pa])是第一次出现,应该加入到b[100]中
//如果flag==0,说明这个字符(下句中的a[pa])重复了,不应该加到b[100]中
for(i=0;i<pb;i++) if(b[i]==a[pa]) flag=0;
//把a[100]中读取的字符a[pa]与b[100]中的所有字符进行比较,如果b[i]==a[pa]
//说明这个字符已经在b[100]中了,也就是重复字符了,所有将flag=0,不能加入b[100]中
//如果a[pa]与b[100]中的所有字符都不相等,说明这个字条是第一次出现,应该加到b[100]
if(flag)
{
b[pb]=a[pa];pb++;
}
//如果flag==1,则将a[pa]这个字符加入到b[100]中,然后将pb加1
}
b[pb]='\0';
//当所有的不重复的字符都加入到b[100]中时,将b[100]中字符结束的地方加'\0',也就是b[pb]='\0'
//因为字符串都是民'\0'结尾的,所以加上这句
printf("%s\n",b);
//输出b[100]中的字符串,也就是删除过重复字符之后的了
}
C语言怎样删除字符串中的空白字符?
/*
删去字符串空格
*/
#include
#include
voidmain()
{charch[80],str1[80];
inti,j=0;
gets(ch);
for(i=0;i
{
if(ch[i]=='')
{}
else
str1[j++]=ch[i];
}
puts(str1);
}
c语言输出的语句如何清除?
c语言输出的语句按如下清除
1.cin.sync(); //清空缓冲区
2.cin.clear(); //清空错误缓冲区
3.fflush(stdin);//清空stdin,继承自C语言
4.cin.ignore(次数,'需要结束的字符(这儿就是\n)') //一般次数取得足够大 让结束符起作用
个人比较常用的是2/3/4。
像楼主这种情况,可在用4
cin.ignore(100, '\n'); //清除回车,或者100以内的字符
不过,若是想让函数暂停的话,还需再这之后加一条
cin.get();
或
system("pause");

