当前位置: 代码迷 >> C语言 >> 大虾帮忙看看
  详细解决方案

大虾帮忙看看

热度:160   发布时间:2008-03-01 20:59:43.0
大虾帮忙看看
先输入一个字符串到数组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);
}
搜索更多相关的解决方案: strings  字符  count  include  

----------------解决方案--------------------------------------------------------
把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;
}
----------------解决方案--------------------------------------------------------
  相关解决方案