C 程序求 4 位数字的第一位和最后一位数字之和

标签 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 调试器)检查和调试程序总是更好。它有助于避免此类微不足道的错误,这是给初学者的建议!

最佳答案

使用这一行,具体到 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/

相关文章:

c - 如何从键盘读取复数?我的意思是我不能使用 scanf 或 get (在 C 中)

c - 在 fifo 中同时读取和写入(在后面)

c - 格式化输入数组 int

c++ - Windows 线程创建期间的内存管理

c - 替换纯 C 中的链接器部分

c - 从 C 中的字节数组中一次读取两个字节

Char *(指针)函数

c - 无法弄清楚整数解析函数

c - 这有可能使用某种位魔术来实现吗?

c++ - 静态控件滚动条不工作 Win32