getinfo();
完成接收数据。
add_digits();
完成对数据的处理。
display();
完成显示数据。因为我在学类、所以没办法!不过就算不构造类我也是不会呀!
完成接收数据。
add_digits();
完成对数据的处理。
display();
完成显示数据。因为我在学类、所以没办法!不过就算不构造类我也是不会呀!
解决方案 »
- 阴影算法alpha/1有必要吗???
- 请各位前辈进来看看 帮着出出好的主意
- 用CTime Deubg版与Release版为什么会时差8小时?
- int 如何转换为 unsigned char
- CSDN说我提的问题会给大家带来伤害,冤死..
- 数据库编程的顶级高手请进,解决问题高分送上
- 怎样在抓屏的时候可以抓下透明位图?
- FlexGrid Control 表头的设置怎么不显示中文呢?
- 我在读写文件(利用CFile)的时候出现些奇怪的问题
- 死循环?
- 我用mfc建立一个单文档程序,想将窗口设置为allways on top,在哪里加代码,如何实现?
- 如何实现在不同网段或在互连网上的点对点的通讯(包括拨号)
{
int nTest ;
int nTestResult ;
int nResult ; for(;;)
{
nResult = 0 ;
for ( nTest=10;nTest<num*10;nTest*=10 )
{
nTestResult = (num%nTest)/(nTest/10) ;
nResult += nTestResult ;
}
if ( nResult<10 ) break ;
printf("%d -> %d\n",num,nResult) ;
num /= 10 ;
}
}void main()
{
GetDigitsSum(9142345) ;
}
{
int nTest ;
int nResult ; for(;;)
{
nResult = 0 ;
for ( nTest=10;nTest<num;nTest*=10 )
nResult += num%nTest ; nResult += num/nTest; printf("%d -> %d\n",num,nResult) ; if ( nResult<10 )
break ; num = nResult ;
}
}void main()
{
GetDigitsSum(9142345) ;
}
void add()
{
int num;
cin>>num;
cout<<"\n";
int r,result=10;
for( ;result>9;num=result)
{
r=1; //初始化num的位数为1
result=0;
for(int i=10;num>i;i*=10)
r+=1;
cout<<r<<"\n"; //num的位数
for(int j=0;j<r;j++)
{
result+=num/(int)(pow(10,r-j-1));
num=num%(int)(pow(10,r-j-1));
}
cout<<result<<"\n"; //输出过程中间的result
cout<<"\n";
}
cout<<"最后答案是:"<<result; //输出最后结果
cout<<endl;
return;}
我已经编译过,程序通过了,没有错误!给分啊!!!
注意,一开始result必须初始化大于9!!
这样才能通过下面的for语句!
然后再让result=0,r=1
#include<iostream.h>
#include<math.h>
{
int nTest ;
int nTestResult ;
int nResult ; for(;;)
{
nResult = 0 ;
for ( nTest=10;nTest<num*10;nTest*=10 )
{
nTestResult = (num%nTest)/(nTest/10) ;
nResult += nTestResult ;
}
if ( nResult<10 ) break ;
num /= 10 ;
} return nResult ;
}void main()
{
printf("%d",GetDigitsSum(9142345)) ;
}
{
int NextNum;
int Result; NextNum = num/10;
Result = num - NextNum*10; if(NextNum>0){
Result += DoWork(NextNum);
}
return Result;
}这样不也可以吗?
{
int nRes;
while(nRes=DoWork(num), nRes) >= 10){} return nRes;
}
int ThisRight(int num)
{
int nRes;
while( (nRes=DoWork(num), nRes) >= 10){} return nRes;
}
特别是,jwd_1_cool(三疯) 你的程序我以编译了!谢谢你!
其他的程序我也会学习的!非常感谢大家!
··································
··································
吵吵闹闹有何意?看看最简单的代码:
int GetSum(int sum)
{
while( sum>10 )
{
sum = sum%10 + sum/10;
}
return sum;
}·············· 满意了吧?······························································
不相信?自己验证去···································
int add_digits()
{
int nResult=m_nNum;
VERIFY(nResult>=0);
while(nResult>10)
nResult=GetSum(nResult);
return nResult;
}
int GetSum(int sum)
{
while( sum>=10 )
{
sum = sum%10 + sum/10;
}
return sum;
}如果不是sum>=10,使用sum>0,如果数为586时,返回值为10,结果不对