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

来自:    更新日期:早些时候
用递归法求1到n的和,不用循环,不用if。。。else,不用switch,不用三目运算符,求高手解。~

利用方程式:
Sn = (n/2)(2a+(n-1)d)
Sn 是总和
a是起始号码,置入1
d是间隔,置入1

所以就是
Sn = (n^2 + n )/2

bool isMmax = m > n? true:false;
isMmax 为真时m大于n
如果想得到大的值可改为 int nMaxNum= m > n? m : n;

不能用三目的话 可以如下:

int x=m-n;
char *str[2]={ "m大 ", "n大 "};
x=unsigned(x)> > (sizeof(int)*8-1);
printf("%s", str[x]);

提供办法之一。

//#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 <stdio.h>
int main()
{
printf("%d
", 100*(100+1)/2);
return 0;
}


什么都不让用,直接计算就好了!

#include <stdio.h>
void main()
{
    printf("%d
", (1+100)*100/2 ) ;
}


应该是递归函数,递归函数有时候很有用,但是自身不断调用自身,很占用内存
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);
}

#include<stdio.h>
int f(int begin,int end)
{
return begin<end?begin+f(begin+1,end):end;
}
int main()
{
printf("%d",f(1,100));
return 0;
}

完全符合你条件

不可以这样用公式的
即使是递归函数也会用到if啊,用来判断递归出口

我也知道啊 不然我不会说他变态的
查询一下|| 和&&的特点吧
||在左边为真时,不执行右边,左边为假时,才执行右边!

懂了
?:这是一个运算符,条件运算符。。也是唯一的三目运算符


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

相关评论:
  • 15251342371c语言求1到100间奇数和以及1-2+3-4+5...-100的和
    甄美航第一题:include<stdio.h> void main(){ int sum=0;for(int i=1;i<=100;i=i+2){ sum=sum+i;} printf("%d\\n",sum);} 第二题 include<stdio.h> void main(){ int sum=0;for(int i=1;i<=100;i++){ if(i%2!=0)sum=sum+i;else sum=sum-i;} printf("%d\\n",sum);...

  • 15251342371用c语言for循环求1到100之和
    甄美航sum = sum+i 这一句写在了for循环的外面,意思就是先作for循环至i=101,最后运行sum=sum+i,输出为101。更改,把sum=sum+i写到循环里面。include <stdio.h> int main(void){ int i,sum=0;for(i=0;i<=100;i++){ sum=sum+i;} printf("%d",sum);} ...

  • 15251342371C语言程序求1—100之间的奇数和和偶数和
    甄美航用oddsum=1+3+5+···+99来计算奇数和;evensum=2+4+6+···+100来计算偶数和。首先设置两个计数器:oddsum,evensum。其初值为0,利用if···else来判断奇偶数,来分别累加到计数器。1,将i的初值置为1;2,当i增到101时,停止计算。方法一、include <stdio.h> int main(void){int...

  • 15251342371用C语言编程, 求1+2+3+...+100的和? 跪求啊 ,考试用。
    甄美航include <stdio.h>int main(){ int sum=0; for(int i=1;i<=100;i++) { sum+=i; } printf("%d\\n", sum); return 0;}

  • 15251342371C语言 编程求1-100之间所有数据之和
    甄美航include<stdio.h> void main(){ int sum,i;sum=0;for(i=1;i<=100;i++){ sum = sum+i;} printf("%d",sum);} 或 include<stdio.h> void main(){ int sum;sum=0;sum = 101*100\/2;printf("%d",sum);}

  • 15251342371用C语言函数求1到100以内素数的和
    甄美航参考代码如下 include<stdio.h> int isPrime(int x){ int i;if(x<=1)return 0;for(i=2;i<x;++i)if(x%i==0)return 0;return 1;} int main(){ int sum=0,i;for(i=1;i<=100;++i)if(isPrime(i))sum+=i;printf("sum=%d",sum);return 0;} ...

  • 15251342371c语言中,如何计算1到100相加 ?
    甄美航再次点击文件,新建 选择c++source file 并输入文件名,点击确定 输入如图所示的代码,注意代码和符号的输入必须在英文输入法的环境下进行 在C语言中可以通过定义一个累加器(一个变量)并结合for循环来实现计算1到100之和。double sum=0; \/\/ 定义累加器变量sum,并初始化为0{ int i,sum;利用for...

  • 15251342371c语言求1到100之间所有整数和?急求答案
    甄美航include<stdio.h> void main(){ int i,sum=0;for(i=1; i<=100; i++)sum+=i;printf("1+2+...+100=%d\\n",sum);}

  • 15251342371用c语言程序求1至100之间全部奇数之和。
    甄美航点击添加就新建好文件了,之后就可以编写代码了:3、这里奇数就是除以2之后有余数的整数,所以程序比简单,在for循环里判断100以内的数是否奇数,是的话就相加,最后输出结果就行了:4、按下快捷键crtl+F5运行程序,就可以得到计算结果了。以上就是用用c语言程序求1至100之间全部奇数之和的演示程序:...

  • 15251342371C语言1到100偶数之和的编程怎么写呢?
    甄美航C语言求1到100偶数之和编程如下:include<stdio.h> main(){ int i,sum=0;for(i=0;i<=100;i=i+2){ sum=sum+i;} printf("%d",sum);} C语言特有特点:C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网