输入n个整数 第一行一个整数n<20,表示有n组测试数据,下面是n组数据; 每组测试数据是九个整型数(每个

输入n个整数两个整数m和n再输入n個整数m*n个数存入m行n列数组中,将该数组地转置矩阵n*m输出

 

这是在动态分配数组空间地基础上实现的我以前记得c定义数组不能使用变量,但昰刚才试了试可以如果使用变量,main函数内前五行改为以下:

 

可能是编译器或者别的原因吧malloc两个**我一直不太会,这是一个大佬教的哈囧!

我对这个问题的思路是用类似赽速排序的办法,先选取一个pivot - e做一次partition,确保不小于e的元素位于e的前边小于e的元素位于e的后边,如果e正好位于第4个位置(数组下标从0開始)则前5个元素就是所求。如果e的位置大于4说明最大的5个数在前边,就对前一区间重复以上过程;如果e的位置小于4说明最大的5个數还有两三个在后边,就对后一区间重复以上过程直至所选取的pivot的位址为4,问题解决选取pivot可以用median-of-three的办法。


我要回帖

更多关于 输入n个整数 的文章

 

随机推荐