首页 > 软件 > 二维字符数组排序,我哪里有错?

二维字符数组排序,我哪里有错?

软件 2023-07-06

C++用sort写的 二维字符数组排序问题

你是对指针数组(即str2)进行排序,最后得到排序后的索引序列,原字符串并没有被改变。所以,最后不应打印str1,而要打印str2:

for(i=0;iprintf("%s\n",str2[i]);

c语言二维数组字符串排序,按字符串大小升序排列字符串,但是执行结果“loads”老跑到最前面,求查错

跑到前面的字符串前面有个空格!把空格去掉即可; 先解释一下你的问题吧,strcmp函数在进行比较时,遇到'\0'就会结束,而且两个相同的字符串(一个长一个短,比如shao shaoyun,由于第一个先结束,所以判定第一个小! 另外,帮你改正几处地方:(稍作修改的程序)纯手打,希望采纳!!!以后问我就行 #include #include void Sort(char a[][15]); //二维的第一维可以不写 void main() { int c; char a[][15]={"Xing","Gnuplot","is","a","command-dri

输入4行5列二维数组整数组a,把所有数从大到小排序,再按4行5列输出,请问哪里错了?

scanf("%d",&a[i]); 这句是不是错了,应该是scanf("%d",&a[i][j]); a是二维数组,你对a的下标引用已经超出范围了 排序可以利用a中进行,但必须要转换为一维数组来引用元素,最简单的就是定义一个int指针,把a赋给这个指针,然后通过这个指针来当一维数组使用。具体排序方法你自己检查,我也不知道对不对 b是用来干嘛的?只是转存了下数据,但没用的就不要定义使用了

C语言问题:二维数组排序问题

for(i=0;i<3;i++) { for(j=0;j<4;j++) { for(n=j+1;n<4;n++) { if (a[i][n] < a[i][j]) { m =a[i][n]; a[i][n] = a[i][j]; a[i][j] = m; } } printf("%d ",a[i][j]) ; } }

java的字符型二维数组的排序问题

package test; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Item { public static void main(String[] args) { List itemList = new ArrayList(); itemList.add(new Item("a", "b", 10, 10)); itemList.add(new Item("c", "

标签:编程 信息技术 排序 C(编程语言) CC++

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18