c++ 程序填空 求 大佬帮忙

顺序查找和字符串查找(函数重载)

#include

#define itemNum(a) sizeof(a)/sizeof(a[0])
//顺序查找:在数组int a[n]中查找值val
//返回true(找到)或false(没有找到)
bool found(int val,int *a,int n) {
_____________________________________
_____________________________________
_____________________________________
_____________________________________
}

//字符串查找:在字符串s中查找字符c
//返回true(找到)或false(没有找到)
bool found(char c,char *s) {
_____________________________________
_____________________________________
_____________________________________
_____________________________________
}

int main() {
int a[]={12,80,78,62,63,89,5,9,89,23,1,6,33,54,30,97,55};
char s[]="fdsfdsfds234234543543scfxzDSGFD*&ASGFwR12%$^";
int val;
char c;
std::cin>>val>>c;
std::cout<<found(val,a,itemNum(a))<<found(c,s)<<std::endl;
return 0;
}
输入
一个正整数和一个字符(空格分隔)
输出
2个0或1(找到为1,没有找到0)组成的串

使用 strchr 与 strrchr 函数查找单个字符
如果需要对字符串中的单个字符进行查找,那么应该使用 strchr 或 strrchr 函数。其中,strchr 函数原型的一般格式如下:

1 char *strchr(const char*s,int c);
它表示在字符串 s 中查找字符 c,返回字符 c 第一次在字符串 s 中出现的位置,如果未找到字符 c,则返回 NULL。也就是说,strchr 函数在字符串 s 中从前到后(或者称为从左到右)查找字符 c,找到字符 c 第一次出现的位置就返回,返回值指向这个位置,如果找不到字符 c 就返回 NULL。

相对于 strchr 函数,strrchr 函数原型的一般格式如下:

1 char *strrchr(const char*s,int c);
与 strchr 函数一样,它同样表示在字符串 s 中查找字符 c,返回字符 c 第一次在字符串 s 中出现的位置,如果未找到字符 c,则返回 NULL。但两者唯一不同的是,strrchr 函数在字符串 s 中是从后到前(或者称为从右向左)查找字符 c,找到字符 c 第一次出现的位置就返回,返回值指向这个位置。下面的示例代码演示了两者之间的区别:

复制代码
1 int main(void)
2 {
3 char str[] = "I welcome any ideas from readers, of course.";
4 char *lc = strchr(str, 'o');
5 printf("strchr: %s\n", lc);
6 char *rc = strrchr(str, 'o');
7 printf("strrchr: %s\n", rc);
8 return 0;
9 }