C语言——第十四、十五周作业

题目

题目一:交换最小值和最大值

1.实验代码

#include<stdio.h> 
int main() 
{ 
  const int N = 10;
    int i , n; 
    int a[N]; 
    int x , y;
    scanf("%d",&n); 
    for(i = 0 ; i < n ; i++) 
    { 
        scanf("%d",&a[i]); 
    } 
    x = a[0]; 
    y = 0; 
    for(i = 1 ; i < n ; i++) 
    { 
        if(x < a[i]) 
        { 
            x = a[i]; 
            y = i; 
        } 
    } 
    a[y] = a[n - 1]; 
    a[n-1] = x; 
    x = a[0]; 
    y = 0; 
    for(i = 1 ; i < n ; i++) 
    { 
        if(x > a[i]) 
        { 
            x = a[i]; 
            y = i; 
        } 
    } 
    a[y] = a[0]; 
    a[0] = x; 
    for(i = 0 ; i < n ; i++) 
        printf("%d ",a[i]); 
    printf("\n"); 
}

2.设计思路

①算法

第一步:定义变量,定义数组。

第二步:循环输入数组。

第三步:使用循环结构比较数组中所有数的最小值,并将其储存在一个变量中,然后将最小值与第一个数交换;然后同样使用循环结构比较数组中所有数的最大值,并将其储存在另一个变量中,然后将最大值与最后一个数交换。

第四步:输出交换后的序列。

②流程图

 

 

 

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

截图

本题错误是读题不够认真导致的。我错误地理解了题目意思,导致多次修改总是存在测试点错误情况,通过询问同学才明白错误原因,下次做题前一定会认真审题,不再犯类似的错误。

题目二:判断上三角矩阵

1.实验代码

#include<stdio.h>
int main ()
{
    const int N = 10;
    int a[N][N];
    int n , m , k , i , j , flag;
    scanf("%d",&n);
    for(k=1 ; k<=n ; k++)
    {
        scanf("%d",&m);
        for(i=0 ; i<m ; i++)
        {
            for(j=0 ; j<m ; j++)
            {
                scanf("%d",&a[i][j]);
            }
        }
        flag=1;
        for(i=0 ; i<m ; i++)
        {
            for(j=0 ; j<m ; j++)
            {
                if(i>j && a[i][j]!=0)
                {
                    flag = -1;
                }
            }
        }
            if(flag == -1)
            {
                printf("NO\n");
            }
            else if(flag == 1)
            {
                printf("YES\n");
            }
    }
    return 0;
}

2.设计思路

①算法

第一步:定义变量,定义数组。

第二步:输入所需值,循环输入数组。

第三步:通过循环结构判断矩阵下三角的数值是否未0(通过定义的flag值判断),由于可能存在多个矩阵,同一个矩阵的输入输出在同一个循环结构中。

第四步:若flag值未初始值,输出YES;否则,输出NO。

②流程图

 

 

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

截图

本题并未找到题目错误原因,由于长时间没有进展,改换了另外一种思路,答案成功通过测试。

 

我的git地址:https://git.coding.net/dx200798/fourteen-fifteen.git

项目截图

 

个人总结

本周学习内容:

本周练习了一维数组,学习练习了二维数组,简单学习了字符数组。

疑点难点:

对数组的应用不够熟练,对字符串的应用非常不熟练。

互评和学习进度

互评链接

链接1:http://www.cnblogs.com/fengzx/p/7955263.html

 

 

链接2:http://www.cnblogs.com/exo123/p/7954060.html

 

 

链接3:http://www.cnblogs.com/lixiaojing/p/7878001.html

 

 

图表

 

 

 

 

posted on 2017-12-04 00:18  luuuuu  阅读(267)  评论(4编辑  收藏  举报