| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 704 人关注过本帖
标题:[求助] 如何计算乘法呢?
只看楼主 加入收藏
阿辉
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-27
收藏
 问题点数:0 回复次数:1 
[求助] 如何计算乘法呢?
新手 只会一些基本编程 帮忙指导一下 以下功能 由用户输入两个八进制数计算加减乘运算:
#include <iostream.h>
void main()
{
unsigned int n,m,i,t=1,r; int s1[10]={0},s2[10]={0},c[10]={0};
cout<<"pleade put a number:";
cin>>n;
for (i=0;i<10;i++)
{
t*=10;
r=t/10;
s1[i]=(n%t)/r;
if(s1[i]<0||s1[i]>7)
{
cout<<"error";
break;
}
}

cout<<"please put another number: ";
cin>>m;
t=1;
for (i=0;i<10;i++)
{
t*=10;
r=t/10;
s2[i]=(m%t)/r;
if(s2[i]<0||s2[i]>7)
{
cout<<"error";
break;
}
}
for(i=0;i<10;i++)
{
c[i]+=s1[i]+s2[i];
if(c[i]>=8)
{
c[i]-=8;
c[i+1]+=1;
}
}
for(i=9;i>=0;i--)
cout<<c[i];
}
不能输出c[0];而且不能计算八进制的乘法,感觉程序也很罗嗦能简洁一下吗?
如果用户输入大于八的数程序终止 不能由用户再继续输入;
搜索更多相关主题的帖子: 乘法 
2007-06-29 08:51
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
LZ的思路很正确。
但是如你所见,你这样在设计每个四则运算的时候就会遇到进位控制的问题。
并且在8进制上直接使用乘法是很难控制的。

LZ完全可以换个角度,你可以设计程序让用户输入和获取的总为8进制,但是对于你自己(程序)而言,始终处理10进制。
这样不解决了吗?

至于你第二个问题,可以有很多方法,比如直接退出,或者在循环里提示从新输入。
这不是重要的。

Fight  to win  or  die...
2007-06-29 13:36
快速回复:[求助] 如何计算乘法呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018365 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved