| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 982 人关注过本帖
标题:[求助]这个题怎么做啊
只看楼主 加入收藏
端木良庸
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-1-14
收藏
 问题点数:0 回复次数:10 
[求助]这个题怎么做啊
我们已知算术中的四则运算在高级语言中有响应的运算符号+,-,*,/,现在请你运用已经学过的高级语言程序设计的知识,自行设计证书的四则运算函数add(),sub(),muti(),div()来实现响应的计算。(在函数中不能使用+,-,*,/)

如:add(3,5)返回8

       sub(4,1)返回3

       muti(2,7)返回14

       div(1,3)返回0.3 [在div()函数中程序不可使用实型变量]





帮帮忙啦~~~~~
搜索更多相关主题的帖子: 函数 知识 
2005-01-16 14:26
端木良庸
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-1-14
收藏
得分:0 
各位大哥,没人做一下吗?
2005-01-16 20:12
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
小子,你的名字太别扭了吧!!!!
象他妈的日本人,所以谁搭理你!

差点把你忘了...
2005-01-17 08:37
端木良庸
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-1-14
收藏
得分:0 
晕了 这和id有什么关系~~~
2005-01-17 09:52
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
收藏
得分:0 

#include <stdio.h>

double add(double a,double b) { return(a+b); } double sub(double a,double b) { return(a-b); } double muti(double a,double b) { return(a*b); } float div(float a,float b) { if(b==0) printf("error!\n"); return(a/b); }

2005-01-17 10:48
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
收藏
得分:0 
看清题目要求//

2005-01-17 11:02
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
俺的位运算没学好,也不想操这个脑筋!

2005-01-17 11:05
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
这题是要自找别扭的吧?-____-|||
int add(a,b)
{
         int c = 0;
         while(a|b)c&lt;&lt;=1,c=(a^b)&amp;1;
         return c;
}
int minus(a,b)
{
         return add(a,add(~b,1));
}
...乘法用循环也好,也可以用数字逻辑里给的那个位处理的算法...
除法恐怕只有用数字逻辑的方法比较简单了

[此贴子已经被作者于2005-1-18 14:40:54编辑过]



Have you visit acm.tongji. lately?
2005-01-17 13:23
magic475
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2005-1-14
收藏
得分:0 
的确是我看错题目要求了,不好意思。不过给你找到答案了,还是比较难的。 http://blog.csdn.net/wengzhong/archive/2005/01/15/254640.aspx
2005-01-17 21:15
amzyb
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-1-10
收藏
得分:0 

#include <stdio.h> float add(float a,float b); float sub(float a,float b); float multi(float a,float b); float add(float a,float b){ int i; if(b>0){ for(i=0;i<b;i++) a++; } else if(b==0) return a; else { b=-b; a=sub(a,b); } return(a); } float sub(float a,float b){ int i; if(b>0){ for(i=0;i<b;i++) a--; } else if(b==0) return a; else{ b=-b; a=add(a,b); } return(a); } float multi(float a,float b){ int i; float n=0; if(b>0){ for(i=0;i<b;i++) n=add(n,a); return(n); } else if(b==0){ n=0; return n; } else{ b=-b; for(i=0;i<b;i++) n=add(n,a); n=-n; } return n; } float div(float a,float b){ float i,j; float n; int p,q; if(b>0){ for(i=1;;i++){ n=multi(b,i); if(n>a) break; } i--;//整数部分 for(j=0;j<10;j++){ n=multi(i,10)+j+1; if(multi(b,n)>multi(a,10)) break; }//得到十分位的值 p=i;q=j; printf("a/b=%d.%d\n",p,q); } else if(b==0){ printf("分母是0了!!!\n"); } else{ b=-b; for(i=1;;i++){ n=multi(b,i); if(n>a) break; } i--;//整数部分 for(j=0;j<10;j++){ n=multi(i,10)+j+1; if(multi(b,n)>multi(a,10)) break; }//得到十分位的值 p=i;q=j; printf("a/b=-%d.%d\n",p,q); } return n; }

void main(){ float a,b; float sum1,sum2,sum3,sum4; printf("Input a and b:\n"); scanf("%f%f",&a,&b); sum1=add(a,b); printf("a+b=%f\n",sum1); sum2=sub(a,b); printf("a-b=%f\n",sum2); sum3=multi(a,b); printf("a*b=%f\n",sum3); sum4=div(a,b); // printf("%f\n",sum); } 自己写的,不足之处是不能运算浮点型的数,不过已经扩充道了所有的整数了!

2005-01-18 14:20
快速回复:[求助]这个题怎么做啊
数据加载中...
 
   



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

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