C语言学习(累加)

1.求和(累加):利用各项间关系求新项。累加

法一:能用求和公式直接运算的直接求和。

法二:(通法)

① Sum 初值(一般为零)

② 逐项相加:求item(通过项间关系由已知项推出)

              sum=sum+item

Eg.

#include<stdio.h>

main()

{

int i,n,f1=1,f2=1;

float sum=0.25,item;        //此时sum初值不为0,而是代入i=1时的值

printf("请输入n的值\n");

scanf("%d",&n);

for(i=2;i<=n;i++)

{

f1=f1*i;

f2=f2*(2*i-1)*(2*i-2);    //i要从第二项起

item=(float)f1*f2/(3*i+1);

sum+=item;

}

printf("sum=%.2f\n",sum);

return 0;

 }

 

2.穷举法

例2:输出1000以内的所有素数,每行最多10个

#include<stdio.h>

main()

{

int n,m,cnt=0;

printf("1000以内的素数如下:\n");

for(n=2;n<1000;n++)——————————        for(n=2;n<1000;n++)——————

{                                                                         {

        //判断n是否为素数              ①                               isPrime=1;  //先假设为素数

    for(m=2;m<n;m++)                                                     for(m=2;m<n;m++) 

    if(n%m==0)break;   //不是素数                                  if(n%m==0)           

    if(m==n)  //若是则输出——————                      {                           ②

    {                                                                                      isprime=0;

        if(cnt%10==0)                                                              break;   

        printf("\n");                                                           }

printf("%4d",n);                                                            if(isprime)——————————

            cnt++;                                isprime==1,则判断                                  为真,执行后面的语句

        }                                                                                                                                  

}

return 0;

}

例3:有100块砖若干人搬

男搬4,女搬3,

两个小儿抬一砖,

要求一次搬完,

问男女,小儿各若干?

解:#include<stdio.h>

main()

{

    int cnt=0,m,w,c;

    for(m=1;m<=25;m++)

  for(w=1;w<=33;w++)

for(c=2;c<=200;c=c+2)

if(4*m+3*w+c*0.5==100&&c%2==0)

  printf("(%d)man:%d,women:%d;children:%d\n",++cnt,m,w,c);

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值