求解答...急。
#include<iostream>using namespace std;
class Char
{
public:
void search_char();
private:
char a[80];
int p; //循环次数
char n; //所需要查找的字母
void set_char(); //输入函数
};
void Char::set_char()
{
cin>>n;
cin>>a;
}
void Char::search_char()
{
int i,j,u; //u,j分别为数组下标变量和记录变量
cin>>p;
for(i=0;i<p;i++)
{
set_char();
u=0;j=100; //给u,j赋初值,为了下面程序能顺利执行
while(a[u]!='\0')
{
if(n==a[u])
{
j=u;
}
u++;
}
if(j!=100)
cout<<j<<endl;
else
cout<<"Not Found"<<endl;
}
}
int main()
{
Char c1;
c1.search_char();
return 0;
}
这是我的代码。
原题目是:
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个字符,再输入一个以回车结束的字符串(少于80个字符),在字符串中查找该字符,如果找到,输出该字符在字符串中所对应的最大下标 (下标从0开始);否则输出"Not Found"。输出格式为"index = %d\n"
输入输出示例:括号内为说明
输入:
2 (repeat=2)
m (字符'm')
programming (字符串"programming")
a (字符'a')
1234 (字符串"1234")
输出:
index = 7 ('m'在"programming"中对应的最大下标是7)
Not Found ("1234"中没有'a')
我的代码可以实现,但是系统只给我50分,提示我:“错误:输入3 错误输出index:5”
不知道是怎么回事,求解。