实验7:3.选择法排序:输入一个正整数n(1<n≤10),再输入n个整数,将他们从大到小排序后输出。试编写相应程序。

#include<stdio.h>
int max(int a[],int len); 
int main()
{
    //数据存入
	int i,n;
	scanf("%d",&n);
	int a[n]; 
    for(i=0;i<n;i++){
    	scanf("%d",&a[i]); 
	}
	
    int len=sizeof(a)/sizeof(a[0]) ;
	//选择排序 
	for(i=len-1;i>0;i--){
	int maxid=max(a,i+1);
	int t=a[maxid];
	a[maxid]=a[i];
	a[i]=t;
    }
    
    for(i=len-1;i>=0;i--){
    	printf("%d ",a[i]);
	}
	
	return 0;
}
int max(int a[],int len)//找出数组中最大数 
{
	int i,maxid=0;
	for(i=1;i<len;i++){
		if(a[i]>a[maxid]){
			maxid=i;
		}
	}
	return maxid;
}
  • 16
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
3、根据下面的要求一步步写出正确的 C++语句. 注意:各个步骤之间是有先后顺序的 (1)定义全局变量a,初值为15,定义局部变量a,初值为8,定义2个整整型变量b,c; 要求用cin输入变量值b,c,并用cout分别输出全局变量a,及局部变量a,b,c;(主要掌握cin、cout的用法,及全局变量输出用法) (2)在上基础上再定义个整型变量value1,value2,分别赋初值20、30; (3)定义一个指向整型变量的指针pValue,将该指针初始化为指向value1; (4)输出value1及pvalue的地址; (5)输出指针变量pvalue的值; (6)将指针pValue设置为不指向任何地址的空间,并输出其地址 (7)用new的方法申请一个存储整数值为3的空间,并赋给pvalue,输出指针变量pvalue的地址与值。 (8)释放pvalue的地址。 (9)申请三个连续的整数空间,并将申请到空间的首地址赋值给pvalue, 用cout输出所申请到的首地址值与值; (10)分别指向第2、3个元素的地址并输出其地址。 (11)释放所申请到的三个整数空间; 4、用const定义一个常数PI,求圆的面积并输出; 5、求2个或3个正整数中的最大数,用带有默认参数的函数实现; 6、输入整数,将它们由大到小的顺序输出,要求用变量的引用。 7、对3个变量按由小到大顺序排序,要求使用变量的引用。 8、用string方法完成: (1)输入一字符串,把其只的字符按逆序输出。如light输出成thgil。 (2)将字符串连接起来,取代第1个字符串; (3)有5个字符串,要求对它们从小大排列。 9、(1)编一程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度型、双精度型、字符串型。要求用重载函数实现 (2)对(1)改用函数模板实现,并进行对比分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值