初中数学题在线解答答4899用加减乘除得数为24(不能交换位置)

如何将5 5 5 1四个数通过加减乘除四则运算使其结果为24每个数字现用一次
如何将5 5 5 1四个数通过加减乘除四则运算使其结果为24每个数字现用一次
09-08-06 &匿名提问
span name=whlm id=whlmstruct Node // 定义一个双向链表用来存贮结果 {
// 数据*定义为字符的原因:要显示负号 Node * // 尾指针 Node * // 首指针 }; /*----------------------------WBR------------------------------WBR---------------- *函数名称: 大数加法 *函数过程:1 比较两个数那一个长 * 2 以长的作为循环次数 * 3 对应项相加 进位存贮直到下高位相加用 * 4 直到循环结束 * 5 !!!!!!没设计负数相加 *入口参数:numa,numb,result字符串 *出口参数:无 *编辑环境:winSP2 + VC2003 + C++ *-----------------------------WBR------------------------------WBR---------------*/ void addition(char *numa, char *numb,char *result) // 计算两大数之和 { char *pna = findend(numa); // 指向numa的一个指针。point numa pna 指向乘数的最低位, char *pnb = findend(numb); //指向numb的一个指针 //pnb 指向被乘数的最低位, int along=(int)strlen(numa); //标记数字a的长度; int blong=(int)strlen(numb); //标记数字b的长度; int times = 0; // 标致要计算多少次。 int carry=0,temp_ //存贮进位 和临时结果的 Node *head, // 用于存贮头指针 *pstart, // 用于存贮计算时的首指针 * //作于申请新结点 head = pstart =new N //初始化首结点和头结点。 pstart -& data = 0; pstart -& next = NULL; pstart -& ahead = NULL; if (abigerb(numa ,numb)&=1) times = (int)strlen(numa); //比较两个字符串长度,以大的作为循环次数 else { times = (int)strlen(numb); pna = findend(numb); //交换指针 pnb = findend(numa); along=(int)strlen(numb); //标记数字a的长度; blong=(int)strlen(numa); //标记数字b的长度; } while ((times-- && (times&=0))|| carry != 0) { if(!pstart-&next) //如果当前为空结点,则申请新结点 { pnew = new N pnew -& data = 0; pnew -& next = NULL; pnew -& ahead = pstart -& next = } else temp_result =(pstart-&data +(*pna-48)+(*pnb-48)+carry) ; //自身的值+新值+进位 作为当前的新值 pstart -& data = temp_result%10; //存贮个位 carry = temp_result/10; //存贮进位 pstart = pstart -& //结点移动 blong--; if(blong&0)pnb--; //指针移向被加数高位 else *pnb=48; //之后相减就变为了0不作任何运算; pna--; //加数指针移动, } pstart = //寻找链表的结尾点 while(pstart-&next != 0) { pstart-&data += 48; //!!&&&因为我们的输出是字符。所以再此加上48&&&& 逆顺输出 pstart = pstart-& } int tip = 0; //转为字符串用 pstart = pstart-& //找有效字 //cout&&&\n结果是 : &; while(pstart != 0) //输出正序的结果; { result[tip++] = pstart-& //cout& pstart = pstart-& } result[tip] = '\0'; pstart = //释放空间 while(pstart-&next != 0) { pnew = pstart-& pstart = }
} //比较两个数字符串大小的函数 //返回值说明:0是 2是along=blong int abigerb(char *numa, char *numb) //比较两个数最高位那一个大 { int along=(int)strlen(numa); //标记数字a的长度; int blong=(int)strlen(numb); //标记数字b的长度; char *pna = //指向数A的最高位, char *pnb = //指向数B的最高位, if (along&blong) return 1; if (along==blong) { while(*pna) //比较两个数那一个大 { if(*pna&*pnb)return 1; else if(*pna&*pnb)return 0 ; else if(*pna==*pnb){pna++;pnb++;} // } return 2; //这表明找到最后了还是全相等; } return 0 ; } /*----------------------------WBR------------------------------WBR---------------- *函数名称: 大数减法 *函数过程:1 比较两个数那一个长 * 2 以长的作为循环次数 * 3 如果两个数长度相等,从最高位开始比直到发现那一个数更大,WBR使大项减去小项 * 4 对应项相减 进位存贮直到下高位相加用 * 5 每一位对应项相减时,处理三种可能的情况,a=b, * 6 a=b时,则计算,11-12,111-112,要考虑借位 * 7 直到循环结束 *入口参数:numa,numb,result字符串 *出口参数:无 *-----------------------------WBR------------------------------WBR---------------*/ void subtract(char *numa, char *numb,char *result)//计算减 { char *pna = findend(numa);//指向numa的一个指针。WBRpoint numa pna 指向减数的最低位, char *pnb = findend(numb);//指向numb的一个指针 //pnb 指向被减数的最低位, int along=(int)strlen(numa);//WBR标记数字a的长度; int blong=(int)strlen(numb);//WBR标记数字b的长度; int times = 0; // 标记要计算多少次。 int carry=0; //存贮借位 int clear0=0; //消除结果最前面无用的'0' 13-5 = 08 的效果!! int isnegative=0; //用来加上被减数大于减数时补上最后一个负号 Node *head, // 用于存贮头指针 *pstart, // 用于存贮计算时的首指针 * //作于申请新结点 head = pstart =new N//初始化首结点和头结点。 pstart -& data = 0; pstart -& next = NULL; pstart -& ahead = NULL; if (abigerb(numa ,numb)) times = strlen(numa);//比较两个字符串长度,WBR以大的作为循环次数 else //交换位置以降低难度 { times = strlen(numb);//让数(字符串)长的减去数(WBR字符串)短的 pna = findend(numb);//交换指针 pnb = findend(numa); along=(int)strlen(numb);//WBR标记数字a的长度; blong=(int)strlen(numa);//WBR标记数字b的长度; isnegative=1;//标记最后要加上负号 } /span
请登录后再发表评论!
[5 - 1/5]x5=24
请登录后再发表评论!
76+78+88=242这是甲乙丙三人钱数的两倍 除以二得121是三人钱数之和 于是121-76=45是丙的钱数 121-78=43是甲的 121-88=33是乙的
请登录后再发表评论!扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
现有4个有理数,将这四个数进行加减乘除四则运算,使其结果等于24(可以使用括号,交换位置为一种)快!(1)现有4个有理数3,-5,7,9,运用上述规则写出一个算式,使其结果等于24
【圣之裁决】鯾
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
9-(-5)+3+7=24;(3+9)*[7+(-5)]=12*2=24.
为您推荐:
其他类似问题
9+3+7-(-5)=24
-(3x7)-(-5x9)=24
9-( -5)+3+7=24
扫描下载二维码扫二维码下载作业帮
2亿+学生的选择
下载作业帮安装包
扫二维码下载作业帮
2亿+学生的选择
一道数学题:9 8 7 6 5 4 3 2 1 10 十个数,中间用加减乘除,最后等于2.3中间用加减乘除顺序不能换那中间填加减乘除等于1000呢
扫二维码下载作业帮
2亿+学生的选择
(9+8+7+6-5+4-3-2-1)÷10=2.3
为您推荐:
其他类似问题
扫描下载二维码扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
1口5口5囗5=24,囗中无论加减乘除都可以!等号前面可以交换位置.求答�
夏尔拖1975
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
5×(5-1÷5)=24
(5-1/5)*5=24
为您推荐:
扫描下载二维码}

我要回帖

更多关于 数学题在线解答网站 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信