飒恨亦舒 2022-07-27 21:02 采纳率: 71.4%
浏览 13
已结题

为什么我输入的n是5,但是输入三组数据时,就直接输出了

#include<stdio.h>
#define int long long
signed main(){
char w[5005];
int n,k[5005];
int max=0;
scanf("%lld",&n);
for(int i=0;i<n;i++){
scanf("%c %lld",&w[i],&k[i]);
}
for(int i=0;i<n;i++){
if(k[i]>=max)max=k[i];
}
for(int i=0;i<n;i++){
if((int)w[i]==97&&k[i]==max)printf("Yes");
}}

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-07-27 21:04
    关注

    循环输入时,如果第一个是%c,那么输入第二组数据前,要先接收掉上一组数据中的换行符,否则第二行的%c自动会接收换行符的
    for(int i=0;i<n;i++)
    scanf("%c %lld",&w[i],&k[i]);
    getchar();
    }

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

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月27日