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 <iostream.h>
void RevNum(int *pin,int n);
void Main(void)
{
int i;
int num[5]={5,11,99,3,7};
cout<<"Before reverse number:"<<endl;
for(i=0;i<=4;i++)
{
cout<<num[i]<<" ";
}
cout<<endl;
cout<<"After reverse number:"<<endl;
RevNum(num,5);
for(i=0;i<=4;i++)
{
cout<<num[i]<<" ";
}
cout<<endl;
}
void RevNum(int *pin,int n)
{
int i;
int j=n-1;
int temp;
for(i=0;i<j;i++)
{
temp=pin[i];
pin[i]=pin[j];
pin[j]=temp;
j--;
}
}
----------------解决方案--------------------------------------------------------