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

问题描述 投票:-3回答:2

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

#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调试器)检查和调试程序总是更好。它有助于避免这些琐碎的错误,为初学者提供建议!

c
2个回答
1
投票

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

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

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;
      }
© www.soinside.com 2019 - 2024. All rights reserved.