[高分悬赏满意再追加]求一个算法函数,描述如下:

函数需求如下:传5个值X1、X2、X3、X4、X5传给函数后返回处理后的X1、X2、X3、X4、X5五个值算法规则如下:X1-X2-X3-X4-X5将X1轮流去减X2、X... 函数需求如下:

传5个值X1、X2、X3、X4、X5传给函数后 返回处理后的X1、X2、X3、X4、X5五个值

算法规则如下:X1-X2-X3-X4-X5 将X1轮流去减X2、X3、X4、X5

1:减数-被减数如果结果>0 则将获得的值赋值给被减数 减数赋值为0 例如:X1-X2>0 则X2=X1-X2 X1=0 函数继续 将X2去减X3
X1 X2 X3 X4 X5
例如 10 2 3 4 5 10-2>0 第一次减完后5个数分别为: 0 8 3 4 5 函数继续 将8-3

2: 减数-被减数如果结果=0 则减数和被减数全部赋值为0 函数停止 后面没减到的值全为原值
X1 X2 X3 X4 X5
例如 20 20 3 4 5 20-20=0 减完后5个数分别为: 0 0 3 4 5 函数停止

3:减数-被减数如果结果<0 则将获得的值赋值给被减数(可调换减数、被减数位置或者将结果乘以-1) 减数赋值为0 函数停止 后面没减到的值全为原值
X1 X2 X3 X4 X5
例如 1 2 3 4 20 1-2<0 减完后5个数分别为: 0 1 3 4 20 函数停止
展开
 我来答
xx_lyq00
2013-06-26 · TA获得超过4140个赞
知道大有可为答主
回答量:1794
采纳率:84%
帮助的人:822万
展开全部
  1. 你把减数跟被减数弄反了。    被减数-减数=差。    被减数在减号前面 。

  2. 函数继续    将8-3  ,这个到哪里结束,你没说清。  是不是只要到x4-x5就可以了,还要不要反过来 。x5-x1这样子。 如果是前者,那么这个算法只是简单的几个语句,后者的话,则要循环过程 。我依前者写。 

  3. 利用 && 这个逻辑运算符的特点 ,a&&b  如果a为false,则不会管b的结果 。

#include <iostream>
#include<cstdio>
using namespace std;

bool solve(int &x1,int &x2)
{
    if(x1>x2)  { x2=x1-x2;  x1=0;return true; }
    else if(x1==x2) { x1=0; x2=0; }
    else { x2=x2-x1; x1=0; }
    return false;
}

void funtion(int &x1,int &x2,int &x3,int &x4,int &x5)
{
    if(solve(x1,x2)&&solve(x2,x3)&&solve(x3,x4)&&solve(x4,x5)){}

}


int main()
{
    int x1,x2,x3,x4,x5;
    x1=10,x2=2,x3=3,x4=4,x5=5;
    funtion(x1,x2,x3,x4,x5);
    printf("%d %d %d %d %d\n",x1,x2,x3,x4,x5);
    return 0;
}


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式