用C语言编写一个程序,将一个数组内下标为奇数的数组元素按照从小到大的顺序排序。

作者&投稿:缪坚 (若有异议请与网页底部的电邮联系)
编写C语言程序,把一个数组按从小到大的次序排列起来~

源程序以及算法注释如下:
#define _CRT_SECURE_NO_WARNINGS//VS编译环境需要进行宏定义,VC6.0可忽略
#include//输入输出头文件
int main()
{
int number[10], New_number[10];//定义数组的数据类型为整型
int i, j, m, n, k;//定义变量的数据类型为整型
printf("input 10 number:");//文字提示
for (i = 0; i <= 9; i++)//用循环输入数值给数组number并赋给数组New_number
{
scanf("%d", &number[i]);//输入10个整形数字到数组中
New_number[i] = number[i];//数组number元素赋给数组New_number
}
for (n = 0; n <= 8; n++)//要进行(10-1)组比较
for (j = 0; j <= 8 - n; j++)//每组进行(10减第几组)次比较
{
if (number[j] > number[j + 1])//比较大小并将小的赋给前面的数组
{
k = number[j];//将相对较大的元素赋值给中间元素
number[j] = number[j + 1];//将相对较小的元素送达前面一个位置
number[j + 1] = k;//将中间变量元素送给后面一个位置
}
if (New_number[j] < New_number[j + 1])//比较大小并将大的赋给前面的数组
{
k = New_number[j + 1];//将相对较小的元素赋值给中间元素
New_number[j + 1] = New_number[j];//将相对较大的元素送达前面一个位置
New_number[j] = k;//将中间变量元素送给后面一个位置
}
}
printf("min-->max:
");//文字提示
for (m = 0; m <= 9; m++)//依次从小到大输出
printf("%d ", number[m]);//输出元素
printf("
");
printf("max-->min:
");//文字提示
for (m = 0; m <= 9; m++)//依次从大到小输出
printf("%d ", New_number[m]);//输出元素
printf("
");
return 0;
}
程序运行结果如下:



扩展资料:
其他简单实现程序:
#include
int main()
{
int a[10]={0};
int i,j,temp;
for(i = 0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i = 0;i<10;i++)
{
for(j = 0;j<10-i-1;j++)
{
if(a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i = 0;i<10;i++)
printf("%d ",a[i]);
return 0;
}

这样,我给你实现方法:
在原来的数组基础上,在添加一个数组(str)
使用FOR循环,循环输出原来的数组(但把那个i++改为i=i+2,这样就取得了奇数位的值)
用新的数组储存这些字符串

然后对新的数组进行排序操作
如:string temp=str[0];
循环新的数组,在里面进行判段和排序换位

最后在进行对原数组的循环操作将原来的奇数为的值替换为新数组的值
就可以了

如有实现上的问题,可以继续问,我一般在线

#include<stdio.h>


int main()

{

int a[7] ;

int i , j , temp  ;

for( i = 0 ; i < 7 ; i ++ )

{

scanf("%2d" , &a[i] ) ;

}

for( i = 1 ; i < 7 - 1 ; i += 2)

{

for( j = 1 ; j < 7 - 1 - i ; j += 2)

{

if(a[j] > a[j+2])

{

temp = a[j] ;

   a[j] =a[j+2] ;

a[j+2] = temp ;

}

}

}

for( i = 0 ; i < 7 ; i ++ )

{

printf("%2d " , a[i] ) ;

}

return 0 ;

}




开发一个c语言程序要经过哪四个步骤
开发一个C语言程序要经过以下四个步骤:需求分析、设计、编码和测试。需求分析:这是开发任何软件项目的第一步,包括C语言程序。在这个阶段,开发人员需要明确程序的目的、功能需求、用户接口需求等。例如,如果要开发一个计算器程序,需求分析可能包括确定程序需要支持哪些运算(加、减、乘、除等)、是否需...

开发一个C语言程序需要经过的几个步骤是什么?
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...

c语言编写一个程序分几步?
编写一个C语言程序通常包括以下步骤:定义变量:根据程序的需要,定义变量用于存储数据。变量可以是整型、字符型、浮点型等。编写代码:编写程序的主体代码,包括算法和逻辑操作等。编译程序:使用C语言编译器将源代码编译成可执行文件。运行程序:运行编译后的可执行文件,观察程序的输出结果。以下是一个简单...

c语言如何编译并执行一个c语言程序?
1、新建一个工程和.c文件 ,输入头文件和主函数。2、声明被调用的函数,定义变量类型。3、输入整数。4、用一个if语句去判断整数是否为负数,若为负数则用putchar函数输出一个负号。5、调用一个函数。6、定义函数的返回类型和形参类型。7、通过if语句判断该数是否仅剩一位数,若不是则执行else语句。8...

如何用C语言编写一个简单的计时器程序?
程序代码如下:直接编译,程序输出结果中任意输入三个数字,程序执行结果如下图所示:

怎么用C语言编写一个简单计算器程序。
1、首先在打开的C语言软件窗口中,在Main函数的上方,写上阶乘函数的框架,如下图所示。2、然后定义一个变量【result】,如下图所示。3、然后输入if判断语句,就可以写下程序的关键语句,如下图所示。4、接下来就可以调用输出,如下图所示。5、最后点击运行,如下图所示,就可以运行测试。

如何用C语言编写一个循环程序?
1、首先,定义两个整型变量,控制二维数组的输出。2、接着,给二维数组n[3][4]初始化不同的数值。3、用二重循环,输出数组中的各个数值。4、二维数组可以用大括号括起来的数字直接赋值,内层大括号中每对表示一行,每对内层大括号中的值表示一行中的各数值。5、运行程序,可以看到二维数组中的值,...

如何用C语言编写一个循环程序?
代码如下:while (n <= 1000){hui(n);hui(n*n);hui(n*n*n);if (m == 3){cout << n << "自身、平方、立方均为回文数";}n++;}

如何编写C语言程序?
2.快捷键“CTRL+N”建立新源代码。3.输入源代码,下面给出最简单的Hello,world源代码:include <stdio.h> int main( ){ printf("Hello,World\\n");return 0;} 4.按下F11编译并且运行源代码,得到运行结果:5.点击任意键返回源代码编辑界面可以继续进行开发,接下来就是C语言语法的学习了。

如何编写c语言程序,判断一个数是否能被3整除。
int main() { int i;for (i = 0; i <= 100; i++) { if (i % 3 == 0) { \/\/ 如果能被 3 整除,跳过本次循环 continue;} printf("%d ", i); \/\/ 输出不能被 3 整除的数 } printf("\\n");return 0;} 输出结果:1 2 4 5 7 8 10 11 13 14 16 17 19 20 ...

乌海市15973534835: 用C语言编写一个程序,将一个数组内下标为奇数的数组元素按照从小到大的顺序排序. -
段卿长松: #include<stdio.h> int main() { int a[7] ; int i , j , temp ; for( i = 0 ; i < 7 ; i ++ ) { scanf("%2d" , &a[i] ) ; }for( i = 1 ; i < 7 - 1 ; i += 2) { for( j = 1 ; j < 7 - 1 - i ; j += 2) { if(a[j] > a[j+2]) { temp = a[j] ;a[j] =a[j+2] ; a[j+2] = temp ;} } } for( i = 0 ; i < 7 ; i ++ ) { printf...

乌海市15973534835: C语言程序:将一个数组中的值按逆序重新存放,如原来为8,6,5,4,1,要求改为1,4,5,6,8. -
段卿长松:[答案] #include void main() { int i,a[10],b[10]; For(i=0;i

乌海市15973534835: 用C语言编写程序使一个一维数组内的数从大到小排列 -
段卿长松: #include#include using namespace std;#define maxn 1000 int a[maxn]; bool cmp ( int a, int b ) { return a > b; }int main() { int i, n; printf ( "请输入要排序的元素个数:" ); scanf ( "%d", &n ); printf ( "请依次输入%d个数:", n ); for ( i = ...

乌海市15973534835: 怎样利用c语言编写一个程序在一个字符串数组中查找一个指定的字符并输出他第一次 -
段卿长松: #include<stdio.h> #include<string>void main() {char a[20],c; //a[20]为字符串,c为要查找字符int i,n[5],num = 0,j = 0; //i,j为计数器,n[5]纪录下标,num记录个数printf("请输入字符串(少于20个字符)\n");gets(a);printf("请输入要查找...

乌海市15973534835: 用C语言编写一个程序,通过指针求一个数组中所有元素的和 -
段卿长松: #include "stdio.h"void main() {int a[10];int i,count=0; printf("请输入10个数组元素: \n"); for(i=0;i<10;i++){printf("%d : ",i+1);scanf("%d",&a[i]);} for(i=0;i<10;i++)count+=*(a+i); printf("数组元素和 = %d\n",count); }

乌海市15973534835: 用C语言编写一个程序,将一维数组中的元素向右循环N次,用指针法和下标法 -
段卿长松: #include<stdio.h> int main(void) {int a[10],i,j,n,t; printf("Input N:"); scanf("%d",&n); /*Input array a*/ for(i=0;i<10;i++)a[i]=i+1; /*Move array a*/ for(i=1;i<=n;i++) {t=a[9]; for(j=8;j>=0;j--) {a[j+1]=a[j]; } a[0]=t; } /*Output array a*/ printf("Right Moveing %...

乌海市15973534835: 编辑c语言程序,要求将一个数组中的数据反序存放.例如原始数据1,2,3,4,5.调整后为5,4, -
段卿长松: void main(){ int a[] = {1,2,3,4,5};int i,temp; for(i=0;i<(a.length)/2;i++){ temp = a[i]; a[i] = a[a.length-1-i]; a[a.length-1-i] = temp;} }

乌海市15973534835: C语言编程 将一个数组中的内容输出到文件中,然后从文件中将数据读入至数组里.用函数实现. -
段卿长松: #include void main() { FILE *f; int i=600; int a[10]={1,2,3,4,5,6}; int b[10]={0}; //写入文件 f=fopen("D:\\a.txt","wt"); if(f==NULL) { printf("文件打开失败!\n"); return; } else { printf("文件打开成功!\n"); for(i=0;i<10;i++) fprintf(f,"%d ",a[i]); ...

乌海市15973534835: C语言 编写程序,在一个整型数组中查找某个数并将其删除.(要求用指针) -
段卿长松: #include #include int main() { int i,*p,a[5]={1,2,3,4,5}; p=&a[0]; int num,count; printf("请输入要删除的数字\n"); scanf("%d",&num); for(i=0;i<5;i++) { if(*p++==num) { count=i; } } p=&a[0]; for(i=count;i<4;i++) { *(p+i)=*(p+i+1); *(p+i+1)=null; } p=&a[0]; for(i=0;i<5;i++) { if(a[i]!=0) { printf("%d\n",*p++); } } }

乌海市15973534835: 用C语言写的一个程序:有一个已排好的数组,要求输入一个数后,按原来排序的规律将它插入数组中. -
段卿长松: 代码如下:#include<stdio.h> int main() { int a[20],i=0,n,x,k,j; printf("请输入一组顺序数(从小到大的顺序):"); while(~scanf("%d", &a[i])) { i++; if(getchar() == '\n') break; //在这判断,否则原先的第一个数字读不进去 } n=i; for(i=0;i<n;i++)...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网