C++:输入一个一维数组,用选择法升序排序

作者&投稿:喻征 (若有异议请与网页底部的电邮联系)
求填空 自定义函数,用冒泡法/选择法实现对一维数组的升序/降序排列..~

void bubble_sort(int a[], int N) /*冒泡排序,N是数组a的长度*/
{int i,j,t;
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(a[j]>a[j+1)
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}

void select_sort(int a[], int N) /*选择排序,N是数组a的长度*/
{int i,j,k,t;
for(i=0;i<N-1;i++)
{k=i
for(j=i+1;j<N;j++)
if(a[j]<a[k])k=j;
t=a[i];a[i]=a[k];a[k]=t;
}



case 1:
bubble_sort(a,20);
break;
case 2:
select_sort(a,20);
break;

1、新建一个163.php。

2、输入php网页的结构()。

3、声明PHP与浏览器交互的文件类型和编码。

4、使用 array() 函数定义一个$numbers数组。

5、使用 sort() 函数对数组 $numbers 中的元素进行排。

6、使用 print_r() 函数,输出排序后的数组。

7、运行网页,在浏览器中输出排序后的数组。

#include <iostream>

using namespace std;

void ChooseSort(int*,int);
void swap(int&,int&);

int a[1002];

int main(){

int n;
cin>>n;
for(int i=1;i<=n;++i)
cin>>a[i];

ChooseSort(a,n);

for(int i=1;i<=n;++i)
cout<<a[i]<<' ';
cout<<endl;

return 0;
}

void ChooseSort(int*Array,int N){
for(int i=1,k;i<N;++i){
k=1;
for(int j=2;j<=N-i+1;++j)
if(Array[j]>Array[k])
k=j;
swap(Array[k],Array[N-i+1]);
//交换
}
}

void swap(int&a,int&b){
int t;
t=a,a=b,b=t;
}


跪求!一C语言答案!急需!输入一个一维整型数组,并找出数组元素中最大值...
3.掌握与数组相关的算法,包括排序算法和查找算法等。实验内容:1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。要求:(1)数组为整型数组(10个元素)。(2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。(3)输出时给出必要的说明,首先输出原始的10个元素,...

用c++语言编写程序在一维数组中插入一个数
include <string> using namespace std;include <stdio.h> \/\/兼容 c int main(){ int a[]={1,2,3,4,5,6,7,8,9,10,11,0}; \/\/ 假定已知一维数组数据 int i,L;int p,v;cout << "input location 0 or 1,2,3...10:"<< endl;cin>>p; \/\/ 输入 下标 位置 cout ...

从键盘上输入一个一维数组,将这个数组逆序存放后,再输出
include "stdafx.h"int main(){ int i;int a[10];printf("输入10个数\\n");for(i=0;i<=9;i++)scanf("%d",&a[i]);printf("逆序输出这10个数\\n");for(i=9;i>=0;i--)printf("%d ",a[i]);printf("\\n");return 0;} 这才是对的 ...

初学者java编程 提示用户输入一个一维数组,为这个数组添加元素_百度...
for(int i=n; i < arr.length - 1; i++) { arr[i]=arr[i + 1];\/\/ 从位置n开始,后面的元素覆盖前面的元素 } for(int i=0; i < arr.length - 1; i++) { tmp[i]=arr[i];\/\/ 将数组赋值给新数组,不要最后一个元素,因为数组长度-1了 } return tmp;} public static ...

C++编程:从键盘输入10个整数,存储到一个一维整型数组中,编一个函数将...
cout<<"请输出十个整数:"<<endl;for( i=0; i<10; ++i )cin>>array[i];\/\/ sort1(array,10);sort2(array,0,9);cout<<"排序后:"<<endl;print(array,10);return 0;} void print( const int * const list, const int size ){ int i;for(i=0; i<size; ++i )cout<<setw(4...

...完成一维数组的逆置。主函数中输入一个一维数组,然后调用该自定义函...
include "stdio.h"void arrrev(int *p,int n){int *q,t;for(q=p+n-1;p<q;p++,q--)t=*p,*p=*q,*q=t;}int main(int argc,char *argv[]){int a[100],n,i;printf("Please enter a set of integers(other end)...\\n");for(n=0;n<100;n++)if(scanf("%d",a+n)!=...

...函数,在main()函数中输入数据,并另外创建一个一维数组,
4、转置类的代码为:public static double[,] 转置(double[,] A){ int m, n;m = A.GetLength(0);n = A.GetLength(1);double[,] C = new double[n, m];for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){C[j, i] = A[i, j];}} return C;}。5...

C语言中,输入10个数存入一个一维数组中,统计其中的正数,负数与零的个...
到9结束,共进行10次循环。5、if(a[i]>0) m++ 中表示的是,从循环里找出正数,每次找出的正数进行存储在m里。注意这时if里的数组要注意定义为大于0,目的是为了找出10个整数里的正数。6、最后一点要注意输出结果的那个代码要用到10-m-n,使其算出最后一个要求负数的个数,就完成了。

c++中怎样定义一个未知长度的一维数组。从键盘上输入若干正整数,求最大...
int main(){ vector<int> arr; \/\/类似与动态数组的东西 int a;while(cin>>a,a) \/\/读取a,且a不为0 arr.push_back(a); \/\/存入arr sort(arr.begin(),arr.end()); \/\/从小到大排序 cout<<"最小值:"<<arr[0]<<endl;cout<<"最大值:"<<arr[arr.size()-1]<<endl;}...

在C++中怎样通过cin输入一串数字,并将输入的数字值赋给一个一维...
include<iostream.h> define N 1000 int input(int a[N]){ int i=0,k=1;for(i=0;k!=0&&i<N;i++){ cout<<"请输入第"<<i+1<<"个数"<<'\\n';cin>>a[i];cout<<"请确定是否要继续,输入0退出,输入其它数继续"<<'\\n';cin>>k;} return i;} void output(int a[N],int...

殷都区19569698177: C++插入法排序和选择法排序比较 使用函数 -
纵瑶依达: #include using namespace std; void fun1(int[],int); // 选择排序法 void fun2(int[],int); // 插入排序法 void print(int[],int); // 输出数组 int main() { int a[10]={34,56,4,10,77,51,93,30,5,52}; coutprint(a,10); fun2(a,10); // 调用函数进行排序 coutprint(a,...

殷都区19569698177: 选择法 对一个一维数组从大到小排序(10个数字) C语言
纵瑶依达: #include "stdio.h" void sort(int *a,int n) { int t; int i,j,p; for(i=0;i<n;i++) { for(p=i,j=i+1;j<n;j++) if(a[p]>a[j])p=j; t=a[i],a[i]=a[p],a[p]=t; } } main() { int i; int a[10]={3,4,5,1,2,8,9,7,6,10}; sort(a,10); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); }改一...

殷都区19569698177: 怎么用C++(数据结构)编写选择排序的程序设计与实现?
纵瑶依达: 下面是选择排序算法的函数代码: void selectionSort(int a[],int n) { int i,j,t,minIndex; for(i=0;i<n-1;i++) { minIndex=1; for(j=i+1;j<n;j++) if(a[j]<a[minIndex]) minIndex=j; if(minIndex!=i) { t=a[minIndex]; a[minIndex]=a[i]; a[i]=t; } } } 下面给一上具体完整实...

殷都区19569698177: c++从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换, -
纵瑶依达: #include<iostream.h> using namespace std; void main(){char a[10]; int i,temp;for(i=0;i<10;i++) { cin>>a[i]; cout<<a[i]<<endl; }for(i=0;i<5;i++){ temp=a[i]; a[i]=arr[9-i]; a[9-i]=temp;} cout<<"交换后数组元素的值:"<<endl;for(i=0;i<10;i++)cout<<a[i]<<'\t';cout<<endl; }

殷都区19569698177: c++中我要用一个for循环语句输入一维数组for(int i=0;i<n;i++)cin>>& -
纵瑶依达: #include using namespace std; int main() { int n=10; int a[n]; for(int i=0;i { cin>>a[i]; } }

殷都区19569698177: C++程序设计实验四(1)的习题 -
纵瑶依达: 第一题:#include #include void main() { int a[10],i,s = 0,m = 0,n = 0,j =0,k = 0,p = 0; cout for( i = 0;i {cin>>a[i]; s = s+a[i]; if(a[i]>100||a[i] { cout exit(0); } if (a[i]>=90&&a[i m++; else if(a[i]>=80) n++; else if (a[i]>=70) j++; else if (a[i]>=60) k++; else p++; } ...

殷都区19569698177: 如何用c++从一组数组里面随机选择一个数出来和已有的数比较. -
纵瑶依达: 静态数组长度确定不能彻底删除,我是通过下标的移动覆盖实现删除,代码如下: #include <iostream.h> #include <stdlib.h> #include <time.h> void main() { int x,y,t,a[10]; int b[5]={1,2,3,4,5}; //已有数组随便选取 int n=0; //当做标志数使用 srand(...

殷都区19569698177: c++如何把数输入到一维数组中,并求均方差 -
纵瑶依达: #include #define N 100 int main() { float a[N],sum=0.0,aversum=0.0,end,average; int i,num; printf("请输出你需要输入的个数:"); scanf("%d",&num); for(i=0;i { scanf("%f",&a[i]); sum += a[i]; } printf("sum==%f",sum); average = sum/...

殷都区19569698177: c++中利用一个一维数组解决以下问题 -
纵瑶依达: 不怎么会用数组,如果让用STL解决这个问题就好了.Anyway, 潦草写了个程序,希望对你有帮助:#include #include int iget(const size_t&); template bool noFnd(T, T, int); int main() { int arr[10]; int input; bool isfirst = true; size_t cnt=0; std::cout ...

殷都区19569698177: 求救!如何用c++罗列一个一维数组 把所有的偶数元素输出 -
纵瑶依达: 先提示输入一个最大值,然后分配空间.循环用来检测不同数值,输入0退出.main(){ int max,i,*arr; while(1){ printf("\nEnter the max numer:"); scanf("%d",&max); getchar(); if(max==0) break; for(i=2;i<=max;i++){ if(i%2==0) printf("%d ",i); if(i%20==0) printf("\n");/*控制每行输出20个数*/ if(i%400==0) getchar();;/*满一屏幕就停止,等按键,以方便观察输出结果*/ } } getchar(); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网