为了账号安全,请及时绑定邮箱和手机立即绑定

没有if,问题中还有不能用条件选择(?:),这是为什么啊?

没有if,问题中还有不能用条件选择(?:),这是为什么啊?

C C++
慕盖茨4494581 2022-06-01 18:14:37
c++编程 求1+2+3+。。。+n的和 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件
查看完整描述

4 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

#include<stdio.h>

int sum;
int stopper = 100;

void yessum(int i);
void nosum(int i);

typedef void(*fnPtr)(int);
fnPtr dispatch[] = { yessum, nosum };

void yessum(int i)
{
sum += i;
dispatch[i / stopper](i + 1);
}
void nosum(int i)
{
/* do nothing. */
}
int main()
{
yessum(1);
printf("%d",sum);
return 0;
}

改好了


查看完整回答
反对 回复 2022-06-06
?
杨魅力

TA贡献1811条经验 获得超6个赞

#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n,sum=0;
cin>>n;

cout<<(n*(n+1)>>1)<<endl;
return 0;
}
不能用乘法啊,我得好好想想

查看完整回答
反对 回复 2022-06-06
?
ibeautiful

TA贡献1993条经验 获得超5个赞

#include <stdio.h>
int Factorial(int n)
{
int num = 0;
(n > 0) && (num = n + Factorial(n - 1));
return num;
}

int main()
{
printf("%d\n",Factorial(100));
}


查看完整回答
反对 回复 2022-06-06
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

int sum = 0;
int add_fun(int n)
{
n && add_fun(n-1); //用n是否为0替代判断
return (sum += n); //注意这里
}

查看完整回答
反对 回复 2022-06-06
  • 4 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号