博客园作业1

一、思维导图

 

 二、c语言语法

1.if-else语句

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

注意事项:else总与离它最近的if相关联,也可以采用多个else-if进行多个条件的判断。

2.switch case语句

switch(表达式){
      case 常量表达式1: 语句段1;break;
      .......
      case 常量表达式n: 语句段n;break;
      default :    语句段n+1;break;
}

注意事项:只要符合表达式就走下面的语句,遇到break时跳出循环。如果没有一个case可执行就会执行default,执行完就退出。

3、for语句

for(语句1;语句2;语句3){
     循环语句
}

注意事项:知道循环次数时for比较好用,语句1是变量的赋值,语句2用于判断变量是否可执行,语句三是最后对变量再赋值。

4、while语句

while(语句){
    循环语句
}

注意事项:当语句判断为真时执行循环语句,判断为假时跳出循环。

5、do-while语句

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

注意事项:该语句的特点是必须执行一次,完了后再判断表达式,真则继续循环,假则退出循环。

6、break continue语句

注意事项:循环语句中遇到break会跳出循环。普通语句中遇到continue会跳过该语句执行后一条语句,但在for循环中会跳出这次循环,执行语句3后,判断再进入下一次循环。

三、PTA分数截图

2.3;2.4作业

 第三章作业

 

 4.1作业

 

 

 四、PTA题目分析

1.

 

 

#include <stdio.h>
int main(){
    int i,n;
    double sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        sum=sum+1.0/i;
    }
    printf("sum = %.6f",sum);
    return 0;
}

思路:运用for循环,执行n次循环。

错误原因:把1.0/i写成1/i,因为1和i都是整形所以结果是0,因此得到错误答案。

收获:当看到整型除整型时,要注意题目的要求,避免得到错误答案。

2.

 

 

#include <stdio.h>
int main(){
    char a;
    int letter=0,blank=0,digit=0,other=0;
    for(int i=1;i<=10;i++){
        a=getchar();
        if(a>='0'&&a<='9'){
            digit++;
        }else if(a==' '||a=='\n'){
            blank++;
        }else if((a>='A'&&a<='Z')||(a>='a'&&a<='z')){
            letter++;
        }else{
            other++;
        }
    }
    printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
    return 0;
}

思路:结合for循环语句和多个else if判断语句,并熟练使用&&和||逻辑运算符。

错误原因:变量没有初始化,字母和数字忘记加单引号,对逻辑运算符&&和||的掌握不熟悉。

收获:写程序时要在大脑中先把大概框架构思出来,要熟练掌握&&和||运算符。

3.

 

 

 

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

思路:通过for循环计算出该数的位数,通过结合%和/分离各个位数。

错误原因:没有熟练使用%和/,导致错误。

收获:理清思路,学会使用%和/分离各个位数。

posted @ 2019-10-15 18:31  123yj  阅读(144)  评论(0编辑  收藏  举报