第一次作业

一. 制作思维导图

二. 写出自己对以下语法的认识

1.if-else

if(条件表达式){语句组1}
else{语句组2}//else与最近的if配对

注意点if条件后面无 ;

2.switch

switch(表达式)
{
case 值1: 语句体1;break;
case 值2: 语句体2;break;
                 ...
default:break;                                                                            
}

注意break,如果没加break则会去运行switch中后续的语句,比如运行到后续别的case中。

3.for

for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}

使用 for语句的过程中,要注意循环的起始值
注意是;不是,号!!!

4.while

while (表达式)//满足条件时进入循环
{
        语句;
}

5.do-while

do {需执行的代码 } 
while (条件);

与while的区别 do...while 循环为执行至少一遍其中的代码

6.break以及continue

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

三. pta分数截图

2.3, 2.4

第3章作业

4.1作业

四. pta代码分析

一.

#include <stdio.h>
 
int main()
{
    int a,n;
    double item=0;
    double sum=0;
    scanf("%d %d",&a,&n);
    for(int i=1;i<=n;i++){
        item=item*10+a;
        sum+=item;
    }
 
    printf("s = %.lf\n",sum);
    return 0;
}

1.代码思路

找出每个数字的值,再使它们相加,便可以得到最后的和。

2.错误原因

没想到怎么用循环表示每个数字的值。

3.感受

对循环有了更深的理解。

二.

#include<stdio.h>
#include<math.h>
int main()
{
	int a = 1, b = 1;
	double item = 1, eps, sum = 0;
	scanf("%lf", &eps);
	if (eps > item) sum = 1;
	else {

		do {
			item = b * 1.0 / a;
			sum += item;
			b *= -1;
			a += 3;
		} while (fabs(item) > eps);

	}
	printf("sum = %.6f", sum);
	return 0;
}

1.代码思路

首先判断精度是否大于1,若为1,则直接输出结果1,若不为1,则使用循环语句,来求出结果。

2.错误原因

一开始用while写结果少进行了一次循环,结果一直不错,也没有用到fabs()来取绝对值。

3.感受

体会到while与do while循环的差别,学到了fabs()来取绝对值。

三.

#include <stdio.h>  
#include <math.h>
int main()
{
	int m, n, i;
	int x = 0, num = 0;
	int sum = 0;
	scanf("%d %d", &m, &n);
	for (i = m;i <= n;i++) {
		for (m = 1;m < i;m++)
		{
			if (i % m != 0)
				x++;
		}
		if (x == i - 2)
		{
			sum = sum + i;
			num++;
		}
		x = 0;
	}
	printf("%d %d", num, sum);
	return 0;
}

1.代码思路

输入一个数,让它不断的除于从1开始的整数至它本身,若余数不为0,则x加1,因为素数的因子只有1和本身,如果最后x=这个数减2,那么它就是素数,再把素数加起来就可以求出结果。

2.错误原因

不知道如何判定素数,参考网上的素数判断后,再次作答未在循环后加x=0,导致错误

3.感受

要注意循环后使判断的符号复位,多积累一些常用数域的表示方法。

posted @ 2019-10-13 21:40  宋林涛  阅读(167)  评论(0编辑  收藏  举报