2018上IEC计算机高级语言(C)作业 第3次作业


一、例程调试(20分)

调试下面2个例程,各位同学调试用自己的学号模3(即除以3取余数)加1序号及该序号乘以2的题。写明调试过程,如错误现象(如给定输入数据,但输出未实现预计功能),编译错误(截小图)提示等,写明调试修改过程(10分); 说明:有可能没有错误提示,但未达到预计功能。题目来源为“ C语言程序设计实验与习题指导(第3版)调试源程序”中error07_1~6;利用Autoflowchart软件查看程序的流程图,将流程图导成word格式,加入必要的文字说明,并说明该程序的功能(10分)

2.

#include <stdio.h>

int main(void)

{

    int i, x, n;

    int a[10];

 

    printf("输入数组元素的个数:");

    scanf("%d", &n);

    printf("输入数组%d个元素:", n);

    for(= 0; i < n; i++)

        scanf("%d", a[i]);

    printf( "输入x:" );   

    scanf("%d", &x);

    for(= 0; i < n; i++) 

        if(a[i] != x)  break;

    if(!= n)

        printf( "没有找到与%d相等的元素!\n", x);

    else

        printf( "和%d相同的数组元素是a[%d] = %d\n", x, i, a[i]);

 

    return 0;

}

更改后:

#include<stdio.h>

 

int main(void)

{

int N,X;

printf("输入数组个数:");

scanf("%d",&N);

printf("输入判断元素:");

  scanf("%d",&X);

  int i;

  i=N;

  int num[i];

  for(i=0;i<N;i++)

  {

    scanf("%d",&num[i]);

  }

  for(i=0;i<N;i++)

  {

    if(num[i]==X)

    {

      printf("和%d相同的数组元素是num[%d] = %d\n", X, i, num[i]);

      return 0;

    }

  }

  printf("没有找到与%d相等的元素!\n");

 

  return 0;

}

 

二、Pta作业 计算机高级语言(C)_第6次作业_数组1   (20分)

三、Pta作业 计算机高级语言(C)_第6次作业_数组2  (20分)

四、Pta作业 算机高级语言(C)_第6次作业_数组3二维数组+字符数组 (10分)

五、数组知识点自测(每一项均写一个例程,并附测试数据及测试结果) (30分)

5.1读入若干整数,找出最大值,最小值及位于数组的位置;

5.2 读入若干整数,输入要查找的整数X,输出X第一个位置或not found;

#include<stdio.h>

int main()

{

int arr[10] = {0};

int i = 0;

int max = 0;

int min = 0;

printf("请输入10个整数:");

for (i = 0; i < sizeof(arr)/ sizeof(arr[0]); i++)

{

scanf("%d",&arr[i]);

}

max = arr[0];

for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)

{

if (max < arr[i])

{

max = arr[i];

}

}

min = arr[0];

for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)

{

if (min > arr[i])

{

min = arr[i];

}

}

printf("max=%d\n", max);

printf("min=%d\n", min);

return 0;

}

2. 5.2 读入若干整数,输入要查找的整数X,输出X第一个位置或not found;

#include <stdio.h>

int main(void)

{

   int i, n, res, x;

   int a[10];

  

     

   n=10;

   for(i = 0; i < n; i++)

       scanf("%d", &a[i]);

   scanf("%d", &x);

  

   res = search(a, n, x);

  

   if(res != -1)

        printf("index = %d\n", res);

     else

        printf("Not found\n");

   }

   

        return 0;

}

3. 5.3 交换排序(降序);

#include<stdio.h>

 

#define N 10

int t;

int main()

{

    int a[N] = {90,80};

    int i,j,k;

    for(j = 0;j<=N-1;j++)

    {

         for(i=0;i<=N-j-1;i++)

         {

             if(a[i]<=a[i+1])

             {

                 k = a[i];

                 a[i]=a[i+1];

                 a[i+1] = k;

                 t = t+1;

             }

         }

    }  

    return 0;

}

 

 

4. 选择法排序

#include<stdio.h>

 

int main(void)

{

  int i,j,t;

  int min;

  int num[10];

  for(i=0;i<10;i++)

  {

    scanf("%d",&num[i]);

  }

  for(i=0;i<3;i++)

  {

       min=i;

       for(j=i+1;j<=10;j++)

       {

              if(num[min]>num[j]){

                     min=j;

                }

       }

       t=num[i];

       num[i]=num[min];

       num[min]=t;

  }

  for(i=0;i<10;i++)

  {

       printf("%5d",num[i]);

  }

 

  return 0;

}

 

5.5 二维数组编程;读入一个整形二维数组,找出最小值及位置,求各行数据的和 ;

#include<stdio.h>

 

int main()

{

  int m;

  int n;

  scanf("%d %d",&m,&n);

  int arr[m][n];

  int a,b;

  for(a=0;a<m;a++)

  {

    for(b=0;b<n;b++)

    {

      scanf("%d",&arr[a][b]);

    }

   

  }

  int sum = 0;

  for(a=0;a<m;a++)

  {

    for(b=0;b<n;b++)

    {

      sum=sum+arr[a][b];

    }

    printf("%d\n",sum);

    sum=0;

  }

 

 

  return 0;

}

 

 

5.6 读入一个字符串,直到遇到#为止,将字符中大小字符转为小写,小写字符转为大写。

 

#include<stdio.h>

 

int main(void)

{

       char arr[30];

       int i;

       for(i=0;arr[i-1]!='#';i++)

       {

              scanf("%c",&arr[i]);

       }

       for(i=0;arr[i]!='#';i++)

       {

              if(islower(arr[i]))

              {

                     arr[i]=toupper(arr[i]);

              }

              else

              {

                     arr[i]=tolower(arr[i]);

              }

              printf("%c",arr[i]);

       }

      

       return 0;

}

 

 

六、持续改进学习方法、措施落实情况(10分)

本周由于上党课没有时间练习

 

posted @ 2018-05-31 08:48  桎栩  阅读(215)  评论(0编辑  收藏  举报