第三次作业

作业要求https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360

7-1 求简单交错序列前N项和 :

1.实验代码

#include<stdio.h>
int main()
{
  int N,flag=1,i=1,a=1;
  double sum,item;
  scanf("%d",&N);
  while(i<=N){
    item=flag*1.0/a;
    flag=-flag;
    a=a+3;
    i=i+1;
    sum=sum+item;
  }
  printf("sum = %.3lf",sum);
  return 0;
}

2.解题思路:

(1)本题算法:首先,本题需要求和,所以得定义求和变量和参数变量,其次,本题要的是交错相加,所以需要定义一个变量来确定参数的正负,引用flag作为控制正负的变量,为了增加程序的可读性,大家尽量不要用 abc之类的来定义,尽量用让人一目了然的变量。

(2)流程图

3.调试过程

在本次作业中,我们应该注意变量的改变,否则就会进入死循环!

7-1 求整数的位数及各位数字之和 

1.实验代码

#include<stdio.h>
#include<math.h>
int main()
{
  int a,b,sum=0,i=0;
  scanf("%d",&a);
  while(a>0){
    b=a%10;
    a=a/10;
    sum=sum+b;
    i++;
  }
  printf("%d %d",i,sum);
  return 0;
}

2解题思路

(1)本题所要求的是 求一个数的位数以及各位数字之和,为此我们得想办法将这个多位数拆开,联想之前做过的火车到站问题,我们可以用取整取余的方法来实现位数的分离,注意

第一步要先取余,再取整,否则就会造成个位数的丢失!

(2)流程图

3.调试过程

刚开始没注意到顺序 问题导致个位数消失,进而导致结果出现错误,经改编后截图如下

这下结果就正确了下面是调试截图 

6-4 使用函数求素数和 (20 分)

1.实验代码

int prime( int p ){
  int i,count=1;
  if(p<=1){count=0;}
  for(i=2;i<=p/2;i++){
   if(p%i==0)count=0;
  }
 return count; 
}
int PrimeSum( int m, int n ){
  int sum=0,p;
  for(p=m;p<=n;p++){
   if(prime(p))
   sum+=p;
  }
  return sum;
}

2.解题思路

(1)本题要求定义函数来判断素数,以及求某个区间内素数的和,因此要先了解素数定义,然后运用循环来判断其是否为素数,然后利用嵌套循环来找出某区间内 所有素数,并求它们的和

(2)流程图

3.调试过程

从这道题中我学会了定义两个函数时可以互相套用,从而减少代码量,增加程序可读性!

4.本周我们学习了嵌套循环以及定义函数等知识,我觉得嵌套循环是个难点,所以我们得多打代码多练习来使我们更好的掌握

5.折线图

点评博客https://www.cnblogs.com/wafx/p/9998306.html

    https://www.cnblogs.com/errumuran/p/10043471.html

    https://www.cnblogs.com/kaitbkleyue/p/10043349.html

转载于:https://www.cnblogs.com/chen0803/p/10046139.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值