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


    一、PTA实验作业

    题目1:7-5 数组循环左移

    1.本题PTA提交列表

    2.设计思路

    定义变量a[100]存放整数,整数n,整数m,change作为交换数组的媒介,j,i作为循环的变量
         输入整数n,m
         for(i=0;i<n;i++)
           for(j=0;j<n;j++)
           利用change将a[i]与a[i-1]进行m次交换 
           change=a[i];
           a[i]=a[i-1];
           a[i-1]=change;
         for(i=0;i<n-1;i++)  
         依次输出a[0]到a[i-1]
         printf("%d",a[n-1]
        当i=n输出 不带空格的数 
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    1.最后一位带空格导致格式错误,将输出分为2部分,第一部分输出至a[i-1]第二部分输出不带空格的a[i]

    题目2:7-8 加法口诀表

    1.本题PTA提交列表

    2.设计思路

    定义整形变量i j,repeat操作次数,n输出的加法表大小,a[10][10]存放数据
       输入repeat操作次数
       for(int k=1;k<=repeat;k++)进行repeat次运行
          输入n
    	  令n++
    	    for(i=0;i<n;i++)
    		for(j=0;j<n;j++) 计算i行j列的数值a[i][j]=j+i;
    
       for(j=0;j<n;j++) 
       i=0初始化
       	    if(i==0&&j==0)
    	    printf("%-4c", '+');输出加号
    	   否则输出printf("%-4d",a[i][j]) 
    	    for(i=0;i<n;i++)
    		for(j=0;j<n;j++)
    		输出各行各列的数值 				
    		if(j==i)
    		   {printf("%d
    ",a[i][j]);换行
    		   否则printf("%-4d",a[i][j]);继续输出 
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    1.未及时换行导致输出错误
    2.没有输出下三角而是输出方形,修改了for语句i的终止大小得以改正

    题目3:7-10 杨辉三角

    1.本题PTA提交列表

    2.设计思路

    定义变量n表示三角形的规格,a[10][10]为矩阵各个位置的数,i,j代表行列,k代表边缘的数值
        输入n
    	定义a[0][0]以及a[1][1]a[1][1]为1
    		for(k=0;k<n;k++)
    		a[k][0]=1;
    		a[k][k]=1;定义三角形边缘的数值为1
    	    for(i=2;i<n;i++)
    	    for(j=1;j<i;j++)
            a[i][j]=a[i-1][j-1]+a[i-1][j];计算三角形内部的数值为上面2数的和
    	    for(i=0;i<n;i++)
    	    for(j=0;j<=i;j++)输出下三角型的杨辉三角
    		printf("%4d",a[i][j]) 
    		printf("
    ");换行 
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明

    1.各个数字间为留空格,用%4d来输出空格
    2.未换行导致格式错误

    二、截图本周题目集的PTA最后排名。

    PTA排名

    三、同学代码结对互评

    1.互评同学名称

    吴俊霖

    2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。)

    我的代码


    吴某的代码

    3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

    他的代码省略了大括号等看起来更加简短,我的没有把括号省略但是看的明白,他将定义变量直接设置在for语句中,整段代码非常简洁

    四、本周学习总结

    1.你学会了什么?

    1.定义字符数组
    2.字符数组需用结束

    1.1 C中如何存储字符串?

    1.采用字符型数组存储字符串。

    1.2 字符串的结束标志是什么,为什么要结束标志?

    1.结束标志:
    2.没有结束标志数组不知道从哪里结束可能会导致数组越界

    1.3 字符串输入有哪几种方法?

    1.使用gets()直接吸收整个字符串
    2.while((str[i]=getchar())!=‘ ’)以回车结束输入
    3.scanf(''%s'',s)遇到某些符号会停止读取

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

    定义字符变量char a,整型变量number
    输入数字字符a %s
    number=c-‘0’
    输出number %d

    1.5 16进制、二进制字符串如何转10进制?写伪代码?

    16进制:
    定义字符数组a[100]存储16进制字符串,ten为转化后结果
    ten=0
    for i=0 to a[i]==''
    if a[i] 为字符0-9,ten=pow(16,i)(a[i]-'0')+ten
    if a[i]为'a'到'f' , ten=pow(16,i)
    (a[i]-'a')+ten
    if a[i]为'A'到'F‘,ten=pow(16,i)*(a[i]-'A')+ten
    输出ten

    2进制
    定义字符数组a[100]存储2进制字符串,two为转化后结果
    two=0
    for i=0 to a[i]==''
    if a[i]为字符1,two=two+pow(2,i)
    输出two

    2.本周的内容,你还不会什么?

    代码的阅读能力不够强
    函数与数组运用不熟

    3.期中考试小结

    选择题时间太多,代码手写花时间也长,还有填空题顺序写错

    3.1 你认为为什么没考好?

    在 选择题用时间有点多,,粗心将填空题的答案填错空位丢了6分
    后面的编程题时间不足

    3.2 罗列错题。

    1.选择题的16题,y=3其实就代表1,误用为y==3,因此此题循环2条件可以直接看作x<4
    2.填空第7题,应该是ch=getchar()漏掉了括号,因此失分。
    3.改错第1题中的&a &b错误没有发现,补上&
    4.编程题第1题,无注释,排序乱,字迹潦草,导致失分

    3.3 下半学期要怎么调整C的学习?

    多阅读代码提高能力
    多试试看手写代码提高效率

  • 相关阅读:
    魔术球问题
    【模板】网络最大流
    [SCOI2010]股票交易
    [SCOI2009]生日礼物
    [HAOI2007]修筑绿化带
    [HAOI2007]理想的正方形
    [USACO12MAR]花盆Flowerpot
    滑动窗口
    斐波那契公约数
    [SDOI2008]仪仗队
  • 原文地址:https://www.cnblogs.com/chenwenjie/p/7957352.html
Copyright © 2020-2023  润新知