have_a_good_day_ 2022-11-14 22:52 采纳率: 33.3%
浏览 33

信息学奥赛C++语言:删除试题

问题遇到的现象和发生背景

【题目描述】
题库中有n道编程试题,根据题号给定n道试题的难易程度(均为1-10之间的正整数),删除难度为x的试题。

【输入】
第一行包含两个正整数n和x,之间用一个空格隔开。
第二行包含n个正整数,之间用一个空格隔开,表示每道试题的难度。

【输出】
一行包含若干正整数,之间用一个空格隔开,表示删除难度为x的试题后题库中的试题情况。

【输入样例】
6 1
1 10 3 1 7 2

【输出样例】
10 3 7 2

#include<stdio.h>
int main(void)
{
    int n,x;
    scanf("%d %d",&n,&x);
    int a[100001];
    for(int i=0;i<n;i++)
    scanf("%d",&a[i]);
    for(int i=0;i<n;i++)
    if(a[i]==x)a[i]='/0';
    for(int i=0;i<n;i++)
    printf("%-2d",a[i]);
    
    return 0;
}

为什么这样子不能解决这个问题

  • 写回答

1条回答 默认 最新

  • 逸璞丷昊 2022-11-15 00:17
    关注

    1、第7行实在没看懂,你想标记删除,根据题目,这里应该将当前位置设置为负数
    2、打印的时候,如果是被标记(即负数)则调过继续执行
    3、题目没有要求的情况下,不要使用格式占位输出,按照实际数值+空格即可,有些题目会严格检验输出合适

    评论

报告相同问题?

问题事件

  • 创建了问题 11月14日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏