一、PTA实验作业

题目1:

1.实验代码

int N,i;
  char sex;
  double MH,FH;
  scanf("%d\n",&N);
  for(i=1;i<=N;i++){
  	  scanf("%c\n",&sex);
    if(sex=='M'){
      scanf("%lf\n",&MH);
      FH=MH/1.09;
      printf("%.2f\n",FH);
    }
    if(sex=='F'){
      scanf("%lf\n",&FH);
      MH=FH*1.09;
      printf("%.2f\n",MH);
    }

2.设计思路

  • 1.定义性别,男女身高;
  • 2.输入用户数N;
  • 3.进入循环,分别按照性别输入身高,
  • 4.输出对应的身高

3.本题调试过程碰到问题及解决办法

问题:
开始的时候男女的关系式搞错,以至于调试出的结果完全不对,输出的格式也不符合题目
解决:重新看题之后更改关系式以及输出的格式。

4.本题PTA提交列表

题目2:

1.实验代码

  int a,n,s,i,m;
  scanf("%d %d",&a,&n);
  m=a;
  s=0;
  for(i=1;i<=n;i++){
    s=s+m;
    m=m*10+a;
  }
  printf("s = %d",s);

2.设计思路

  • 1定义变量 a,n,s,i,m
  • 2.令m和s的初值分别为a;0
  • 3.i=1开始循环s=s+m;m=m*10+a,i每次加一直至i<=n时跳出循环
  • 4.按照格式输出s=

3.本题调试过程碰到问题及解决办法

问题:循环部分对于a的不同个数的关系式写错
解决:调试时发现不等于所得的结果,重新思考关系式,重新调试。

4.本题PTA提交列表

题目3:

1.实验代码

int i,number,min,n;
  scanf("%d",&n);
  scanf("%d",&number);
  min=number;
  for(i=1;i<n;i++){
    scanf("%d",&number);
    if(min>number)
    min=number;
  }
  printf("min = %d",min);
  return 0;

2.设计思路

  • 1.定义变量i,number,min,n
  • 2.输入个数n和数字
  • 3.将第一个数字赋为最小值
  • 4.输入数字进入循环,将新输入的数字与min相比若新数字比min小,则min为新数字,依次输入所有数字并比较
  • 5.输出最小值

3.本题调试过程碰到问题及解决办法

没有问题

4.本题PTA提交列表

题目4:

1.实验代码

    int number,N,x,i;
    scanf("%d %d\n",&number,&N);
    scanf("%d\n",&x);
        i=1;
    while(i>=0){
      if(x<0){
            printf("Game Over\n");
            break;
        }
        else if(x>number){
            printf("Too big\n");
        }
        else if(x<number){
            printf("Too small\n");
        }
        else{
            if(i==1){
                printf("Bingo!\n");
                break;
            }
            else if(i>1&&i<=3){
                printf("Lucky You!\n");
                break;
            }
            else{
                printf("Good Guess!\n");
                break;
            }
        }
            i++;
            if(i>N){
                printf("Game Over\n");
                break;
            }
    scanf("%d\n",&x);

2.设计思路

  • 1.定义随机数number,次数N,所猜数x,所猜的次数i
  • 2.输入随机数number和次数N
  • 3.给i赋值为1
  • 4.当i大于等于0进入循环,若猜的数x小于0跳出并结束循环并输出Game Over
  • 5.当猜的数x大于随机数时输出Too big
  • 6.当猜的数x小于随机数时输出Too small
  • 7.当猜的数x等于随机数时输出"Bingo!
  • 8.当1<i<=3时输出Lucky You!
  • 9.当i>3时输出Good Guess!
  • 10.每猜一次i+1,当i>N时输出Game Over

3.本题调试过程碰到问题及解决办法



问题:调试过程中多次出现无法进行下一步,以及提前输出,输出不对应
解决:在if语句中加入break,重新更改代码,循环体里的内容不对以至于提前输出,更改循环体里的内容。

4.本题PTA提交列表

二、截图本周题目集的PTA最后排名。

PTA排名

三、本周学习总结

1.你学会了什么?

学会了for while do-while的循环语句,以及各种语句不同的适用条件,学会了各个语句的使用规则,学会了break和continue语句,学会了如何去分析一个循环结构,懂得如何判断循环的条件和循环的跳出以及进入。

2.本周的内容,你还不会什么?

break和continue的区别有些不太清楚,do-while语句使用较少,循环体中的赋值不能牢记,有时会忘了赋初值。通过本周的PTA习题训练,自己掌握了很多,但同时也发现了自身存在的诸多问题,比如说对于循环结构的判定不熟练,设计循环结构常出错,循环前初值忘记赋等等以及最致命的对于较长文字的题目缺乏分析能力。通过课后的习题来熟练循环结构的判定以及设计,并培养自己独自分析较难问题的能力

3.分支结构上机考试总结。

(1)哪些地方错了,为什么?

分段函数的函数调用记错,对switch语句的记忆十分模糊,字符型变量的定义忘了,整体而言对于基本语句 的记忆不牢固,平时太依赖课本啦,打代码离不开课本的样板.

(2)后续要怎么找程序错误?

使用调试来检查程序中难以发现的错误,对于一些繁琐的题目加上注释便于找错。

(3)对自己成绩满意么?不满意的话要怎么改进?

不满意。由于平时练习时对课本的过度依赖以至于考试时的立方最密懵逼,很多基础的语句记不牢固,应加强基础知识的记忆,并熟练运用,练习时不看课本,独自完成。

posted on 2017-11-02 21:52  aabbcc.czb  阅读(300)  评论(5编辑  收藏  举报