星河的长野 2021-11-19 07:54 采纳率: 100%
浏览 51
已结题

一道c语言循环与数组运用题,能请教一下哪里错了吗

题目

img

img


我的代码
#include <stdio.h>
int main()
{int n,m,i,j,k,l,t=0;
int a[m],b[m];
scanf("%d",&n);
for(m=0;m<n;m++,t++)
{
scanf("%d",&a[m]);
b[m]=t+1;}
for(i=1;i<n-1;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j]<a[j+1])
{k=a[j];
a[j]=a[j+1];
a[j+1]=k;
l=b[j];
b[j]=b[j+1];
b[j+1]=l;}
}
}
for(i=0;i<n;i++)
printf("%d:%d,%d\n",i+1,b[i],a[i]);

}
我的输出结果

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-11-19 09:20
    关注

    修改如下,供参考:

    #include <stdio.h>
    #define M 100      //修改
    int main()
    {
        int n, m, i, j, k, t;      //修改
        int a[M] = { 0 }, b[M] = { 0 };  //修改
        scanf("%d", &n);
        for (m = 0; m < n; m++)     //修改
        {
            scanf("%d", &a[m]);
            b[m] = m + 1;          //修改
        }
        for (i = 0; i < n - 1; i++)  //修改
        {
            for (j = 0; j < n - i - 1; 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 = 0; i < n; i++)
            printf("%d:%d,%d\n", i == 0 ? k = 1 : a[i] == a[i - 1] ? k : ++k, b[i], a[i]);   //修改
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月19日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值