C程序题:一个数列有20个整数,要求编写一个函数,它能够对从指定位置开始的n个数进行排序,其余的数不变要求:(中间的排序用冒泡法,整个函数用指针法)如:3,8,12,89,(5,7,10,78,54,22,31,18,61,66
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/12 04:17:31
C程序题:一个数列有20个整数,要求编写一个函数,它能够对从指定位置开始的n个数进行排序,其余的数不变要求:(中间的排序用冒泡法,整个函数用指针法)如:3,8,12,89,(5,7,10,78,54,22,31,18,61,66
C程序题:一个数列有20个整数,要求编写一个函数,它能够对从指定位置开始的n个数进行排序,其余的数不变
要求:(中间的排序用冒泡法,整个函数用指针法)
如:3,8,12,89,(5,7,10,78,54,22,31,18,61,66),9,2,52,82,29.其得到新的数列后中间的变为:5,7,10,18,22,31,54,61,66,78.其余不变.
要C语言程序代码,急!可以直接发给我,谢谢谢谢!
C程序题:一个数列有20个整数,要求编写一个函数,它能够对从指定位置开始的n个数进行排序,其余的数不变要求:(中间的排序用冒泡法,整个函数用指针法)如:3,8,12,89,(5,7,10,78,54,22,31,18,61,66
#include "stdio.h"
int a[20];
void function(int *b,int m,int n)
{
\x05int p,q;
\x05int t;
\x05for(p=m-1;p<m+n-1;p++)
\x05{for(q=m-1;q<p;q++)
\x05\x05{
\x05\x05\x05if(*(a+p)<*(a+q))
\x05\x05\x05{
\x05\x05\x05\x05t=*(a+p);*(a+p)=*(a+q);*(a+q)=t;
\x05\x05\x05}
\x05\x05}
\x05}
}
void main()
{
\x05int i,x,y;
\x05for(i=0;i<20;i++)
\x05{
\x05\x05printf("请输入第%d个数:\n",i+1);
\x05\x05scanf("%d",(a+i));
\x05}
\x05printf("从第x个数开始,对后面的y个数进行从小到大排序,输入x、y:\n");
\x05scanf("%d,%d",&x,&y);
\x05printf("原始数列是:\n");
\x05for(i=0;i<20;i++)
\x05{
\x05\x05printf("a[%d]=%2d,",(i+1),*(a+i));
\x05}
\x05printf("\b\n");
\x05function(a,x,y);
\x05printf("排序后的数列为:\n");
\x05for(i=0;i<20;i++)
\x05{
\x05\x05printf("a[%d]=%2d,",(i+1),*(a+i));
\x05}
\x05printf("\b\n");
}
(下面是程序运行截图)