qq_45859712 2021-06-17 15:34 采纳率: 0%
浏览 86

为什么输出数组b答案才正确

题目描述

班上选K名先进个人,由同学们投票选出,现已按序号汇总N名同学(序号依次为1,2,…,N)所得到的投票数(已知每位同学的票数不同),按照得票数从高到低输出前K名同学对应的序号。

输入

第一行输入N和K,第二行依次输入这N名同学对应的票数。

输出

前K名同学的序号。
 

样例输入

10  3
18 19 20 5 15 12 13 16 21 23

样例输出

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

为什么加上for (int i=0;i<n;i++)
    {
        printf("%d ",b[i]);
    }printf("\n"); 答案才正确,去掉之后就不对呢?

去掉之后运行结果如下:

怎样可以不输出数组b中的元素,并且答案正确呢?

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-06-17 15:41
    关注

    你的逻辑应该哪里不对,跟输出没啥关系。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:如何通过pywinauto获取到图中“窗格”内部的内容
  • ¥15 visionMaster4.3.0 与QT 的二次开发异常
  • ¥50 关于#pcb工艺#的问题:这个设计电路中,最终组合起来起到了什么作用
  • ¥15 鼎捷t100或鼎捷E10生产模块与odoo17详细区别和鼎捷t100或鼎捷E10物料清单(BOM)可以在子级的子级在同一界面操作吗
  • ¥50 VS2019,xamarin框架串口调试报错Java.Lang.SecurityException: Exception of type
  • ¥20 QT如何判断QLineF线鼠标划过事件
  • ¥15 关于#phpstorm#的问题:phpstorm编辑工具 光标选中了就会自动复制到粘贴板上 这样我之前复制的内容就失效了
  • ¥15 pychram安装jupyter插件
  • ¥60 悬赏破解越狱iphone4s中360保险箱密码遗忘
  • ¥20 ARKts悬浮窗和快捷方式问题