c - 循环求和字符串 C 中的数字
问题描述
我有一个程序可以对字符串中的数字求和。但是我需要循环来进行求和,而它不是一个密码数。例如,我的输入是数字 12345。总和是 15 (1+2+3+4+5),这个数字 15 必须再求和一次,输出必须是 6。(5+1)。它应该适用于任何数字。感谢帮助。
int main() {
char string[100000];
int i;
int sum=0;
scanf("%s", string);
for(i = 0; string[i] != '\0'; i++){
sum += (string[i] - '0');
}
printf("%d\n", sum);
return 0;
}
解决方案
int n = atoi(string);
printf("Sum of digits is %d\n", (!(n%9) && n) ? 9 : n%9);
有关完整详细信息,请参阅给定正数的所有数字之和。
推荐阅读
- c# - 选中的复选框不会更改转发器页脚模板中的数据
- java - 列不能为 Null
- python - python的Kolmogorov测试
- azure - Azure Cosmos DB - 使用附加字段更新现有文档
- java - gwt 应用程序未使用 appcfg 部署到谷歌应用引擎
- palantir-foundry - 在对象资源管理器或 Slate 的 iframe 中嵌入轮廓板
- vba - 检查字符串是否仅包含表中的字符串
- c++ - C++ 实例变量默认初始化
- elasticsearch - 弹性搜索查询字符串搜索 api 问题
- amazon-s3 - 如何使用 SNS 将一个 lambda 函数的响应返回给另一个