题目要求:一行数字,列表中数字想除等于二的数字的个数。
题目思路:利用while循环,输入列表中的数,判断为0和-1的时候结束循环。循环嵌套比较数组中的数据相除得2且余数为0的数,累计个数,输出个数。
细节处理:判断0和-1循环结束,整数数组,相除得2的数余数必须为0。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[100][100];
int b[100],i=0,j=0,k,c[100]={0},n=0;
while(1)
{
cin>>a[i][j];
{
if(a[i][j]==0)
{b[i]=j;
j=0;
i++;
continue;}
j++;
}
if(a[i][0]==-1)
{n=i;
break;}
}
for(i=0;i<n;i++)
{
for(j=0;j<b[i];j++)
{
for(k=0;k<b[i];k++)
if(a[i][k]/a[i][j]==2&&a[i][k]%a[i][j]==0) c[i]++;
}
}
for(i=0;i<n;i++)
cout<<c[i]<<endl;
return 0;}
感悟:要彻底理解题意,并学会多种方向思考问题。