PAT 10-1 在字符串中查找指定字符


百度了一下另外兩位同學的做法,都是先判斷是否匹配,然后再用一個for()循環輸出,我當然也是先判斷,然后,就直接puts(),還是巧妙一點,題設要求及代碼實現如下

/*
    Name: 
    Copyright: 
    Author: 
    Date: 03/04/15 14:49
    Description: 
輸入一個字符串S,再輸入一個字符c,要求在字符串S中查找字符c。如果找不到則輸出“Not found”;若找到則輸出字符串S中從c開始的所有字符。

輸入格式:

輸入在第1行中給出一個不超過80個字符長度的、以回車結束的非空字符串;在第2行中給出一個字符。

輸出格式:

在一行中按照題目要求輸出結果。

輸入樣例1:
It is a black box
b
輸出樣例1:
black box
輸入樣例2:
It is a black box
B
輸出樣例2:
Not found
*/

#include <stdio.h>
#include <string.h>
#include <stdbool.h>

#define MAX 80

void print(char * S, int l, char c);

int main()
{
//    freopen("in.txt", "r", stdin); // for test
    char S[80], c;
    int l;
    
    gets(S);
    l = strlen(S);
    c = getchar();
    
    print(S, l, c);
//    fclose(stdin); // for test
    return 0;
}

void print(char * S, int l, char c)
{
    int i;
    
    for(i = 0; i < l; i++)
    {
        if(S[i] == c)
        {
            puts(S + i);
            break;
        }
    }
    if(i == l)
        printf("Not found\n");
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM