tnfh.net
当前位置:首页 >> C语言数组排序 >>

C语言数组排序

#include void main() { int a[10] = { 10,2,3,4,5,6,9,8,7,1 }; int i,j,t; for(j=0;j

#include void main() { int a[10] = { 10,2,3,4,5,6,9,8,7,1 }; int i,j,t; for(j=0;j

你定义的数组a[11]是11个数,但是你只初始化了0~9,a[10]由于你没有初始化所以是0 你的排序也把这个0排进去了。 你试试定义那里写a[11]=={1,10,20,30,40,50,60,70,80,90,100};就肯定不会有0了

if (strcmp(*p[i],*p[i+1]>0)) { temp=*p[i]; *p[i]=*p[i+1]; *p[i+1]=temp; } 这一段把i换成j试试看,我没试,不过感觉是这里的问题; 希望能帮到你。

可以。。 #include "stdio.h" void main() {int a[10],i,j,t; printf("enter 10 Z_nums:\n"); //提示输入10个整数 for(i=0;i

思路:在数值进行排序时,下标也同时移动。这就要求二者要联动。为此创建一个PAIR结构体,将此二者关联在一起。用库里的快排函数qsort可以省略排序的麻烦,并指定qsort按PAIR中数值大小为标准排序结构体数组,这样排序结果中的结构体数组下标和...

标准C是不支持你这种变量定义动态数组的 struct item all[N]; 这达不到你想要的效果!需要定义成指针,然后malloc int i,j; printf("请输入%d组信息:\n",N); struct item *all ; int i,j; printf("请输入%d组信息:\n",N); all=(struct item *)...

#include int main() {int i,j,t,a[10]={56,98,76,69,88,43,29,74,58,66}; for(i=0;i

#include int main() {int n=10,i,j,k,t,a[10]; for(i=0;i

#include "stdio.h"int main(){ int a[100],n,i,j,tmp; scanf("%d",&n); for(i=0;i

网站首页 | 网站地图
All rights reserved Powered by www.tnfh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com