OJ题:输入一个多位的数字,求各数位相加。
来源:互联网 发布:ichart.js下载 编辑:程序博客网 时间:2024/06/02 04:28
题目内容:输入一个多位的数字,1求各数位相加。例如输入12345,则计算1+2+3+4+5=15输入格式:一个整数输出格式:一个整数输入样例:1234567890输出样例:45时间限制:500ms内存限制:32000kb
#include <stdio.h>#include <stdlib.h>#include <string.h>int cnt_count(int value){ int count = 0 , cnt = 0 , n = 1 ; while(value) { value /= 10 ; count++ ; } //上面算法是为了求得计数值count有表示传进来的value有多少位 if(count == 1) { cnt = 0 ; } else { //相应的有多少为就按照规律去累乘 while(cnt < count - 1) { n *= 10 ; cnt++ ; } } return n ;//比如6位数,那么就返回100000,5位就返回10000,依次类推}int main(void){ int num , i , sum = 0 ; int value = 0 , ret = 1; int buffer[10] = {0};//定义空间为10的数组并清零 scanf("%d",&num);//输入一个数 value = num ;//将数赋值给变量value for(i = 0 ; i < 10 ; i++){//循环十次 ret = cnt_count(value) ;//先通过cnt_count确定输入的数是几位数 buffer[i] += value / ret ; //取到这个数的最高位并将其存到buffer里去 value = value % ret ;//接下来屏蔽最高一位,例如输入12345,最高位为1,屏蔽完就为2345 sum+=buffer[i];//累加数组内的元素 } printf("%d",sum);//输出累加结果 return 0 ;}
0 0
- OJ题:输入一个多位的数字,求各数位相加。
- 构造一个能接收多位数字的输入框
- 在html中写出一个数字的各个位的数字,并把他们相加
- 输入三个数字,求三个数字中最大的一个
- 输入一个数字求阶乘
- 输入一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
- 输入一个不多于5位的正整数,求它是几位数并且逆序打印出个位数字
- 求一个数的数位
- 求一个整数各个位上的数字之和
- 求输入的一个整数的各位数字之和
- 输入一个数,求这个数的各位数字之和
- 数据结构——输入一个整数,求各位数的相加和
- java从命令行输入一个数,输出其包含数值相邻相加的和等于输入的数字
- (hdu step 1.2.8)Specialized Four-Digit Numbers(求一个数字各个数位上数字的和)
- 【杭电-oj】-1013-Digital Roots(把一个数的每一位拆开相加直到和小于10)
- 位运算 - 判断一个数是否为2的n次方 | 求一个数位为1的个数
- 任意输入一个五位整数,求各个位上的数的和
- Java:求整数位数:任意输入一个整数(小于10位),求它的位数
- Android ListView长按弹出CheckBox,实现全选,反选,批量删除功能
- MySQL技术内幕InnoDB存储引擎学习笔记(第九章)
- 2017网易校招内推笔试题
- 后缀数组水题(待完善)
- Android View框架总结(一)
- OJ题:输入一个多位的数字,求各数位相加。
- JWT 学习笔记
- 2,从零开始搭建SSHM开发框架(集成Spring+JPA)
- java基础——bufferedinputstream FileInputStream inputstream的比较
- java mysql 高性能批量处理 设置rewriteBatchedStatements
- 递归介绍
- Mac中的快捷键
- VDMA之MM2S和S2MM接口调试验证
- 我的java.lang.NoClassDefFoundError问题及其解决