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

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
可以,晚上给你追问

现在需要,很急,谢了

C语言大神来,编写程序,读入一组整数到一维数组中,然后分别统计其中的...
} if(n1)printf("奇数个数:%d\\n",n1);else printf("没有奇数!\\n");if(n0)printf("偶数个数:%d\\n",n0);else printf("没有偶数!\\n");return 0;}

...一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标...
1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。要求:(1)数组为整型数组(10个元素)。(2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值...

...输入10个整数放入数组中,然后求其中的最大值和最小值
int array[10];\/\/用来存储输入的数据 int max;\/\/用来存放最大的数 int i;\/\/用于循环 for(i=0;i<10;i++) \/\/一次输入10个数 { \/\/输入一个数并按回车键 scanf("%d",&a[i]);} max=a[0];\/\/先假设最大值为第一个元素 for(i=1;i<10;i++){ if(a[i]>max) \/\/如果发...

用C#找出数组中的最大值和最小值
1、以C#控制台应用程序为例:int[] input = { 0,0,0,0};Console.Write("输入4个整数,之间以逗号分隔。回车键结束输入...\\r\\n");string str = Console.ReadLine(); \/\/读入一行用户输入信 string[] nums = str.Split(new char[] { ',' }); \/\/以逗号为分隔符,分离出各项 if (nu...

如何用计算机算出一批数据中最大值。
利用计算机在一批数中找出最大值的一般方法为:1.将数据存入一个一维数组中,例如存入a数组中。2.在数组中找最大值(假设用变量max存放最大数)。(1)首先将a[0]视为最大数,即首先使max=a[0]。(2)将除a[0]之外的其他元素(用a[i]表示)逐个与max比较,若a[i]>max,则a[i]为目前的...

...用户输入的10个整数,比较并输出其中的最大值和最小值.
用JAVA 编写程序,从键盘读入10个整数存入数组,输出最大值,最小值及它们所在数组中的位置 import java.io.*;import java.lang.*;import java.util.StringTokenizer;class array { public static void main(String args[]){ StringTokenizer st=new StringTokenizer(\\"10 20 30 40\\");String s=\\"...

...存入一个数组,然后计算各位数的数字之和并输出C++
std;int main(){ int i,s=0; char a[50]; cin>>a;\/\/读入一个整数 for(i=0; a[i]; i++)\/\/输出各位数字的和 { if(i>0)cout<<"+"; cout<<a[i]; s+=a[i]-'0';\/\/统计各位数字的和 } cout<<"="<<s<<endl;\/\/输出答案 return 0;} ...

用C语言编写:设计一个程序,它读入10个整数,最后输出其中最大的两...
核心的算法有很多种,只有10个数的话,不考虑效率的话,就很简单了。先创立一个空间为10的数组,cin《把数乱序读入。然后排序,最简单的是,第一个和第二个比较,大的放后面,然后第二个和第三个比较,大的放后面,直到最后一个,这样排两轮。最后cout》把数组中的最后两个读出就好 具体语言自己写...

...一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标...
int a[LEN]={0},i,j,min=0,iMin=0,max=0,iMax=0;printf("请个输入整型数组元素(输入0表示输入结束):\\n");for (j=0; j<LEN; j++){ scanf("%d", &a[j]);if (a[j] == 0)break;}min=max=a[0];for (i=1; i<j; i++){ if (a[i]<min){ min = a[i];iMin =...

编写程序,读入一个整数数组,删除值相同的多余元素,输出新的数组
publicclassTest2{publicstaticvoidmain(String[]args){int[]a={1,1,4,4,3,3,5,3,8,0,5,1};System.out.println("输入的数组为:"+Arrays.toString(a));a=Arrays.stream(a).distinct().toArray();System.out.println("删除相同后的数组为:"+Arrays.toString(a));}} 代码运行结果:...

相似回答