日暮迟归 2022-10-20 18:08 采纳率: 75%
浏览 19
已结题

输出总是多一位数多出来的数为零

#include <stdio.h>

int main(){
int a,b=0,sum,n;
scanf("%d %d",&a,&n);
if(a=<0||n=<0)
printf("-1");
else
for(int i=0;i<n;i++)
{b=10*b+a;
sum=sum+b;}
printf("%d",sum);

return 0;

}
输入-1 0的时候输出的一直是-10
如果把print里面改为-1.0,输出就一直为-1.00

  • 写回答

3条回答 默认 最新

  • 梦里逆天 2022-10-20 18:35
    关注

    img

    你确定运行时不会报错?

    #include <stdio.h>
    
    int main()
    {
        int a,b=0,sum,n;
        scanf("%d %d",&a,&n);
        if(a<=0 || n <= 0)
            printf("-1");
        else
        {
            for(int i=0;i<n;i++)
            {
                b=10*b+a;
                sum=sum+b;
            }
            printf("%d",sum);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月22日
  • 已采纳回答 10月20日
  • 创建了问题 10月20日

悬赏问题

  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 为什么跑这个代码,文件显示不在呀
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?