ZZULIOJ题解
1085: 求奇数的乘积(多实例测试)
题目描述
给你n个整数,求他们中所有奇数的乘积
输入
输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
输出
输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
样例输入
3 1 2 3
4 2 3 4 5
样例输出
3
15
多实例测试的形式,熟悉下代码结构。难度不大,循环加条件复合考察。这里奇数乘积判定可能会忽略负数的情况,所以会答案错误,这里将x%2==-1
考虑之中就行了
代码
#include<stdio.h>
int main()
{
int i,n,x,j;//定义循环变量i,循环次数n和未知数x以及乘积j
while(scanf("%d",&n)!=EOF)//当输入未强制终止
{
j=1;//初始化j的结果
for(i=1;i<=n;i++)//循环n次,每次输入一个x
{
scanf("%d",&x);//输入x,开始进行判定
if(x%2==1||x%2==-1)//如果是奇数
j*=x;//累乘
}
printf("%d\n",j);//输出乘积的结果
}
return 0;//程序正常结束
}