读题,
#include<iostream>
using namespace std;
int main()
{
int a[10];
int b[10];
for(int i=0;getchar()!='\n';i++)
{
cin>>a[i]>>b[i];
cout<<a[i]<<b[i];
}
for(int j=0;j<10;j++)
{
cout<<a[j]*b[j];
if(b[j]!=0)
{
cout<<b[j];
}
}
return 0;
}
结果是一分也没有得到
自己的思路待梳理
下面是学习的别人的
首先下面这种方法是只定义了一个数组,
1注意数组大小不得小于1000----int a[1000]
2不知为何只有在用while循环时,编译才通过
3要先读入a[0],然后再运用getchar()去判断下一个字符是不是换行,如果不是的话,就读入,否则结束循环
接着对数据进行计算,就是说两项相乘,偶数项减一
for(i=0;i<n-1;i+=2)
{
a[i]=a[i]*a[i+1];
a[i+1]=a[i+1]-1;
}
4观察例子,可以发现
5 输出的第一项,是数组两项相乘,第二项则需要讨论
一种特殊情况需要列出来:
if((a[0]==0)&&(a[1]==-1))
{
cout<<"0 0";
continue;
}
其余的:
if((a[i+2]!=0)&&(a[j+2]!=-1))
{
cout<<a[i]<<" "<<a[j]<<" ";
}
else
{
cout<<a[i]<<" "<<a[j];
break;
}