蓝桥杯——基础训练04--数列特征

数列特征:

问题描述
  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
  第一行为一个整数n。
  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
  输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9

主要是数组、排序问题。

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */


int main(int argc, char *argv[]) {
	int i, n, min, max, total=0;
	int arr[10000];
	
	scanf("%d",&n);
	for(i=0; i<n; i++){
		scanf("%d",&arr[i]);
		if(arr[i]>=-10000 && arr[i]<=10000){
			continue;
		}
		else
			scanf("%d",&arr[i]);		
	}
	
	min=arr[0];
	max=arr[0];
	
	for(i=0; i<n; i++){
		 
		if(arr[i] <= min){
			min=arr[i];
		}
		if(arr[i] >= max){
			max=arr[i];
		}
		total += arr[i];
	}

	printf("%d\n%d\n%d\n", max, min, total);
	
	return 0;
}

或者,稍微改动一下,看看下面:

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */


int main(int argc, char *argv[]) {
	int i, n, min, max, total=0;
	int arr[10000];
	
	scanf("%d",&n);
	for(i=0; i<n; i++){
		scanf("%d",&arr[i]);
		if(arr[i]>=-10000 && arr[i]<=10000){
			continue;
		}
		else
			scanf("%d",&arr[i]);		
	}
	
	min=arr[0];
	max=arr[0];
	
	for(i=0; i<n; i++){
		max = max>arr[i] ? max:arr[i];			//这样也可以
		min = min<arr[i] ? min:arr[i];

		total += arr[i];
	}

	printf("%d\n%d\n%d\n", max, min, total);
	
	return 0;
}

还有更好的,正在学习中~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值