c语言练习题:编写一个函数int ch(char s[ ],char c);求数组s中参数c表示的字符出现的次数.

如:字符串“abjukadliya"中a字符出现的次数是3次。不用二重指针!!!

(完成函数后,用主函数去调用)

#include<stdio.h>
#include<string.h>
int ch(char s[],char c);
int main( )
{
    char s[]="abjukadliya",c='a';
    printf("字符串%s中%c字符出现的次数是%d次\n",s,c,ch(s,c));
    return 0;
}
int ch(char s[],char c)
{
    int i,len=strlen(s),count=0;
    for(i=0;i<len;i++)
        if(s[i]==c)
            count++;
    return count;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-09
//注意strlen的头文件
int ch(char s[],char c)

{
int len = strlen(s);

int cnt = 0;

if(len <= 0)

{
return 0;

}
for(int i = 0;i < len;i++)

{
if(s[i] == c)

{

cnt++;

}

}
return cnt;

}追问

老哥编译过后全是错呀

追答#include <iostream>
using namespace std;
int ch(char s[],char c)
{
    int len = strlen(s);
    int cnt = 0;
    if(len <= 0)
    {
        return 0;
    }
    for(int i =0;i < len;i++)
    {
        if(s[i] == c)
        {
            cnt++;
        }
    }
    return cnt;
}
int main()
{
    char s[256];
    cin >> s;
    char c;
    cin >> c;
    int i = ch(s,c);
    cout << "字符串" << s << "中" << c << "字符出现的次数是" << i << "次" << endl; 
    cin >> c;
    return 0;
}

#include <iostream>
using namespace std;
int ch(char s[],char c)
{
    int len = strlen(s);
    int cnt = 0;
    if(len <= 0)
    {
        return 0;
    }
    for(int i =0;i < len;i++)
    {
        if(s[i] == c)
        {
            cnt++;
        }
    }
    return cnt;
}
int main()
{
    char s[256];
    cin >> s;
    char c;
    cin >> c;
    int i = ch(s,c);
    cout << "字符串" << s << "中" << c << "字符出现的次数是" << i << "次" << endl; 
    cin >> c;
    return 0;
}

本回答被提问者采纳
相似回答