PTA数组作业

Posted scofieldying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA数组作业相关的知识,希望对你有一定的参考价值。

7-2  求最大值及其下标

1.题目

技术分享图片

提交结果

技术分享图片

2.设计思路

定义变量,输入数组,给max maxlab定义初始值

循环比较前后数值,最后输出

3.流程图

技术分享图片

代码如下

#include<stdio.h>
 int main(){
    int a[100],i,n,max,maxlab,lab=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    max=a[lab];
    maxlab=lab;
    for(i=0;i<n;i++){
       if(a[i]>max){
               max=a[i];
               maxlab=i;
       }
        
    }
    printf("%d %d",max,maxlab);
    return 0;
} 

4.答案结果

技术分享图片

 

题目二:7-3

1.题目

技术分享图片

2.提交列表

技术分享图片

3.设计思路(流程图)

定义子函数,输入n,循环输入数组,执行子函数,循环输出结果,判断下标是否为最大,再按条件输出

子函数(执行循环,每循环一次交换a[i]  a[n-1-i])

流程图

技术分享图片

代码如下

#include<stdio.h>
void exchange(int a[],int n)
{
    int i,t;

        for(i=0;i<n/2;i++){
         t=a[i];
        a[i]=a[n-1-i];
        a[n-1-i]=t;}
        }

int main(){
    int a[100],n,i;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    } 
    exchange(a,n);
    for(i=0;i<n;i++){
      if(i==n-1){
            printf("%d",a[i]);}
            else{
            printf("%d ",a[i]);
              
            }
    
    }
    
    return 0;
    
}

4.提交答案

技术分享图片

题目三:7-4 查找整数

1.题目

本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。

输入格式:

输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。

 

输出格式:

在一行中输出X的位置,或者“Not Found”。

2.提交结果

技术分享图片

2.设计思路

定义变量,输入N,x,循环输入数组,在数组中寻找与X相等的数并输出,里flag=0,最后判定是否找到。

流程图

技术分享图片

代码如下

#include<stdio.h>
int main()
{
int i,X,N,flag=1;
scanf("%d",&N);
scanf("%d",&X);
int a[N];
for(i=0;i<N;i++){
scanf("%d",&a[i]);

if(a[i]==X){
printf("%d",i);
flag=0;
}
}
if(flag==1)
printf("Not Found\\n");


return 0;
}

4.答案结果

技术分享图片

四、同学互评

同学代码

技术分享图片

我的代码

技术分享图片

3..我和同学的代码有哪些不同?各自有哪些优势?你更喜欢那种代码的风格?

 与他相比,我的代码更简洁,少了一个子函数,他的代码更通俗易懂,我的选择是最简洁的代码。

四、本周学习总结

  1.本周你学会了什么?

      数组循环输出,子函数的调用,以及循环选择嵌套。

 





















以上是关于PTA数组作业的主要内容,如果未能解决你的问题,请参考以下文章

C博客作业--指针

PTA实验作业(数组)

C博客作业--指针

PTA实验作业(结构体)

第四次PTA作业

第三次PTA作业1