您的位置:首页 > 其它

UVA414尽量不要超出字符数组结束字符判断后面的东西

2015-07-18 15:55 393 查看
这题除了题意难理解之外,就是一个水题,但是自己撸的时候超出了字符数组进行判别,

第二组数据可以计算出每行有16个空,然而实际上并没有空,贴上自己的错误代码,和之后改正的正确代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cctype>
#include<string>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<stack>
#define LL long long
using namespace std;
int main()
{
int n;
while(cin>>n&&n)
{
getchar();
char s[15][30];
for(int i=0;i<n;i++)
gets(s[i]);
int mina=30;
int sum=0;
//    for(int i=0;i<30;i++)
//    cout<<s[0][i];
for(int i=0;i<n;i++)
{
int j=0;
while(s[i][j]!='B')
j++;
int total=0;
while(s[i][j]!='X')
{
total++;
j++;
}
cout<<total<<endl;
sum=sum+total;
mina=min(mina,total);
// cout<<sum<<' '<<mina<<endl;
}
cout<<(sum-mina*n)<<endl;*/
}
return 0;
}


#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cctype>
#include<string>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<stack>
#define LL long long
using namespace std;
int main()
{
int n;
while(cin>>n&&n)
{
getchar();
char s[15][30];
for(int i=0;i<n;i++)
gets(s[i]);
int mina=30;
int sum=0;
for(int i=0;i<n;i++)
{
int total=0;
for(int j=0;j<strlen(s[i]);j++)
{
if(s[i][j]==' ')
total++;
}
sum=sum+total;
mina=min(mina,total);
}
cout<<(sum-mina*n)<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: