
c++初学问题,求解答。内详述。感激不尽!
//目的:往一个字符串数组str1[10]中录入字符串,条件:判断输入的字符串是否与之前输入的字符串相同,若相同,则不再录入。//代码如下,算法估计有问题,实现不了。求解...
//目的:往一个字符串数组str1[10]中录入字符串,条件:判断输入的字符串是否与之前输入的字符串相同,若相同,则不再录入。
//代码如下,算法估计有问题,实现不了。求解答。谢谢!
#include<iostream>
#include<string>
using namespace std;
void set_str()
{
int i=0;
string str1[10]={"\0","\0"};
string str2;
do
{
cout<<"请输入一个字符串"<<endl;
cin>>str2;
for(i=0;i<10;i++)
{
if(str1[i]!=str2 && str1[i]=="\0")
str1[i]=str2;
}
}
while(i==9);
for(i=0;i<10;i++)
cout<<str1[i]<<endl;
}
void main()
{
set_str();
} 展开
//代码如下,算法估计有问题,实现不了。求解答。谢谢!
#include<iostream>
#include<string>
using namespace std;
void set_str()
{
int i=0;
string str1[10]={"\0","\0"};
string str2;
do
{
cout<<"请输入一个字符串"<<endl;
cin>>str2;
for(i=0;i<10;i++)
{
if(str1[i]!=str2 && str1[i]=="\0")
str1[i]=str2;
}
}
while(i==9);
for(i=0;i<10;i++)
cout<<str1[i]<<endl;
}
void main()
{
set_str();
} 展开
4个回答
展开全部
#include<iostream>
#include<string>
using namespace std;
int set_str()
{
int i=0;
string str1[10]={"\0"};
string str2;
cout<<"请输入一个字符串:"<<endl;
for(i=1;i<10;i++)
{
cin>>str2;
if(str1[i-1]!=str2)
{
str1[i]=str2;
cout<<"请输入下一个字符串:"<<endl;
}
else
{
cout<<"与前一字符串重复!"<<endl;
return 0;
}
}
return 0;
}
void main()
{
set_str();
cout<<"程序结束!"<<endl;
}
这个程序是我写的,测试的是与前一字符串是否相同,相同则退出程序,以在VC6.0验证。望采纳!
#include<string>
using namespace std;
int set_str()
{
int i=0;
string str1[10]={"\0"};
string str2;
cout<<"请输入一个字符串:"<<endl;
for(i=1;i<10;i++)
{
cin>>str2;
if(str1[i-1]!=str2)
{
str1[i]=str2;
cout<<"请输入下一个字符串:"<<endl;
}
else
{
cout<<"与前一字符串重复!"<<endl;
return 0;
}
}
return 0;
}
void main()
{
set_str();
cout<<"程序结束!"<<endl;
}
这个程序是我写的,测试的是与前一字符串是否相同,相同则退出程序,以在VC6.0验证。望采纳!
追问
谢谢!额,只是还有个问题,这样只能判断跟前一个字符串是否相等,但是不能判断前一个字符串之前的字符串。要和之前所有的字符不一样才可录入。要怎么写呢?望指点!
追答
#include
#include
using namespace std;
int set_str()
{
int i=0,k=0;
string str1[10]={"\0"};
string str2;
cout>str2;
str1[i]=str2;
k=k+1;//k记录输入的数组数量
for(int m=k;m>=1;m--)
//与前面所有输入过的数组进行比较,若存在重复返回主函数,
//不存在则回到前面的for语句(第一个for)开始处
if(str1[m-1]==str2)
{
cout<<"存在重复字串"<<endl;
return 0;
};
}
return 0;
}
void main()
{
set_str();
cout<<"程序结束!"<<endl;
}
这次的能比较所有已输入数组了
展开全部
没有比较字符串,换句话说,没有“判断输入的字符串是否与之前输入的字符串相同,若相同,则不再录入。”做这句话。如果做了这句话,就break循环。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-12-19
展开全部
hhh
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hhh
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询