大虾帮忙看看
先输入一个字符串到数组strings中,然后输入一个字符,如果该字符在strings中,则删除strings中的这个字符程序如些,出现错误
______________________________________________________________
#include<stdio.h>
#include<string.h>
void main()
{
char strings[10],string;
int count,i;
gets(strings);
count=strlen(strings);
scanf("%c",string);
for(i=0;i<count;i++)
{
if(strings[i]==string) strings[i]='\0';
}
puts(strings);
}
----------------解决方案--------------------------------------------------------
把scanf("%c",string)改为scanf("%c",&string)试试!
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
void main()
{
char strings[10],string;
int count,i;
gets(strings);
count=strlen(strings);
scanf("%c",&string);
for(i=0;i<strlen(strings);i++)
{
if(strings[i]==string)
{
strcpy(&strings[i],&strings[i+1]);
i--;
}
}
puts(strings);
}
----------------解决方案--------------------------------------------------------
这个比较好玩啊。呵呵。。。。。
----------------解决方案--------------------------------------------------------
程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
char string[10],ch;
int count,i;
gets(string);
count=strlen(string);
scanf(" %c",&ch); // 如果在windows/dos系统中注意键盘缓冲垃圾
for(i=0;i<count;i++)
if(string[i]==ch)
{
for(;i<count-1;++i)
{
string[i]=string[i+1];
}
string[count-1]=0;
break;
}
puts(string);
return 0;
}
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "string.h"
int main(void)
{
char strings[10],ch;
int count,i;
gets(strings);
count=strlen(strings);
scanf("%c",&ch);
for(i=0;i<count;i++)
{
if(strings[i]==ch)
do{
strings[i]=strings[i+1];
i++;
}
while(strings[i]);
}
puts(strings);
getch();
return 0;
}
----------------解决方案--------------------------------------------------------
void strdelchr1(char * ar, char ch)
{
int i = 0, j = 0;
if(*ar == '\0' || ch == '\0')
return;
do
{
while(ar[j] == ch)
j++;
ar[i] = ar[j++];
}while(ar[i++]);
}
// 重新发一个,刚刚那个函数有问题
[[it] 本帖最后由 cosdos 于 2008-3-2 00:23 编辑 [/it]]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main()
{
char strings[10],string;
int i;
gets(strings);
string=getchar();
for(i=0;strings[i]!='\0';i++)
if(strings[i]==string){
strings[i]=strings[i+1];
string=strings[i];}
puts(strings);
return 0;
}
----------------解决方案--------------------------------------------------------