永发信息网

用c语言求1到100的和要求不用循环 不用if不用switch不用三目

答案:6  悬赏:20  手机版
解决时间 2021-01-19 04:27
用c语言求1到100的和要求不用循环 不用if不用switch不用三目
最佳答案
提供办法之一。
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#define SUM(x) (x+(x+1)+(x+2)+(x+3)+(x+4)+(x+5)+(x+6)+(x+7)+(x+8)+(x+9))
int main(void){
    int y=100;
    y+=SUM(0)+SUM(10)+SUM(20)+SUM(30)+SUM(40)+SUM(50)+SUM(60)+SUM(70)+SUM(80)+SUM(90);
    printf("1+2+3+...+100 = %d
",y);
    return 0;
}
全部回答

1到100是一个等差数列,因此直接使用等差数列求和公式就行了,参考代码如下:#include 
int main()
{
printf("%d ", 100*(100+1)/2);
return 0;
}
应该是递归函数,递归函数有时候很有用,但是自身不断调用自身,很占用内存
int add(int a,int sum)
{
if(a == 100)
return sum + 100;
else
return add(++a,sum);
}
int main(0
{
printf("result is %d", add(1,0);
}追问不能用if 啦 这个我也会用的提前说是用调用函数提示
什么都不让用,直接计算就好了!
#include 
void main()
{
    printf("%d ", (1+100)*100/2 ) ;
}追问不可以这样用公式的提示是要用调用函数 一个个加想了好久追答即使是递归函数也会用到if啊,用来判断递归出口追问我也知道啊 不然我不会说他变态的追答
你试试这个#include 
int add( int n )
{
int res=1;
(n<=1) || (res=n+add(n-1));  //利用||的短路特性控制递归出口
return res; 
}
void main()
{
    printf("%d ", add(100)  ) ;
}追问他是怎么退出去的?怎么短路是不是当n等于1时就不进行||后面的了?和0&&一样追答查询一下|| 和&&的特点吧
||在左边为真时,不执行右边,左边为假时,才执行右边!追问懂了
#include
int f(int begin,int end)
{
return begin}
int main()
{
printf("%d",f(1,100));
return 0;
}
完全符合你条件追问?:是什么运算啊追答?:这是一个运算符,条件运算符。。也是唯一的三目运算符追问可是上面不让三目呢
#include
int f(int n)
{
if( 1 == n )
{
return 1;
}
else
{
n = f( n -1 ) + n;
}
}
int main(void)
{
printf("%d \n", f( 100 ) );
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
技嘉GA-Z97-HD3 rev.2.1好不好
840÷35要怎样列式算,并且验算
民法中的诉讼时效是什么意思
用am,is ,are 填空 what is your name? my na
我现在14岁,长大了该怎么办?
单选题苏湖熟,天下足的谚语说明南宋时A.北方
如何分辨高仿盗版书?
国旗能不能给花池里边插
65*88-79*65+65简便计算
媒人和我姐夫 姑父算是证人吗
单选题在生态系统中,构成食物链的生物因素必
怎么用ones刻录dvd
以前90年代的TVB无线演员演电视剧和香港亚洲
身无分文的小光棍,能不能拥有华丽丽的爱情!
福特翼虎p0191油轨压力传感器持续故障怎么回
推荐资讯
耳,东,可以组成什么字
有人愿意和死刑犯搞对象吗?我没搞过对象。可
口袋商店有什么
世界天然铀资源可用多少年
这是烫出来的还是一次性的
随着光照的增强光合作用强度不再增加的原因是
我想换显卡,笔记本是老的,是戴尔m511R-5110
上衣七寸黑色小西服配黑色短裤好看吗
橡胶能做什么
48x52x2一4x48简便法
北京积分落户,学历加多少分
换机油以前要清洗吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?