0小脑斧0 2021-10-26 22:56 采纳率: 100%
浏览 97
已结题

定义一个大小为100的整型数组a,用随机值初始化该数组(随机数种子为111,数值范围1~199)。对数组a用冒泡法从小到大排序,观察第10趟起泡时,数组a的第30到第39这10个元素分别是多少。

{
int a[100] = { 0 }, i, j, t, m = 0;
srand(int(111));

for (i = 0; i < 100; i++)
{
    a[i] = (199 * rand() / (RAND_MAX + 1))+1;
}

for (i = 0; i < 100; i++)
{
    for (j = i + 1; j < 100; j++)
    {
        if (a[i] > a[j])
        {
            t = a[i];
            a[i] = a[j];
            a[j] = t;
            m++;
            printf("第%d次冒泡:\n", m);
            for (i = 0; i < 100; i++)
            {
                printf("a[%d]=%d\n", i, a[i]);
            }
        }
        else
            continue;
    }
}

for (i = 0; i < 100; i++)
{
    printf("a[%d]=%d\n", i, a[i]);
}

}
请问这个代码有什么问题吗?

  • 写回答

1条回答 默认 最新

  • 关注

    srand(int(111));
    改成
    srand(111);

    你题目的解答代码如下:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int a[100] = {0}, i, j, k, t, m = 0;
        srand(111);
        for (i = 0; i < 100; i++)
        {
             a[i] = (199 * rand() / (RAND_MAX + 1))+1;
        }
        for (i = 0; i < 100-1; i++)
        {
            for (j = i + 1; j < 100; j++)
            {
                if (a[i] > a[j])
                {
                    t = a[i];
                    a[i] = a[j];
                    a[j] = t;
                    m++;
                    if (m==10)
                    {
                        printf("第%d次冒泡:\n", m);
                        for (k = 30; k <= 39; k++)  //这里是第三重循环 循环变量不能用i,会与第一重循环的循环变量起冲突
                        {
                            printf("a[%d]=%d\n", k, a[k]);
                        }
                    }
                }
            }
        }
        for (i = 0; i < 100; i++)
        {
            printf("%d ", a[i]);
        }
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?