PAT乙级1010
这道题,臣妾看不懂……非常懵逼……
他究竟在说什么……指数系数都是0,输出“0 0”,系数不为0指数为0照常输出……
阿西吧
开始刷只有14分,后来改啊改,结合网上的答案,把自己的改成了22,有一个测试点始终过不去……哭辽……等着老宋什么时候有空帮我看一下吧……QAQ
错误代码如下:
#include <iostream>
#include <cstdlib>
#include <algorithm>
using namespace std;
int main()
{
int count = 0;
signed int a, b;
while (cin >> a >> b)
{
if (count&&a*b)
{
cout << " ";
count = 0;
}
if (b == 0 && a != 0)
continue;
if (b == 0 && a == 0)
{
if (count == 1)
cout << " ";
cout << "0 0";
count++;
}
if (a*b != 0)
{
cout << a*b << " " << b - 1;
count++;
}
}
system("PAUSE");
return 0;
}
写的乱七八糟的…… 仍然不知道错在哪……
放一个正确答案吧……(卑微)
#include <cstdio>
int main()
{
int m,n;
int flag=1;
while(scanf("%d %d",&m,&n)!=EOF){
if(n>0){
if(flag==1){
printf("%d %d",m*n,n-1);
flag=0;
}else{
printf(" %d %d",m*n,n-1);
}
}
}
if(flag==1)
printf("0 0");
return 0;
}
然后发现while(cin>>a>>b)就好,不用判断什么时候结束输入……
然后大家答案的意思是,指数一定大于或等于0,我赶脚这个好简单,可是就是不知道自己为啥过不去!!!很气!!
1011太简单了……但是你不写永远不知道你的true拼错了有多么致命,呵呵……
代码……
#include <iostream>
#include <string>
using namespace std;
int main()
{
int num; cin >> num;
int i;
long long a, b, c;
string ans[10];
for (i = 0; i<num; i++)
{
cin >> a >> b >> c;
if (a + b>c)
{
ans[i] = " true";
}
else
{
ans[i] = " false";
}
}
for (i = 0; i < num - 1; i++)
{
cout << "Case #" << i + 1 << ":" << ans[i] << endl;
}
cout << "Case #" << num << ":" << ans[num - 1];
//ystem("PAUSE");
return 0;
}
这种题做了学不到很多,但是不做,你可能就不知道自己究竟有多少小错误……
加油加油加油!
抱抱老宋!