第一次博客作业

一.思维导图

二. 语法认识

1.if-else

if(条件){
执行语句
}
else{
执行语句
}   //else与最近的if配对

遇到的问题: 条件中判断值是否相等如x==0编成x=0;执行语句最后一条忘加“ ;”。

解决 :做pta中if-else题到下意识写完便检查的程度

2.switch

 switch(表达式){
     case 值1:
       //表达式的值和 值1匹配上了,执行代码;
       break;
     case 值2:
       //表达式的值和 值2匹配上了,执行代码;
     break;
     case 值3:
       //表达式的值和 值3匹配上了,执行代码;
     break;
     default:
       //若表达式的值和以上的case后面的值都没有匹配上,就执行这里的代码。
     break;
   }

3.for

for (表达式1;表达式2;表达式3){                  
//表达式1对循环变量赋值,表达式2为循环条件,表达式3为改变循环变量的值。
//表达式可以不写,for(;表达式2;)=while(表达式2)

}

遇到的问题: 一开始会在表达式3后加“;”

解决:用for时多留心,做些题来熟练

4.while

while(表达式){
循环体语句
}

5.do-while

do{
循环体语句
}
while(表达式)//会先做一次循环再判断

6.break以及continue

for (表达式1;表达式2;表达式3){  
if(表达式){
break;
           }
}
for (表达式1;表达式2;表达式3){  
if(表达式){
continue;
           }
}

break直接跳出循环,不再循环体中其他语句。continue跳过后面语句进行下一轮循环

遇到的问题:做题时有时想不到用它

解决:将书上列子对比,找出使用的条件

三.PTA分数截图

2.3、2.4作业:

第三章作业:

4.1作业:

四.PTA代码分析


思路:题目关键主要在于判断输入的数学符号为何,根据所输进行四则运算。
当时不知用if如何判断字符,所以用switch分支。

#include <stdio.h>
int main()
{
    int value1,value2;//定义变量
    char op;   //定义字符
    scanf("%d %c %d",&value1,&op,&value2);    //输入变量
    switch(op){                                        //判断字符
    case '%':printf("%d\n",value1 % value2);break; //输出结果
    case '/':printf("%d\n",value1 / value2);break;
    case '+': printf("%d\n", value1 + value2); break;
    case '-': printf("%d\n", value1 - value2); break;
    case '*': printf("%d\n", value1 * value2); break;
    default: printf("ERROR\n"); break;
}
    return 0;
}

错误:以为输入字符跟输入数字一样用%d;没在“ ”里的末尾加\n,答案错误。

收获:懂得char的使用,熟练了switch-case

思路:求阶乘和即算出一个阶乘便相加。定义一个求阶乘的函数,问题便成为将它们加起来。
之后用for循环循环所要加次数。

#include <stdio.h>
int fact (int x) {    //定义求阶乘的函数
    int i,sum1=1;
for (i=1;i<=x;i++){
    sum1=i*sum1;
}
return sum1;    //返回阶乘值
}
int main()
{
    int number,sum2=0;
    scanf("%d",&number);//输入循环的次数
    int i;
    for (i=1;i<=number;i++)
    {
        sum2=sum2+fact(i);        //将阶乘相加
    }
    printf("%d",sum2);        //输出结果
    return 0;
}

错误:对求阶乘和无思路;函数忘记返回值,输入循环次数时漏输入&

收获:懂得调用函数,熟悉函数使用

思路:首先要有一个列表让人们选择项目,于是用printf先输出选项。输入次数有限制,于是在输入外套一个for循环,循环次数为5.
而输入次数大于5或输入0时结束输入,这便是输入0时也跳出循环,于是用if判断是否为0,是便用break跳出。

#include <stdio.h>
int main()
{
    int x,i;
    double price;//定义价格
    printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");  //输出选项
    for (i=1;i<=5;i++){     //最多输入5次
        scanf("%d",&x);    //输入编号
        if (x==1){
            printf("price = 3.00\n");
        }
        else if(x==2){
            price = 2.50;
            }
            else if(x==3){
            price = 4.10;
            }
            else if(x==4){
            price = 10.20;
            }
            else  if(x==0){    //输入0时跳出循环
            break;
            }
            else price = 0.00;
    }
    printf("price = %.2f\n",price);    //输出价格
}

错误:忘记输出精确到两位小数;不知道输入0时如何跳出循环

收获:熟练了break的使用,知道如何连续输入数

posted @ 2019-10-13 14:20  陈-----  阅读(344)  评论(0编辑  收藏  举报