qq_57017735 2021-06-03 21:18 采纳率: 100%
浏览 8
已采纳

程序结果最后一个数不应该是最大值676吗?进行了9次比较呐!

还有为什么会出现两次出现21呢和-8呢?新手一枚,希望大佬指教

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-06-04 01:49
    关注

    你这排序算法写的不对,冒泡排序需要两个循环嵌套,另外,C里面数组的下标是从0开始的,但是为了跟你代码一致,我写的代码也是从1开始的。代码如下:(如有帮助,请采纳一下,谢谢。)

    #include <iostream>
    using namespace std;
    int main()
    {
    	int a[11];
    	int i,j,t;
    	cout << "请输入10个数值";
    	for (i = 1; i < 11; i++) 
    		cin >> a[i];
    	//排序
    	for (i = 1; i < 11; i++)
    	{
    		for (j = 1;j < 11 -i;j++)
    		{
    			if (a[j] > a[j+1])
    			{
    				t = a[j];
    				a[j] = a[j+1];
    				a[j+1] = t;
    			}
    		}
    	}
    	for(i = 1; i < 11;i++)
    		cout << a[i] << endl;
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 qgcomp混合物线性模型分析的代码出现错误:Model aliasing occurred
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答