我编写了以下代码,但它被卡住了:
#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调试器)检查和调试编程总是更好。它有助于避免这些琐碎的错误,为初学者提供建议!
答案 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;