2021-11-15

蒜头君给了一个长度为 NN(不大于 500500)的正整数序列(正整数的值不超过 NN),请将其中的所有奇数取出,并按升序输出。

输入格式

共 22 行:

第 11 行为 NN;

第 22 行为 NN 个正整数,其间用空格间隔。

输出格式

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

 

#include <stdio.h>
#include <math.h>
int main()
{
	int n,i,m=0,l=0,t,q;
	scanf("%d",&n);
	int a[n],s[500];
	for(i=0;i<n;++i)
	{
		scanf("%d",&a[i]);
	} 
    for(i=0;i<n;++i)
	{
		if(a[i]%2!=0)/*为确保最后一个数后边没有逗号,输出另s数组 */
		{
			s[l]=a[i];
			++l;//确定s数组的长度 
			
		}
	} 
	 for(i=1;i<l;++i)
	{
		for(q=i;q>=1;--q)
		{
			if(s[q]<s[q-1])
			{
				t=s[q];
				s[q]=s[q-1];
				s[q-1]=t;
			}
		}/*对s数组进行排序*/ 
		
			
	} 
	for(i=0;i<l;++i)
	{
		if(i<=l-2)// 输出s数组除最后一个元素 的所有元素 
			printf("%d,",s[i]);
			
		
		if(i==l-1)//输出s数组最后一个元素 
		printf("%d",s[i]);
	}
	
	return 0;
	
}

 因为无法确定a数组符合条件的元素的位置,所以将符合条件的元素赋给s数组,并用++l确定s数组的元素个数

上一篇:Nvidia-Docker安装、使用基础


下一篇:Docker内起UI