欢迎光临散文网 会员登陆 & 注册

奇数单增数列(C++)

2022-05-15 10:08 作者:游侠翻滚  | 我要投稿

信息学一本通C++版基础算法2数据排序1177

【题目描述】

给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。

【输入】

第1行为 N;

第2行为 N 个正整数,其间用空格间隔。

【输出】

增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。

#include<bits/stdc++.h>

using namespace std;

const int MAXN=10001;

int n,k,i,j;

int temp,a[MAXN];

int main(){

cin>>n;//输入要排序数的个数 

//依次输入需要排序的数 

for(i=1;i<=n;i++){

cin>>a[i];

}

sort(a+1,a+n+1);//sort排序将所有要排序的数从小到大排 

k=0;//这里的k是用来判断当前数是否是第一个数,如果是那么前面不加逗号并把k赋值为1 

for(i=1;i<=n;i++){//输出 

if(a[i]%2==1){//判断奇偶 

if(k==0){//如果k为0,那么这个数是奇数中的第一个 

cout<<a[i];//输出该数 

k=1;//并把k赋值为1,并且以后的数不可能为第一个数,不会在进入这个判断 

}else{

cout<<","<<a[i];//除了第一个数,其他奇数的排序是要加一个逗号在输出的 

}

}

}

//结束,完美 

    return 0;

}


奇数单增数列(C++)的评论 (共 条)

分享到微博请遵守国家法律