c语言程序题 输入一个整数,求它的位数及各位数字之和。例如,123的位数是3,各位数字之和是6.

c语言程序题
输入一个整数,求它的位数及各位数字之和。例如,123的位数是3,各位数字之和是6.

#include<iostream>
using namespace std;
int main(){
cout<<"请输入一个整数"<<endl;
int num;
cin>>num;
cout<<"你输入的数字是:"<<num<<endl;
void sumandnum(int num);
sumandnum(num);
return 0;
}
void sumandnum(int num){
if(num==0) cout<<"位数是1,各位数字之和为0"<<endl;
if(num<0) num=-num;
static int count=0;
static int sum=0;
while(num){
sum+=num%10;
num/=10;
++count;
}
cout<<"位数是"<<count<<endl<<"各位数字之和是"<<sum<<endl;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-19
如果不用log函数,并假设输入的数indata是非负整数,则可以如下:
int n, s;

n = 0;
s = 0;
while ( indata ) {
n++;
s += indata % 10;
indata /= 10;
}

位数在n中,和在s中。本回答被提问者和网友采纳
第2个回答  2013-04-10
思路给你
用这个数字来除以10
do{b++;a=a/10;}while(a>=10)
这样算位数
各位数字之和
就这样
do{
sum+=a%10;
a=a/10;}while(a>=10)
第3个回答  2013-04-10
#include "stdio.h"
void main()
{
int a,b=0,c=0;
scanf("%d",&a);
if (a<0)
a=-a;
for (;a>0;)
{
b++;
c+=a%10;
a/=10;
}
printf("count =%d,",b);
printf("sum =%d",c);
}
第4个回答  2010-11-12
本报讯 单个小企业难以获得评级,不能上市场发债,但多个中小企业统一组织起来,将可以发行中小企业集合债券。在昨日召开的南京建邺区优秀民营企业融资服务会上,业内人士透露,未来中小企业集合债券的形式,将为中小企业融资提供新方式。
此次服务会系南京建邺区工商联和江苏最大民营担保公司之一、江苏鑫信投资担保集团有限公司共同推出。会上双方共同打造的融资服务平台也正式成立。江苏鑫信董事长付树兵介绍,融资服务平台将聘请街道统战员为融资信息员,采用人跟人、面对面的方式掌握中小企业经营发展的最新消息,降低企业融资中的信息不对称,和银行形成服务错位。

付树兵介绍,除了房产、汽车等传统抵押方式,商标权、股权、知识产权应收账款都可以作为反担保措施。此外将来还可能推出信用贷、中小企业集合债券等创新金融服务产品。南京鑫信资产管理有限公司副总经理陈经理介绍,中小企业集合债券目前国内已有第一单,由大连市今年4月在深交所发行。此外,成都、武汉等城市也在积极运作。这种形式通常是8-10家、最多不超过20家中小企业,根据共同特征、统一组织集合发行。除了开辟融资渠道,由于债券可上市交易,江苏担保,也有助提升企业知名度。据了解,南京也在酝酿发行,鑫信集团,明年有望实现突破。
相似回答