当前位置: 代码迷 >> C语言 >> [求助]帮小弟做关于数组的2个题
  详细解决方案

[求助]帮小弟做关于数组的2个题

热度:84   发布时间:2005-02-20 18:29:00.0
[求助]帮小弟做关于数组的2个题
1 用选择法对10个整数排序。(什么叫选择法呀)
2 将一个数组中的值按逆序重新存放。比如,原来8,6,5,4,1。要求改为1,4,5,6,8

求助中,还望大家帮忙~谢谢了!

[此贴子已经被作者于2005-2-21 17:57:22编辑过]



----------------解决方案--------------------------------------------------------
有吗?我也想要啊~~~~
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------

第一题 #include <stdio.h> #include <conio.h>

/* 选择排序 */ void select_sort(int *n_array,int size);

void main() { int i; int n_queue[] = {4,2,7,1,10,29,46,23,18,12}; select_sort(n_queue,10);

for(i=0;i<10;i++) { printf("%4d",n_queue[i]); } printf("\n"); getch(); }

void select_sort(int *n_array,int size) { int i,j,k; int temp; for(i=0;i<size-1;i++) { k = i; for(j=i+1;j<size;j++) { if(n_array[k] > n_array[j]) k = j; }

temp = n_array[i]; n_array[i] = n_array[k]; n_array[k] = temp; } }


----------------解决方案--------------------------------------------------------

第二题 #include <stdio.h> #include <conio.h>

void inverse(int *n_array,int size);

void main() { int i; int n_queue[] = {8,6,5,4,1}; inverse(n_queue,5); for(i=0;i<5;i++) { printf("%4d",n_queue[i]); } printf("\n"); getch(); }

void inverse(int *n_array,int size) { int i,j=size-1; int temp; for(i=0;i<size/2;i++) { temp = n_array[i]; n_array[i] = n_array[j]; n_array[j] = temp; j--; } }


----------------解决方案--------------------------------------------------------
谢谢~yuki
不过我刚看书到数组那章,你写的部分看不懂。存起来了 以后漫漫研究~
----------------解决方案--------------------------------------------------------
#include &lt;iostream.h&gt;
void RevNum(int *pin,int n);
void Main(void)
{   
int i;
int num[5]={5,11,99,3,7};
cout&lt;&lt;"Before reverse number:"&lt;&lt;endl;
for(i=0;i&lt;=4;i++)
{
  cout&lt;&lt;num[i]&lt;&lt;"  ";
}
cout&lt;&lt;endl;
cout&lt;&lt;"After reverse number:"&lt;&lt;endl;
RevNum(num,5);
for(i=0;i&lt;=4;i++)
{
  cout&lt;&lt;num[i]&lt;&lt;"  ";
}
cout&lt;&lt;endl;
}
void RevNum(int *pin,int n)
{
int i;
int j=n-1;
int temp;
for(i=0;i&lt;j;i++)
{
   temp=pin[i];
      pin[i]=pin[j];
   pin[j]=temp;
   j--;
}
}


----------------解决方案--------------------------------------------------------
  相关解决方案