我的第3篇博客

我的第三篇博客

作业要求 Click Here

一、我的作业

3.1 题目7-2 求平方根序列前n项和

【实验代码】

#include<stdio.h>
#include<math.h>
int main ()
{
  system(title 7-2 SQRT);
  int N=0;
  int t=1;
  double Q,S;
  
  scanf("%d",&N);
  
  do{
    Q=sqrt(t);
    t=t+1;
    S=S+Q;
  }while(t<=N);
  
  printf("sum = %.2lf",S);
  
  return 0;
}


【解题思路】

1.定义整型变量N,用来表示项数,定义整形变量t用来表示计算的次数;

2.定义浮点型变量Q用来计算平方根,定义浮点型变量S用来表示所有Q值加起来的和,即前N项和;

3.使用do while循环计算Q,并且将Q进行累加,当计算的次数t达到项数N的时候,跳出循环;

4.按照题目要求的格式输出S的值。

【流程图】

 

【运行结果】

 

3.2 题目7-3 猴子吃桃

【实验代码】

 

#include<stdio.h>
int main()
{
  system("title Monkeys");
  int N;
  int peach;
  int a;
  
  scanf("%d",&N);
  peach=1;
  
  if(N>1&&N<=10){
    for(a=1;a<N;a++){
      peach=peach+1;
      peach=peach*2;
    }
    printf("%d",peach);
    
  }
  else{
    printf("ERROR!");
  }
  
  return 0;
}
  

 

【解题思路】

1.定义变量:用N表示天数,peach作为桃子总数,a作为for循环中代表循环次数的数值;

2.判断输入的N值是否在题目给定的区间[1,10]内,若在给定区间内,进入循环,若不在题目给定的区间内,令程序报错;

3.使用for循环,分别计算第N天到第1天剩余的桃子数量,

4.当循环体计算到第1天剩余的桃子数时,跳出循环;

5.按照题目要求输出结果。

【流程图】

 

【错误改正】

错误代码:

1  for(a=1;a<N;a++){
2          peach=peach*2;
3          peach=peach+1;
4 
5     }
6     printf("%d",peach);

错误原因:逆向计算桃子数时没有认真思考,仅仅依据题目叙述的顺序去排列运算的顺序,导致计算结果出现错误。

 

【运行结果】

 

 

 

 

 3.3 题目7-4 查询水果价格

【实验代码】

 1 #include<stdio.h>
 2 int main()
 3 {
 4     system("title 7-4 Fruits"); 
 5   int choice,i;
 6   double price;
 7   
 8   for(i=1;i<=5;i++){
 9     printf("[1] apple\n");
10     printf("[2] pear\n");
11     printf("[3] orange\n");
12     printf("[4] grape\n");
13     printf("[0] exit\n");
14     
15     scanf("%d",&choice);
16     
17     if(choice==0)
18     break;
19     
20     switch(choice){
21       case 1:price=3.00;break;
22       case 2:price=2.50;break;
23       case 3:price=4.10;break;
24       case 4:price=10.20;break;
25 } 26 printf("price = %.2f\n",price); 27 } 28 return 0; 29 }

【解题思路】

1.定义变量:使用choice表示输入的选项,使用price表示查询的结果,使用i表示循环的次数;

2.进入第一次查询,输入需要查询的选项;

3.根据输入的选项判断输出的结果,若输入值为零,跳出循环;

4.输出第一次查询的结果,进入第二次查询。当查询次数达到5次时,自动结束。

【运行结果】

【错误改正】

错误代码:

    switch(choice){
      case 1:price=3.00;
      case 2:price=2.50;
      case 3:price=4.10;
      case 4:price=10.20;

错误原因:没有使用break,导致程序自动向下运行,最终price的值为10.20.

二、我的学习进度

过去的两周学习中,主要学到了循环的知识。学过的循环共有for、while、do while三种类型。

循环结构是C语言编程的重点,而循环结构的难点在于循环的嵌套。使用循环嵌套时候,应特别注意内部循环的循环条件以及内部循环体的排列顺序,以免造成死循环或者计算错误。

 这是我的学习进度统计图(蓝色代表代码行数,红色代表博客总字数/10)

 三.作业互评

1.作业1

2.作业2

3.作业3

posted @ 2018-11-30 17:48  WeiYukds  阅读(202)  评论(1编辑  收藏  举报