IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> SDUT ACM OJ 实验五 一维数组 -> 正文阅读

[C++知识库]SDUT ACM OJ 实验五 一维数组

A - C语言实验——最值

#include<stdio.h>
#define N 10
int main()
{
    int i,a[N],n,t1,t2,x,y,max=-1,min=1000000;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
     scanf("%d",&a[i]);
     if(a[i]>max) {max=a[i];x=i;}
     else if(a[i]<min)   {min=a[i];y=i;}
    } 
    t1=a[1];a[1]=min;a[y]=t1;
    t2=a[n];a[n]=max;a[x]=t2;
    for(i=1;i<=n;i++)
    {
      if(i==1)
      printf("%d",a[i]);
      else
      printf(" %d",a[i]);
    }
}

B - C语言实验——整数位

#include <stdio.h>
int main()
{
   int n,i,j=1;
   int a[6];
   scanf("%d",&n);
   while(n>0)
   {
       a[j]=n%10;
       n=n/10;
       j++;
   }
   printf("%d\n",j-1);
   for(i=j-1;i>0;i--)
   {
        if(i==j-1)
        printf("%d",a[i]);
        else
        printf(" %d",a[i]);
        if(i==1)
        printf("\n");
   }
   for(i=1;i<j;i++)
   {
       if(i==1)
       printf("%d",a[i]);
       else
       printf(" %d",a[i]);
   }
}

C - 小鑫数数儿

#include <stdio.h>
int main()
{
    int a[15];
    int ave,n,i,s,d,b,c;
    while(scanf("%d",&n)!=EOF)
    {
        s=0;
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            s+=a[i];
        }
     ave=s/n;
     d=0,b=0,c=0;
     for(i=1;i<=n;i++)
     {
        if(a[i]<ave)      d++;
        else if(a[i]==ave) b++;
        else if(a[i]>ave) c++;
     }
    printf("%d %d %d\n",d,b,c);
    }
}

D - 区间之和

#include <stdio.h>
int main()
{
    int n,a[100000],i,j=0,l,r;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    scanf("%d %d",&l,&r);
    for(i=l;i<=r;i++)
    {
        j+=a[i];
    }
    printf("%d",j);
}

E - C语言实验——分割整数

#include <stdio.h>
int main()
{
    int i=0,a[10],b,j;
    scanf("%d",&b);
    while(b>0)
    {
        a[i]=b%10;
        b/=10;
        i++;
    }
    for(j=i-1;j>=0;j--)
    {
    if(j==i-1) printf("%d",a[j]);
    else     printf(" %d",a[j]);
    }
}

F - 众数

#include<stdio.h>
int main()
{
   int n,a[10001],i,j,h,x,y;
   while(~scanf("%d",&n))
   { y=0;
     for(i=0;i<n;i++)
      {
        scanf("%d",&a[i]);
      }
     for(i=0;i<n;i++)
       {
         h=0;
         for(j=i+1;j<=n;j++)
          {
            if(a[i]==a[j])
              h++;
          }
        if(h>y)
         {y=h;x=a[i];}
       }
    printf("%d\n",x);
   }
}

G - 小鑫爱运动

#include<stdio.h>
int main()
{
    int n,a[11],i,j;
    while(~scanf("%d",&n))
    {
       j=1;
       for(i=1;i<=n;i++)
        {
          scanf("%d",&a[i]);
        }
        for(i=2;i<=n;i++)
        {
          if(a[i]<a[1])
           j++;
        }
        printf("%d\n",j);
    }
}

H - C语言实验——数日子

#include <stdio.h>
int main()
{
    int a[13],n,y,r,i,j,x,c=0,e=0;
    scanf("%d",&x);
    a[1]=31;a[2]=0;a[3]=31;a[4]=30;a[5]=31;a[6]=30;
    a[7]=31;a[8]=31;a[9]=30;a[10]=31;a[11]=31;a[12]=31;
    for(i=1;i<=x;i++)
    {
        scanf("%d %d %d",&n,&y,&r);
        if(n%4==0&&n%100!=0||n%400==0) e=29;
        else e=28;
        for(j=1;j<y;j++)
        {
            if(y==1) {goto A;}
            else if(y==2) {c+=a[j];goto A;}
            else if(y!=1&&y!=2) {c+=a[j];}
            if(y>2&&j==y-1) c+=e;
        }
    A:printf("%d\n",c+r);
    c=0;
    }
}

I - 喵帕斯之平地摔

#include <stdio.h>
int main()
{
    int n,i,j=0,a[101];
    while(~scanf("%d",&n))
    {
    j=0;
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=2;i<n;i++)
    {
        if((a[i]>a[i-1])&&(a[i]>a[i+1])) j++;
    }
    printf("%d\n",j);
    }
}

J - 排序

#include <stdio.h>
int main()
{
    int n,i,j,a[101],t;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=n;i>0;i--)   //鸡尾酒排序
    {
        for(j=1;j<i;j++)
        {
            if(a[j]>a[j+1])
            {t=a[j];a[j]=a[j+1];a[j+1]=t;}
        }
    }
    for(i=1;i<=n;i++)
    {
        if(i==1)
        printf("%d",a[i]);
        else
        printf(" %d",a[i]);
    }
    return 0;
}

K - 排序问题

#include <stdio.h>
int main()
{
    int i,j,a[11],t,b[11];
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        b[i]=a[i];
    }
    for(i=9;i>=0;i--)
    {
        for(j=0;j<i;j++)
        {
            if(a[j]>a[j+1])
            {t=a[j];a[j]=a[j+1];a[j+1]=t;}
        }
    }
    for(i=0;i<9;i++)
    {
        printf("%d ",a[i]);
    }
    printf("%d\n",a[9]);
    for(i=0; i<10; i++)
    {
        for(j=0; j<10; j++)
        {
            if(a[i]==b[j])
            {
                if(i!=9)
                {
                    printf("%d ",j+1);
                }
                else
                {
                    printf("%d\n",j+1);
                }
                break;
            }
        }
    }
    return 0;
}

L - 数列有序!

#include <stdio.h>
int main()
{
    int a[102],n,m,i,j,t;
    while(~scanf("%d %d",&n,&m)&&m+n)
    {
        a[0]=m;
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(i=n;i>0;i--)
            {
             for(j=0;j<i;j++)
               {
                if(a[j]>a[j+1])
                {t=a[j];a[j]=a[j+1];a[j+1]=t;}
               }
            }
        for(i=0;i<=n;i++)
        {
        if(i==0)
        printf("%d",a[i]);
        else
        printf(" %d",a[i]);
        }
    }
}

M - 中位数

#include <stdio.h>
int main()
{
    int n,i,j,x,y,z;
    double a[102],t;
    while(~scanf("%d",&n))
    {
        t=0,x=0,y=0,z=0;
        for(i=1;i<=n;i++)
        {scanf("%lf",&a[i]);}
        for(i=n;i>0;i--)
        {
            for(j=1;j<i;j++)
            {
                if(a[j]>a[j+1])
                {t=a[j];a[j]=a[j+1];a[j+1]=t;}
            }
            t=0;
        }
        if(n%2==0){x=n/2,y=n/2+1,printf("%.1lf\n",(a[x]+a[y])/2);}
        else      {z=(n+1)/2,printf("%.1lf\n",a[z]);}
        
    }
}

N - C语言实验——各位数字之和排序

#include <stdio.h>
int main()
{
    int n,i,j,a[11],b[11],c,d,e,t;
    while(scanf("%d",&n)!=EOF&&n)
    {
        for(i=1;i<=n;i++)
        {
            d=0;
            scanf("%d",&b[i]);
            e=b[i];
            while(e>0)
            {
                c=e%10;
                e=e/10;
                d+=c;
            }
        a[i]=d;
        }
        for(i=n;i>0;i--)
        {
            for(j=1;j<i;j++)
            {
                if(a[j]>a[j+1])
                  {
                      t=a[j];a[j]=a[j+1];a[j+1]=t;
                      t=b[j];b[j]=b[j+1];b[j+1]=t;
                  }
            }
        }
        for(i=1;i<=n;i++)
        {
            if(i<n) printf("%d ",b[i]);
            else     printf("%d\n",b[i]);
        }
    }
}

O - 期末考试之排名次

#include <stdio.h>
int main()
{
    int c,m,e,n,a[102],i,j,t;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t=0;
        scanf("%d %d %d",&c,&m,&e);
        t=c+m+e;
        a[i]=t;
    }
    for(i=n;i>0;i--)
    {
        for(j=1;j<i;j++)
        {
            if(a[j]>a[j+1])
            {t=a[j];a[j]=a[j+1];a[j+1]=t;}
        }
    }
    for(i=n;i>=1;i--){printf("%d\n",a[i]);}
}

P - 次大和次小

#include <stdio.h>
int main()
{
    int n,m,i,h,j,t,a[1002];
    scanf("%d",&m);
    for(h=1;h<=m;h++)
    {
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(i=n;i>0;i--)
        {
            for(j=1;j<i;j++)
            {
                if(a[j]>a[j+1])
                {t=a[j],a[j]=a[j+1],a[j+1]=t;}
            }
        }
        printf("%d %d\n",a[n-1],a[2]);
    }
}

Q - 冒泡排序中数据交换的次数

#include <stdio.h>
int main()
{
    int n,m,h,i,j,a[102],x=0,t;
    scanf("%d",&m);
    for(h=1;h<=m;h++)
    {
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(i=n;i>0;i--)
        {
           for(j=1;j<i;j++)
           {
            if(a[j]>a[j+1])
            {t=a[j];a[j]=a[j+1];a[j+1]=t;x++;}
           }
        }
        printf("%d\n",x);
        x=0;
    }
}

R - 小金追呀追不上妹子

#include<stdio.h>
int main()
{
   int m,n,a[1002],t,x,i,j;
   while(~scanf("%d %d",&n,&m))
    {
       t=0,x=0;
       for(i=1;i<=n;i++)
        {
          scanf("%d",&a[i]);
        }
        for(i=n;i>0;i--)
        {
           for(j=1;j<i;j++)
           {
            if(a[j]>a[j+1])
            {t=a[j];a[j]=a[j+1];a[j+1]=t;}
           }
        }
        for(i=n;i>n-m;i--)
        {x+=a[i];}
     printf("%d\n",x);
    }
}

S - C语言实验——数组逆序

#include<stdio.h>
int main()
{
    int i,t,n,m,a[102],b[102];
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {scanf("%d",&b[i]);}
    scanf("%d",&m);
    t=n-m;
    for(i=1;i<=m;i++)
    {
        a[i]=b[t+i];
    }
    for(i=1;i<=t;i++)
    {
        a[m+i]=b[i];
    }
    for(i=1;i<=n;i++)
    {
        if(i<n)
        {printf("%d ",a[i]);}
        else
        {printf("%d\n",a[i]);}
    }
}

T - 矩阵输出

#include<stdio.h>
int main()
{
    int a[21],b[21],i,j,h,n;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
      scanf("%d",&b[i]);
      if(i<n) printf("%d ",b[i]);
      else   printf("%d\n",b[i]);
    }
    for(h=1;h<n;h++)
    {
      a[1]=b[n];
      for(i=2;i<=n;i++)
        {
          a[i]=b[i-1];
        }
      for(j=1;j<=n;j++)
        {
          b[j]=a[j];
        if(j<n) printf("%d ",a[j]);
        else   printf("%d\n",a[j]);
        }
    }
}

不懂得可以私信我,随时解答。
程序有错误请私信我,以及时改正。感谢!

最后再给大家介绍一种相对简单的排序方法:

int cmp(const void * a,const void *b)  //先定义函数
{
	return * (int * )a-* (int *)b;  //a-b是升序,反之降序
}


qsort(array,n,sizeof(int),cmp);   //排序  括号里先后顺序:数组名
 								  //数组长度  单位数组长度 定义函数名
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:27:24  更:2021-08-23 16:27:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 5:33:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计