C程序查找4位数的第一位和最后一位的总和

时间:2017-07-16 16:03:45

标签: c

我编写了以下代码,但它被卡住了:

#include<stdio.h>
#include<conio.h>
int main()
{
    clrscr();
    unsigned int num;
    unsigned int rev=0;
    int rem,sum=0;
    printf("Enter a 4 digit number:\n");
    scanf("%d",&num);
    rem=num%10;
    sum=sum+rem;
    while(num!=0)
      { rem=num%10;
        rev=(rev*10)+rem;
        num/10;
      }
    rem=rev%10;
    sum=sum+rem;
    printf("Sum of first and last digits of number=%d",sum);
    getch();
    return 0;
}

编辑:我已经意识到使用调试工具(例如Turbo调试器)检查和调试编程总是更好。它有助于避免这些琐碎的错误,为初学者提供建议!

2 个答案:

答案 0 :(得分:2)

使用这一行,特定于4位数字:

printf("The sum of first and last digit of %d is: %d",n,n/1000+n%10);

代码中的问题是:

    while(num!=0)
      { rem=num%10;
        rev=(rev*10)+rem;
        num/10;///-------------------->this line do num/=10; instead
      }

以这种方式纠正:

    while(num!=0)
      { rem=num%10;
        rev=(rev*10)+rem;
        num/=10;
      }

答案 1 :(得分:1)

要获得最高有效数字除以1000,它将返回最高有效数字,以获得最低有效数字取模数10,例如

int rem = num%10;
int sum = num/1000+ rem;