C语言编程>第二十周 ⑦ 请补充fun函数,该函数的功能是把数组a中的奇数元素按原来的先后顺序放在原数组后面。

252 阅读3分钟

例题:请补充fun函数,该函数的功能是把数组a中的奇数元素按原来的先后顺序放在原数组后面。

例如,输入 “5,7,2,42,35,32,28,37,68,13”,则输出 “2,42,32,28,68,5,7,35,37,13”。
请勿改动主函数main与其它函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。

代码如下:

#include<stdio.h>
#define N 10
void fun(int a[])
{
	int i,j=0,k=0;
	int b[N];
	for(i=0;i<N;i++)
		if(a[i]%2!=0)
			b[k++]=a[i];
		else
			a[j++]=a[i];
	for(i=0;i<k;i++,j++)
		a[j]=b[i];
}
main()
{
	int i;
	int a[N]={5,7,2,42,35,32,28,37,68,13};
	printf("The original list is\n");
	for(i=0;i<N;i++)
		printf("%4d",a[i]);
	fun(a);
	printf("\nThe result list is\n");
	for(i=0;i<N;i++)
		printf("%4d",a[i]);
	printf("\n");
}

输出运行窗口如下:
在这里插入图片描述
本周其他练习

C语言程序设计专栏

C语言编程>第二十周 ① 请补充main函数,该函数的功能是求1+2!+3!+…+N!的和。

C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

C语言编程>第二十周 ③ 请补充fun函数,该函数的功能是:把字符串s中的字符按字符的ASCII码升序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。

C语言编程>第二十周 ④ 下列给定程序中,函数fun的功能是:从N个字符串中找出最长的字符串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

C语言编程>第二十周 ⑤ 请补充main函数,该函数的功能是:如果数组a的前一个元素比后一个元素大,则把它保存在数组b中并输出。

C语言编程>第二十周 ⑥ 请补充main函数,该函数的功能是:打印出满足个位上的数字、十位上的数字和百位上的数字都相等的所有三位数。

C语言编程>第二十周 ⑦ 请补充fun函数,该函数的功能是把数组a中的奇数元素按原来的先后顺序放在原数组后面。

C语言编程>第二十周 ⑧ 下列给定程序中,函数fun的功能是:将n(1≤n≤10)个字符串连接起来,组成一个新串,放在s所指字符串中。

越努力越幸运!
加油,奥力给!!!