读入一组整数到数组中,设计一程序,找出最大偶数和最大奇数并输出

c++
要C++的,不是C语言

max, maxi, maxj没有初始化

if 和 else if 就近匹配。奇数判断的else语句直接和最近的if匹配了

#include <iostream.h>
const int n=20;
void main()
{
int x[n],i,maxj,maxo,max;
maxj = 0;
maxo = 0;
max = 0;
for(i=0;i<n;i++) cin>>x[i];
for(i=0;i<n;i++)
{
if(x[i]%2==0)
{
if (x[i]>max)
max=x[i], maxo=x[i];
}
else if(x[i]%2==1)
{
if (x[i]>max)
max=x[i],maxj=x[i];
}
}

cout<<"最大偶数:"<<maxo<<'\n';
cout<<"最大奇数:"<<maxj;
}

求和函数, 输入一个正整数输出奇数和偶数
这是C的 你借鉴哈!

// 输入一个正整数输出奇数和偶数
//如:1/2+1/4+1/6+1/8......1/100=2.250

#include<stdio.h>
void addeven(int num)//求偶数
{
float sum=0.0f;
int i=0;
for(i=2;i<=num;i+=2)
sum+=(float)1/i;
if(num<=10)
{
for(i=2;i<num;i+=2)
{
printf("1/%d+",i);
printf("1/%d=%.3f\n",i,sum);
}
}
else
{
for(i=2;i<=10;i+=2)
printf("1/%d+",i);
printf("...+1/%d=%.3f\n",num,sum);
}
}
void addodd(int num)//求奇数
{
float sum=0.0f;
int i=0;
for(i=1;i<=num;i+=2)
sum+=(float)1/i;
if(num<=10)
{
for(i=1;i<num;i+=2)
printf("1/%d+",i);
printf("1/%d=%.3f\n",i,sum);
}
else
{
for(i=1;i<=9;i+=2)
printf("1/%d+",i);
printf("....+1/%d=%.3f\n",num,sum);
}
}
int main()
{
int num=0;
char ch;
do
{
printf("请输入一个正整数:");
scanf("%d",&num);
getchar();
if(0==num%2)
{
addeven(num);
}
else
{
addodd(num);
}
printf("是否继续输入(y/n)?\n");
ch=getchar();
}while(ch=='y'||ch=='Y');
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-18
可以,晚上给你追问

现在需要,很急,谢了