C语言 标题:找大小、插入排序

(1)、找大小

描述:

首先输入整数N(0<=N<=1000),紧接着在下一行连续输入N个数。

随后输出这一组数的最小数最大数。

提示:

输入的这N数,可以有小数也可以有负数。

输出之间用换行隔开。

输入输出示例:

要解决这道题,可以利用数组思想。

首先输入整数N(0<=N<=1000):   

                        输入                                                                输出

        示例1        5                                                                       54

                         1 5 3 22 54                                                        1
 

#include<stdio.h>
 
int main(void){
 int n;
 scanf("%d",&n);//采用数组的方法,设置n个数
 if(n==1){
  printf("0\n0");//至少要两个数 
 }else if(n>=2){
 double a[n];//定义一个数组 
 int i;
 for(i=0;i<n;i++){//i=0,则从零开始i++,都为非零数。 
  scanf("%lf",&a[i]); //定义输出的每个数值都为实数,然后把输入的值赋值于数组中。 
 }
 double max=a[0];//将数组中最大值设为输入数组第一个数
 double min=a[0];//将数组中最小值设为输入数组第一个数
 for(i=0;i<n;i++){//将每次输入的数都与第一个数进行比较,
  if(a[i]>max){//若输入的数大于第一个数,将其赋值于max
   max=a[i];/
  }
  if(a[i]<min){//找出数组中最小的数 //若输入的数小于第一个数,将其附值于min
   min=a[i];
  }
 }
 
 printf("%g\n%g",min,max);//输出最大值和最小值 
}else{
 printf(" ");//若输入0则不输出
}
 return 0;
}

  (2)、插入排序

描述:

给出若干个数,将数字存储在数组中,然后使用插入排序,按照升序排列输出数字。

输入一个整数n表示有n个数,接着输入这n个数。

按照升序输出这n个数。

        输入输出示例

样例一                输入                                                输出

                              5                                                     2 3 4 4 5

                              3 2 4 5 4     


 

#include<stdio.h>
int main() {
 int k, x, N,i;
 scanf("%d", &N);
 int a[100];//定义一个有序数组  
 for ( i = 0; i < N; i++) {
  scanf("%d", &a[i]);//输入n个数赋值到数组中 
 }
 int temp, j;
 for ( i = 1; i < N; i++)
 {
  j = i - 1;//从第一个数开始进行比较
  temp = a[i];//将a[i]的值赋值到temp中。 
  while (a[j] > temp&&j >= 0)//进行判断a[i]是否比前面的数组大 
  {
   a[j + 1] = a[j];//将a[i]向前移动到比它大的值前,小于它的值后 
   j--;//从它当前位置往前进行比较
  }
  a[++j] = temp;//将每次循环的a[i]都赋值于temp中 
 }
 for ( i = 0; i < N; i++)
 {
     printf("%d", a[i]);//输出这些数组 
     if(i<N-1)
     printf(" ");//在每次输出的数组间留空格 
     
 }
 printf("\n");
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值