c语言怎么求1到n的累加和?

Python07

c语言怎么求1到n的累加和?,第1张

1、首先定义一个函数,这个函数里的内容求n的阶乘,返回值是n的阶乘,如下图所示

2、函数定义完成之后,就要开始写main函数里的内容,还是定义变量。

3、变量定义后就要赋值,把sum的值写为0.因为后面的求和就需要sum的初始值为0,如下图所示。

4、下一步就是利用for循环了,for循环i初始值位1,结束值为100。

5、最后一步就是把求出的sum打印出来,再加上return 0,如下图所示就完成了。

#include "stdio.h"

int prime(int n){//判断素数

int i

if(n>2 && !(n&1) || n<2)

return 0

for(i=3i*i<=ni+=2)

if(!(n%i))

return 0

return 1

}

int main(int argc,char *argv[]){

int n,m

printf("Please enter n(int 0<n)...\nn=")

if(scanf("%d",&n)!=1 || n<1){

printf("Input error, exit...\n")

return 0

}

printf("Between 1 and %d a total of ",n)

for(m=0n>1m+=prime(n--))

printf("%d prime.\n",m)

return 0

}

运行样例:

算法分析:

1. 定义N 及用来统计的cnt, 用来循环的n;

2. 输入N ;

3. 将n从1到N循环, 对于每个n执行如下操作:

a) 循环取出n的每位数字值

b)判断该位是否为1, 如是则累加到cnt上。

4. 输出结果。

代码如下:

#include <stdio.h>

int main()

{

int n, N, cnt = 0

scanf("%d",&N)//输入N值。

for(n = 1n<=N n ++)//循环执行

{

int t = n

while(t)//循环取出每一位。

{

if(t%10 == 1) cnt++

t/=10

}

}

printf("%d\n", cnt)//输出结果

return 0

}