我编写了以下代码,但它卡住了:
#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 调试器)检查和调试程序总是更好。它有助于避免此类微不足道的错误,这是给初学者的建议!
最佳答案
使用这一行,具体到 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;
}
关于C 程序求 4 位数字的第一位和最后一位数字之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130633/