笟° 2020-11-14 19:58 采纳率: 0%
浏览 649

输入10个整数,将它们从小到大排序后输出,并给出现每个元素在原来序列中的位置。

#include <stdio.h>
int main()
{
int i,j,m,b,num,n[2][10];
num=0;
for(i=0;i<10;i++)
{
scanf("%d",&n[0][i]);
num++;
n[1][i]=num;
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(n[0][i]>n[0][j])
{
m=n[0][i];
n[0][i]=n[0][j];
n[0][j]=m;
b=n[1][i];
n[1][i]=n[1][j];
n[1][j]=b;

}
}
for(i=0;i<9;i++)
printf("%d ",n[0][i]);
printf("%d\n",n[0][9]);
for(i=0;i<9;i++)
printf("%d ",n[1][i]);
printf("%d",n[1][9]);
return 0;
}

 

为什么不能用a[10].b[10.

  • 写回答

1条回答 默认 最新

  • 第七个橘子 2020-11-14 22:11
    关注

    #include <stdio.h>                   //C++
    using namespace std;             //这才舒服
    int main() {
        int i,j,m,b,num,n[2][10];
        num=0;
        for(i=0; i<10; i++) {
            scanf("%d",&n[0][i]);
            num++;
            n[1][i]=num;
        }
        for(i=0; i<9; i++) {
            for(j=i+1; j<10; j++) {
                if(n[0][i]>n[0][j]) {
                    m=n[0][i];
                    n[0][i]=n[0][j];
                    n[0][j]=m;
                    b=n[1][i];
                    n[1][i]=n[1][j];
                    n[1][j]=b;
                }
            }
        }
        for(i=0; i<9; i++)
            printf("%d ",n[0][i]);
        printf("%d\n",n[0][9]);
        for(i=0; i<9; i++)
            printf("%d ",n[1][i]);
        printf("%d",n[1][9]);
        return 0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题