c - C程序返回一个整数的位数之和
问题描述
#include <stdio.h>
int main()
{
int sum=0, prod=1, a, b;
printf("Enter a number: \n");
scanf("%d",&a);
while (a!=0)
sum = sum + a%10;
a = a/10;
while (b!=0)
prod = prod + b%10;
b = b/10;
printf("Sum=%d\nProd=%d\n", sum, prod);
return 0;
}
这个 C 程序返回给定整数的数字的总和和乘积,但我希望有人为我分解它,而且当我运行它时,它不起作用,所以请有人纠正我。
解决方案
%
是模运算,即它给你除数除法的提醒。在您的情况下,该操作% 10
有效地返回数字的最后一位。您将此数字与prod
表示数字总和的变量相加。对当前数字求和后,您将执行下一个主要操作/ 10
,即整数除法,并且只删除该数字的最后一位。
推荐阅读
- java - 将数组保存在文件中
- java - 连字符处理 Apache Velocity 2.1 - 这是一个错误吗?
- javascript - JavaScript 事件滚动不会触发
- python - Shopify 中的 Dash App 无法加载仪表板组件
- java - 如何查找可能丢失的主队名称?在java项目足球结果生成器中
- django - 为什么我收到 RecursionError?
- django - 如何在 celery 中为每个用户生成队列?
- python-2.7 - 以格式打印类属性
- scala - Scala 构建工具和 Neo4J Http API CORS 错误
- jquery - 如何保存分离的元素并返回?