第一次作业

一.思维导图

二.if-else;switch;for;while;do-while;
1.if_else语句 :

if(条件1)
{
语句1;
}
else
{
语句2;
}

遇到的问题:1.if后忘加{}2.对于多个if-else语句,else属于哪个if不确定。

解决方法:在编译器中运行代码,养成在if后添加{}的习惯。

2.switch语句

switch(常量)
{
case 表达式: 语句;break;
case 表达式: 语句;break;
…
case 表达式: 语句;break;
default: 语句;

}

遇到的问题:在case后忘加break,导致程序跳不出循环。

解决方法:注意在每个case语句后添加break。

3.for语句:

for(表达式1; 表达式2; 表达式3)
{
语句
}

遇到的问题:由于代码错误或过于冗长,导致程序运行超时或答案错误。

解决方法:先在纸上写下该流程,计算无误后在输入。

4.do-while语句:

do{表达式1;
   表达式2;
   ...

}while(条件)

遇到的问题:分不清与while的区别,使用错误。

解决方法:记住do-while与while的区别:do-while至少会循环一次。

5.while语句:

while(条件){
             表达式1;
             表达式2;
             ...
             }

遇到的问题:与for语句弄混淆。

解决方法:铭记while的句式。

6.break以及continue 使用方法:

switch(表达式)
{
case 表达式: 语句;break;
…
case 表达式: 语句;break;
default: 语句;

}

for(表达式1; 表达式2; 表达式3)
{
语句1;
continue;
语句2;

}

注意事项:break用于跳出循环;continue用于跳过continue之后的语句,进入下一次循环。

三.pta分数
2.3,2.4作业

第3章作业

4.1作业

四.pta题目分析
1.

代码:

#include<stdio.h>
#include<math.h>//调用数学函数
int main()
{
    int n,i;//定义变量
    double s;
    scanf("%d",&n);//输入变量
    if(n>0){
            for(i=0;i<=n;i++){
               s=pow(3,i);
               printf("pow(3,%d) = %.0f\n",i,s);
               }//通过循环来实现乘方表
           }
    else if(n==0){
            printf("pow(3,0) = 1");
            }//特殊情况
        return 0;
}

注.思路在代码中
收获:需输入调用实现函数的指示,可利用循环来生成乘方表。
2.

代码:

#include<stdio.h>
#include<math.h>//调用数学函数
int main()
{
     int a,b,c;//定义变量
     double area,perimeter,s;
     scanf("%d %d %d",&a,&b,&c);  //输入变量
     if(a+b>c&&a+c>b&&b+c>a){     //判断是否可构成三角形
                  s=1.0(a+b+c)/2;
                  area=sqrt (s(s-a)(s-b)(s-c));     //输入公式
                  perimeter=a+b+c;
                  printf("area = %.2f; perimeter = %.2f",area,perimeter);
                            }
     else{
     printf("These sides do not correspond to a valid triangle\n");
         }
     return 0;
}

注.思路在代码中
收获:要注意if条件的完整性,注意题目的要求来保留小数位。

3.

代码:

#include <stdio.h>
int main(){
int n, count, sum;//定义变量
    sum = 0;
    count = 0;
    scanf("%d", &n);//输入一个整数
while(n!=0){
count++;
sum += n%10;//通过除商取余来统计整数位数及每个位数之和
n /= 10;
}
printf("%d %d\n", count, sum);
return 0;
}

注.思路在代码中
收获:可通过除商取余数的方法来统计一个数的位数。

posted @ 2019-10-13 14:10  201921123081王永滨  阅读(89)  评论(0编辑  收藏  举报