博客园第五次作业

1.实验代码(判断素数)

#include<stdio.h>
#include<math.h>
int main(void)

{
    int x,i,n,j;
    scanf("%d",&n);
    while(n--){
        scanf("%d",&x);
        j=1;
        for(i=2;i<=sqrt(x);i++){
            if(x%i==0){
                j=0;
                break;
            }
        }
            if(j==0||x==1)
            printf("No\n");
            else
            printf("Yes\n");
    }
    return 0;
}

2 设计思路

第一步:设置第一个循环,输入的n值控制循环次数用于输入需要判断得值。

第二步:在循环中设计判断素数的算法,主要用的循环,如果循环没执行完就跳出循环,则该数不为素数,否则则为素数。

(2)流程图

3.本题调试过程碰到问题及解决办法

出现问题:程序本身的设计思路并没有太大问题,问题出现在pta中给出运行超时。自己分析题目中的各个步骤,发现可能是循环的次数过多!应该有可以让内层循环判断素数时循环不那么多的办法。最后根据素数本身的特别之处考虑到对该数求根,只要改变循环控制变量中的i<=sqrt(x),在加入数学函数,该程序就不会运行超时了!

1.实验代码(交换最小值和最大值)

#include<stdio.h>
int main(void)
{
    int n,i,max,min,c,a[10],d,e;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    max=min=a[0];
    for(i=0;i<n;i++){
        if(a[i]<=min){
            min=a[i];
            c=i;
        }
    }
        d=a[0];
        a[0]=min;
        a[c]=d;
        for(i=0;i<n;i++){
            if(a[i]>=max){
                max=a[i];
                c=i;    
            }
        }
        e=max;
        a[c]=a[n-1];
        a[n-1]=e;
        for(i=0;i<n;i++)
        printf("%d ",a[i]);
        return 0;
    }

2 设计思路

第一步:考虑到该程序为一组数据,所以优先使用数组解决问题会更方便,首先设置循环给数组中的每个做赋值。

第二部:在不知道最大值与最小值的情况下,假设max与min作为下表都为0也就是数组中第一个为最大值和最小值,运用循环做判断,如果数组中下一个大于max则,记录下表,并把值赋值过去。同样的方法找到最大值和最小值。并记下最大值和最小值的下表。

第三部:根据找到的最大值和最小值和已经保存的下表进行位置调换即可。

(2)流程图

3.本题调试过程碰到问题及解决办法

错误分析:首先程序的基本思路我很清晰,觉得没什么问题,我把pta中给的数据运行程序,发现最小值做交换的时候,最小值的确时在a[0]的位置但是原来最小值的位置仍为原来的值,并且初始第一个值没有保留。导致该程序错误,没有达到位置互换的目的,在处理位置互换是忘记把a[0]原值做保存然后再赋值给交换过来的那个值。

二、总结和学习进度条

1、总结这几周所学内容、遇到的问题以及解决方法。

第十七周我们主要学习了二维数组,还有字符数组。在二维数组的学习中,我对于行列的交换还有各种行列间的关系掌握的不是很好,因为课上讲的比较快,自己也似懂非懂,大概只掌握了百分之七十。课下在对书上代码反复琢磨之后算是有了很大的提高,不是那种一头雾水了!对于字符数字接受起来比较简单,因为和一维数组差不多!除了字符数组中涉及字符串的特别之处,觉得很好掌握,没有什么难以理解的地方,关键还是熟练掌握,运用于自己的编程中去把!

2、点评3个同学的本周作业

楼哲作业评价    陈禹翰作业评价    王强的作业评价

3、请用表格和折线图呈现你这几周的代码行数和时间、博客字数和时间、涉及的知识点。

猜你喜欢

转载自www.cnblogs.com/wangxiao2018024023/p/10145343.html
今日推荐