首页 > 试题广场 >

请编写一个程序,该程序的功能是确定字符串中首次出现的某个字符

[问答题]

请编写一个程序,该程序的功能是确定字符串中首次出现的某个字符在串中大的位置(即该字符是字符串中的第几个字符),然后从字符串中删除该字符。

要求:

①将确定字符位置以及删除该字符的过程编写为一个独立的函数。(注:函数中不考虑非首次出现的该字符的删除)

②在主函数中通过键盘输入字符串和被确定的字符。若字符串中没有被确定的字符,程序给出相应信息,否则,输出该字符在字符串中首次出现的位置,并且显示删除前、后的字符串。

void main()
{
    char s[100];
    char deleteChar;
    int count=0;

    char ch;
    printf("intput arr: \n");
    while((ch=getchar())!='\n')
    {
        s[count++] = ch;
    }

    printf("intput a delete char: \n");
    scanf("%c", &deleteChar);

    find(deleteChar, s, count);
}

void find(char ch, char s[100], int n)
{
    
    int position=-1;

    for(int i=0;i<n;i++)
    {
        if(s[i]==ch)
        {
            position = i;
            break;
        }
    }
    if(position != -1)
    {
            printf("position: %d\n", position);

            printf("pre: ");
            pr(s, n);

            for(int j=position;j< n-1;j++)
            {
                s[j]=s[j+1];
            }

            printf("post: ");
            pr(s, n-1);

    }else
    {
            printf("Not Found\n");
    }
}

void pr(char s[100], int n)
{
    for(int i=0; i<n;i++)
        printf("%c ", s[i]);
}

发表于 2019-10-01 16:34:44 回复(0)