用c语言编写程序,要求引用函数

编写一个函数findchar(char s[],char c),该函数统计一个字符c在一个字符串s(长度不超过100)中出现的次数。例如:假定输入的字符串s为"asd asasdfg asd as zx67 asd mklo",字符c为'a',则函数返回值为6。要求在main()函数中输入c和s的值,在main()函数中输出结果。

输入格式
在第一行输入一个字符串 在第二行输入一个字符

输出格式
一个整数



#include "stdio.h"

int findchar(char s[],char c){
    int n=0;
    int i=0;
    while(s[i]!='\0'){
        if(s[i++] == c)
            n++;
    }
    return n;
}
int main()
{
    char s[100]={'\0'};
    char ch;
    printf("请输入字符串:");
    gets(s);
    fflush(stdin);
    printf("请输入一个字符:");
    scanf("%c",&ch);
    printf("字符%c出现的次数是%d",ch,findchar(s,ch));
    return 0;
}
#include <stdio.h>
int findchar(char s[],char c)
{
    int i=0,count=0;
    while(s[i] != '\0')
    {
        if(s[i] == c)
            count++;
        i++;
    }
    return count;
}
int main()
{
    char s[1000],c;
    gets(s);
    getchar();
    c = getchar();
    printf("%d",findchar(s,c));
    return 0;
}

就把一段话保存成char a[]然后挨着判断a[]里面元素是否等于你要判断的那个字符。是的话就弄个计数器加一,最后输出计数器的值

#include <stdio.h>

int findchar(char s[], char c)
{
    int count = 0;
    while (*s)
        if (*s == c)
            count++;
    return count;
}

int main()
{
    char s[100], c;
    gets(s);
    scanf("%c", &c);
    printf("%d", findchar(s, c));
    return 0;
}

#include <stdio.h>
int findchar(char s[],char c){
    int res=0;
    for(int i=0;s[i]!='\0';i++){
        if(s[i]==c)res++;
    }
    return res;
}
int main(void) { 
    char s[105],c;
    fgets(s,105,stdin);
    c = getchar();
    printf("%d", findchar(s,c));
    return 0;
}

c++实现的

img

int findchar(char s[], char c)
{
    int Count = 0;
    int len = strlen(s);
    for (int i = 0; i < len; ++i)
    {
        char ch = s[i];
        if (ch == c)
        {
            Count++;
        }
    }
    return Count;

    
}

int main()
{
    cout << "输如字符串和需要查找的字符";
    char ch;
    char list[100];
    cin >> list >> ch;
    int Count = findchar(list, ch);
    cout << "Count = " << Count << endl;
}