首页 > 解决方案 > URI 1101 数字序列和总和

问题描述

#include <stdio.h>

int main() {

    int M,N,i=0,sum=0;

    while(M>0 || N>0){

        scanf("%d%d",&M,&N);

        if(M<=0 || N<=0){
            break;
        }

        else if(M==N){ printf("%d Sum=%d\n",N,M); }

        else if(M<N){
            for(i=M; i<=N; i++){
                printf("%d ",i);
                sum+=i;
            }
            printf("Sum=%d\n",sum);
            sum=0;
        }

        else if(M>N){
            for(i=N; i<=M; i++){
                printf("%d ",i);
                sum+=i;
            }
            printf("Sum=%d\n",sum);
            sum=0;
        }
    }

    return 0;
}

这段代码有什么问题?URI 法官说 100% 错误答案,但我尝试了所有测试用例,并且在这些情况下通过了

标签: c

解决方案


我不确定,但在 while 循环之前你应该得到scanf("%d%d",&M,&N);一次。

因为mandn没有定义。

像这样:

scanf("%d%d",&M,&N); 

while(M>0 || N>0){

    scanf("%d%d",&M,&N);

    if(M<=0 || N<=0){
        break;
    }

    ... 

推荐阅读