C语言博客作业–一二维数组

一样、PTA实验作业

题材1:7-2 求整数系列中出现次数最多的累累

1. 核心PTA提交列表

图片 1

2. 企划思路

定义变量n表示输入整数个数,count表示每个数出现次数,i、j表示循环变量,k表示次数最多的数的下标,max表示出现最多次数;定义数组num[1000]存放输入的整数;
初始化 count=0,k=0,max=1;
输入数字并存放在数组中;
for i=0 to i=i-1   //遍历数组,算出每一个数出现次数,并把出现最多的次数赋给max
    count=0;
    for j=0 to j=n-1
            如果num[i]==num[j]
                count++
    end for j
    若count大于等于max
        若count等于max,k为0,max等于count
        若count大于max,k自增1,max等于count
end for i
输出num[k]和max

3.代码截图

图片 2

4.主题调试过程碰到问题及PTA提交列表情况讲明。

  • 问题1:答案有对
    图片 3

题目2:7-4 简化的插入排序

1. 核心PTA提交列表

图片 4

2. 设计思路

定义变量n表示输入整数个数,i、j表示循环变量、flag表示中间替代量;
输入n;
若输入的n符合题目条件
    定义数组num[n+1];
    输入排序好的数据和要插入的数
    for j=0 to j=n
        若num[j]>=num[n],num[j]和num[n]互换
    end for j
输出num[i]

3.代码截图

图片 5

4.核心调试过程碰着问题及PTA提交列表情形表明。

  • 问题1:答案有对
    图片 6

题目3:7-11 二分查找法

1. 要旨PTA提交列表

图片 7

2. 统筹思路

定义变量key表示要查找的数,min表示最小下标,max表示最大下标,mid表示中间下标
定义整型数组a[10]={1,2,3,4,5,6,7,8,9,10}
初始化变量  max=9,min=0
输入key
若key>10,输出“not  found”
若key==a[max],输出 max
若key<10
    while(max>=min)//二分查找法
        mid=(max+mid)/2
        若key等于a[mid],输出 mid
        若key>a[mid],min=mid
        若key<a[mid],max=mid
end  

3.代码截图

图片 8

4.大旨调试过程碰着问题及PTA提交列表情况声明。

  • 问题1:答案有对
    图片 9
    测试输入数据15暨10,发现先后都运行无闹结果,测试输入9,程序可以运行
    自我批评代码发现自己忘记了输入数据不在屡次组被之景观
    错误代码:
    图片 10

改后代码:

图片 11

其次、截图本周题目集的PTA最终排行。

PTA排名

图片 12

老三、同学代码结对互评

1.互评同学名称

2.自己之代码、互评同学代码截图

3.本身和同学代码不同于哪?有如何各自优势?你又爱哪个种类代码风格?如若同学代码来错的吧请接济提出来啥地方来题目。

留意:第3码是评分重点,一定假若发出针对说发问题,别都说好话,请专业去说他代码来哪优势、哪些劣势。

季、本周求学统计

1.而学会了哟?

1.1 C中哪存储字符串?

C语言中凡绝非特别为此来存储字符串的数据类型的,因而字符串只好为积存于字符数组中。平时用同维字符数组存储字符串,每个数组单元存储一个字符,以‘\0’表示字符串的完结。

1.2 字符串的收尾标志是呀,为啥而结标志?

字符串的利落标志是‘\0’。假设没有终结标志,在出口字符数组时,会输出一些随机的勤,会促成程序结果错误

1.3 字符串输入有哇几栽方法?

1、while((ch=getchar())!=0)
2、gets(s);
3、scanf(“%s”,s);

1.4 数字字符怎么转整数,写单伪代码?

定义整数变量integer、i,字符数组ch[10];
scanf("%s", ch);//输入数字字符
integer=0;
for(i=0; ch[i]; i++)
    若ch[i]>=0&&ch[i]<=9
        integer=integer*10+(a[i]-'0')
end for i
输出integer

1.5 16进制、二迈入制字符串怎样转移10进制?写伪代码?

十六上前制转10进制

次进制转十进制

2.本周的情节,你还非汇合什么?

详细罗列不知道地点,包括课堂派错题、PTA错题。

3.期中考试小结

3.1 你道为何没有考试好?

从未试好因:

1、考前没有认真复习;
2、没有系统记住知识,做了便过,平日最好过火倚重Dev,做题目也远非工夫范围;
3、语法基础不太朴实,阅读程序能力非常死

3.2 罗列错题

错题1(选择题):

14、如下程序段的运行结果是___。

    #include <stdio.h>
    int main()
    {
        int  a=5, b=4, c=3, d=2;
        if(a>b>c)    printf("%d\n", d);
        else if((c-1>=d)==1)    printf("%d\n", d+1);
        else  printf("%d\n", d+2);
        return 0;
    }

A、2 B、3 C、4 D、5

自之错选:A。
错选原因:忽略了关乎运算符在C语言中的用法及与于数学中之用法是无平等的,误以为
if(a>b>c)这样描写的意是通常的a>b>c的意思,其实不是。在电脑中对发挥a>b>c关系式的写法应是a>b&&b>c。
然答案:B。(c-1>=d)的精打细算结果也1,进入次个支行社团。

错题2(填空题):

4、
图片 13

#include <stdio.h>
#include <math.h>  
int main()
{
    double sum=0,pi,t;
    int i=1;
    do{
        t=【9】;
        sum=sum+t;
        i++;
    }while(【10】);
    pi=sqrt(6*sum);
    printf("pi=%.10lf,n=%d\n", pi, i);
    return 0;
}x
]  

自家之错填:
【9】1/pow(i,2) 【10】i>=15
错填原因:【9】里之1该写成1.0之,因为在C语言中整数除为平头得勤也是整数。
不错答案:
【9】1.0/(i*i) 【10】t>=pow(10,-15)

错题3(改错题):

图片 14
图片 15

自己的错答:
图片 16

错答原因:没有把好考试时,导致前面没有工夫,阅读程序能力弱

对答案:

图片 17

错题4(编程题):

图片 18
图片 19

我的错答:
图片 20
图片 21
图片 22

错答原因:前边没有控制好时,前边时间不够。也从没仔细审题,写题思路不清晰,板书很乱,代码上吧远非注释,导致即便写得几近,但是得分很没有

对答案:
图片 23
图片 24
图片 25
图片 26

3.3 下半学期借使怎么调C的学习?

通过期中考试,发现自己基础并无踏实,编程时之思路也非清,在平时形容作业的下太过于看重编程器,一到要在张上描绘程序即便大,阅读程序的力量呢比较弱。下半学期底C语言会重新抽象些,打算顺服老师的指出,在差不多扣开巩固基础知识的还要尝试自己写,假设思路非凡混乱自己写不出去,就失探望其余同学的赏心悦目代码,扩充代码阅读量。我意识自己挺不擅归结总计,不呢便于做总结,这是独雅要命的害处,平日会招致做了之书写回来再举行就是不相会了之景,在下半学期假设力争战胜这些毛病,做到系统地上学及习。