机试指南

来源:互联网 发布:网络赌托该不该举报 编辑:程序博客网 时间:2024/06/11 13:56
/**    代码 2.1    需求:对输入的n个数进行排序并输出;输入的第一行包括一个整数n(1<=n<=100),接下来的一行包括n个整数.    输出格式要求:每个数后面都有一个空格,每组测试数据的结果占一行    思路:1.使用冒泡排序          2.申请一个buf[100]存放数组          3.为了能够进行多组数据的输入,使用while(scanf("%d",&n)!=EOF)          4.整体上包括  数组输入、冒泡排序、数组输出 三部分*/#include<stdio.h>int main(){    int n;  //n个整数    int buf[100];  //申请一个可以包含100个整数的数组用于排序    while(scanf("%d",&n)!=EOF)    {        {          for(int i=0;i<n;i++)              scanf("%d",&buf[i]);        }//输入待排序主体      //冒泡排序主体      for(int i=0;i<n;i++)      {          for(int j=0;j<n-1-i;j++)          {              int temp=buf[j];              buf[j]=buf[j+1];              buf[j+1]=temp;          }      }      //对排序完的数重新输出      for(int i=0;i<n;i++)      {          printf("%d ",buf[i]);      }      printf("\n");    }    return 0;}
/**    代码2.2    思路;1.使用sort(first,first+n)函数使用自己定义的排序规则,默认升序          2.将要使用#include<algorithm> using namespace std;*/#include<stdio.h>#include<algorithm>using namespace std;int main(){    int n;    int buf[100];   //申请数组进行存放    while(scanf("%d",&n)!=EOF)    {        {          for(int i;i<n;i++)            scanf("%d",&buf[i]);        }//数组输入      sort(buf,buf+n);//升序      for(int i=0;i<n;i++)      {          printf("%d ",buf[i]);      }       printf("\n");    }    return 0;}
/**    代码2.3    需求:降序排序    思路:1.使用sort(first,first+n,cmp);           2.bool cmp(int x,int y){return x>y};*/#include<stdio.h>#include<algorithm>using namespace std;bool cmp(int x,int y){    return x>y;}int main(){    int n;    int buf[100];  //声明数组    while(scanf("%d",&n)!=EOF)    {      {        for(int i=0;i<n;i++)            scanf("%d",&buf[i]);      }//输入数组      sort(buf,buf+n,cmp);      for(int i=0;i<n;i++)      {          printf("%d ",buf[i]);      }          printf("\n");    }    return 0;}
0 0
原创粉丝点击