问一道C++题目

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:11:06
设计一个程序,求出一个任意整数(1到4位),求出各位数字之和,并统计位数。

int you_fun(int i,int& sum,int& nWeishu){
//sum是各位数字之和,nWeishu是统计位数,返回i的逆序数字,如1213返回3121,sum,nWeishu是引用,会用吧,就是把实参传入函数后,它的值改变了
sum = 0 ;
nWeishu=0;
int u_i=0;
while(i){
sum += i%10;
u_i += i%10;
n_i *= 10;
i/=10;
nWeishu++;
}
return u_i;
}

这个利用指针就可以做~自己好好构思一下就好了~

#include<iostream>
using namespace std;
int main()
{
int i=0,n,result=0,a[4];
cout<<"输入一个1到4位的整数:"<<endl;
cin>>n;
while(n!=0)
{
a[i] = n % 10;
n=n/10;
result += a[i];
i++;
}
cout<<"共有:"<<i<<"位,名位的和是:"<<result<<endl;
return 0;
}