我編程哪里錯(cuò)了(c語(yǔ)言)?一位數(shù)和兩位數(shù)可以,一旦輸入三位數(shù)以上就無法輸出

科技 未結(jié) 5 1699
莫忘初_995
莫忘初_995 2021-11-25 10:07
我編程哪里錯(cuò)了(c語(yǔ)言)?一位數(shù)和兩位數(shù)可以,一旦輸入三位數(shù)以上就無法輸出
5條回答
  •  Mr.SmartGuy
    Mr.SmartGuy (樓主)
    2021-11-25 11:09

    你的程序算法沒錯(cuò),只是計(jì)算輸入值的位數(shù)時(shí)有兩處問題。

    改正的程序如下(改動(dòng)的地方見注釋)

    #include <stdio.h>

    #include <stdlib.h>

    int main(){

    int a,b,c,d,i=1,u,s=0,k=1,j,p;

    scanf("%d%d",&a,&b);

    u=a;//這里加一句,為u賦值a

    while(u>=10){

    u=u/10;//這里把u=a/10改成u=u/10

    i=i+1;

    }

    for(p=1;p<=i;p++){

    c=a%10;

    d=b%10;

    a=(a-c)/10;

    b=(b-d)/10;

    j=(c+d)%10;

    s=s+k*j;

    k=k*10;

    }

    printf("%d",s);

    return 0;

    }

提交回復(fù)