c作业

 

 二、1

if else:

if(表达式)
{
语句1;
}
else
{
 语句2;
}

 

 如果表达式为真,执行语句1;

如果表达式为假,执行语句2。

if和else后面不能加;否则将输出空语句。

2.switch

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

如果表达式的值与常量表达式的值相等,执行该表达式后相应语句。

如果表达式的值与常量表达式的值都不相等,执行default后的语句段n+1;

所有常量表达式的值都不能相等;

3.for语句

for(表达式1;表达式2;表达式3)
循环体语句;

先计算表达式1;再判断表达式2,如果表达式2为真,执行循环体语句,然后计算表达式3,然后判断表达式2;若表达式2为真,继续循环,

如果该表达式为假,结束循环,执行for的下一条语句。

循环体语句可以是复合语句;

可以用break来强制结束循环。

4.while

while(表达式)
循环体语句;

当表达式为真,执行循环;当表达式为假,结束循环。

可用break来强制结束循环。

5.do while

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

先进行一次循环,然后判断while表达式

若表达式为真,继续循环,

若表达式为假,终止循环。

6.break和continue

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

break直接终止循环,continue只是跳过语句继续循环。

 

 

三.pta分数截图

 

 第三章

 

 4.1作业

 

 四。pta代码分析

 

 

#include<stdio.h>
int main() {
    int m, n, number;
    int sushu, i,sum;

    scanf("%d %d", &m, &n);
    sushu = 0;
        sum = 0;
    for (number = m; number <= n; number++) {
        for (i = 2; i <= number / 2; i++) 
            if (number%i == 0)
                break;
        if (i > number / 2 && number != 1) {
            sushu++;
            sum = sum + number;
        }
    }printf("%d %d", sushu, sum);
        return 0;
}

1.代码思路:用循环镶套对每个数是不是素数进行分析。

2.错误原因:没有用镶嵌镶套,结果没有用sum表示,意识错乱。

 3。心得:写代码命名要规范,这样才能减少意识错乱。

题2

 

 

#include<stdio.h>

int main(){
    int a,n;
    scanf("%d %d",&a,&n);
    while(a>9||n>9){
        scanf("%d %d",&a,&n);
    }
    int s=0,l=a;
    for(int i=1;i<=n;i++){
        s+=a;
        a=l+a*10;
    }
    printf("s = %d",s);
    return 0;
}

代码思路:对a进行计算得到aa;

错误原因:没想到aa可以这样表示;不知道while和for循环可以这样连用

心得:对代码计算有新的思想。

题三

 

 

 

#include <stdio.h>


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

思路:要对猜的数大小进行规划,对猜的数进行guess<0,guess>num,guess<num,guess=num,分别分析合理应用while和if -else语句构建函数结构。

错误原因:题目需要分类太多,很容易出现错误。

心得:写代码容不得小差错,否则一整道题都错。

 

posted @ 2019-10-15 17:35  茅志雄  阅读(190)  评论(0编辑  收藏  举报