PTA数组实验

---恢复内容开始---

7-2 求最大值及其下标(20 分)

本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

输入格式:

输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。

输出格式:

在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

1.本题PTA提交列表

2.设计思路(包括流程图),主要描述题目算法

   先输入n个数放入数组中,然后先设第一个数为最大的数字,然后再和后面的数字一次次比较

最终代码如下

#include<stdio.h>
#define N 10
main()
{
    int i,j,n,max,ind,count = 0;
    scanf("%d",&n);  

    int q[N];
    for (i = 0; i < n; i++)
    {
        scanf("%d",&q[i]);
    }
    max = q[0];
    for (j = 0; j < n; j++)
    {
        if (max < q[j])
        {
            max = q[j];
            ind = j;
        }
        else if (max == q[j])
            count++;  

    }
    if (count > 1)
    {
        ind = j-count;
    }
    printf("%d %d", max, ind);
} 

结果发现

有问题

发现提醒说最大n多个并列输出0

所以在程序的最后多使用一个if语句修改后得到的代码如下

#include<stdio.h>
#define N 10
main()
{
    int i,j,n,max,ind,count = 0;
    scanf("%d",&n);  

    int q[N];
    for (i = 0; i < n; i++)
    {
        scanf("%d",&q[i]);
    }
    max = q[0];
    for (j = 0; j < n; j++)
    {
        if (max < q[j])
        {
            max = q[j];
            ind = j;
        }
        else if (max == q[j])
            count++;  

    }
    if (count > 2)
    {
        ind = 0;
    }
    printf("%d %d", max, ind);
} 

7-4 查找整数(10 分)

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

输入格式:

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

输出格式:

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

输入样例1:

5 7
3 5 7 1 9

输出样例1:

2

输入样例2:

5 7
3 5 8 1 9

输出样例2:

Not Found

1.本题PTA提交列表

2.设计思路(包括流程图),主要描述题目算法

本题很简单,只需要设置一个数组,然后用一个循环将n个数放入数组中

之后再用if来寻找数字,如果找到输出数组的位置没有就输出not found

最终代码如下

#include <stdio.h>
int main()
{
    int i,n,x;
    int flag = 0;
    scanf("%d %d", &n, &x);
    int a[n];
    for ( i=0; i<n; i++) {
        scanf("%d ", &a[i]);
        if (a[i] == x) {
            printf("%d", i);
            flag = 1;
        }
    }
    if (flag == 0) {
        printf("Not Found");
    }  

    return 0;
}   

运行如下

7-22 求矩阵各行元素之和(15 分)

本题要求编写程序,求一个给定的m×n矩阵各行元素之和。

输入格式:

输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间

以空格分隔。

输出格式:

每行输出对应矩阵行元素之和。

输入样例:

3 2
6 3
1 -8
3 12

输出样例:

9
-7
15

1.本题PTA提交列表

2.设计思路(包括流程图),主要描述题目算法

本题主要就是设置一个二维的数组

然后将数据放入进去然后相加

最终代码如下

#include <stdio.h>
#define M 10
#define N 10

int main()
{
    int a[M][N];
    int sum[M];
    int m,n,i,j;

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

    for(i=0;i<m;i++)
    {
        sum[i]=0;
        for(j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
            sum[i]+=a[i][j];
        }
    }

    for(i=0;i<m;i++)
    {
        printf("%d\n",sum[i]);
    }

    return 0;
}

运行结果

最终pta排名

---恢复内容结束---

原文地址:https://www.cnblogs.com/ljl0925/p/8308616.html

时间: 2024-08-30 02:55:12

PTA数组实验的相关文章

三 PTA 数组实验

#一.PTA数组实验作业. ##题目1: ##1. 本题PTA提交列表: ##2. 设计思路: 1,先输入数组个数,再输入数组的值. 2,让第一个赋值给一个变量,然后再把最后一个赋值给第一个,最后再把变量的值赋给最后一个. 3,循环n/2次,得到新的数组排列,输出. 流程图: 主要描述题目算法: ##3.本题调试过程碰到问题及PTA提交列表情况说明. ##题目2: ##1. 本题PTA提交列表: ##2. 设计思路: 1,输入数组个数 ,数组,要找的值. 2.从第一个数组与要找的值进行比较,直到

三、PTA数组实验报告

三.PTA实验作业(数组) 题目一:   1.本题PTA提交列表: 2 2.设计思路(包括流程图),主要描述题目算法 //设计思路,由题目可知 1.先定义一个数组用for()循环用于输入数据 2.再用一个for()循环,用于置换数组中个值得位置(用第一个和最后一个的位置交换,第二个和倒数最后一个交换...) 3.最后再用一个for循环输出就可以 最终代码如下: 流程图如下: 3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中

数组实验报告 张文扬

数组实验报告 题目一:数组元素循环右移问题 1. 本题PTA提交列表 2. 设计思路(含流程图) #3.本题调试过程碰到问题及PTA提交列表情况说明. 本题遇到的的格式错误不知道在哪里,答案没有错,设计思路是分别构造两个函数, 一个输入函数,一个change函数用来平移数组,用取余来实现n(数组长度)<m(平移数) 题目二:A-B 1. 本题PTA提交列表 2. 设计思路(含流程图) 3.本题调试过程碰到问题及PTA提交列表情况说明 设计思路为分别设计两个函数real和delete,real函数

四 PTA指针实验

#一.PTA指针实验作业. ##题目1: ##1. 本题PTA提交列表: ##2. 设计思路: 1,创建三个数组a[100], b[100], c[100],初始化,用作容器: 2,把传递过来的数组s[]的前三个数据放进a[]里,把剩下的数据放入b[]里面, 3,最后把数组b和数组a依次赋值给数组s,最后返回子函数. 流程图: 主要描述题目算法: void Shift(char s[]) { int i, t, d = 0, e; char a[100], b[100], c[100]; mem

第七章数组实验实验报告(第一部分)

实验项目:第七章数组实验 姓名:谢丽萍  时间:2019年5月29号   地点:514教室 一.实验目的与实验要求 ①7.3.1-1本实验旨在巩固学生对数组这种数据结构的理解,增强程序设计能力.在这个实验中,学生将练习:定义一个一维整形数组,其大小为10,即它能存放10个数据:使用循环语句,利用随机函数生产10个整数放在数组中:编写排序函数sort1()使用循环语句,将排好序的10个数依次存放在数组中.在强化练习中,学生将练习:将数组定义为全局数组或局部数组:在主函数中,用随机函数生成10个元素

第七章数组实验报告

C程序设计实验报告 实验项目: 数组实验 姓名: 廖云福 实验地点: 514物联网实验室 实验时间:2019年5月29日 一实验项目 7.3.1一维数组的应用 7.3.2二维数组的应用 7.3.3字符数组的应用 一.实验目的和要求 a.掌握一维和多维数组的定义和数组元素的引用方法. b.了解一维数组和多维数组初始化方法. c.学习一维和多维数组的基本算法. d.掌握字符数组的定义.初始化方法和元素的引用方法. e.掌握C语言提供的对字符串进行处理的基本库函数. 二.实验内容 实验练习一.冒泡排序

二.PTA函数实验

一.PTA实验作业(函数) 题目一:   1.本题PTA提交列表: 2.设计思路(包括流程图),主要描述题目算法 //设计思路,由题目可知 3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决) 题目二: 1.本题PTA提交列表: 2.设计思路(包括流程图),主要描述题目算法 3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的

四、PTA指针实验报告

四.PTA实验作业(指针) 题目一:   1.本题PTA提交列表: 2.设计思路(包括流程图),主要描述题目算法 //设计思路,由题目可知 1.由于这道题不知道具体要输入数据,所以采用calloc来按要求进行分配内存 2用for()循环来输入数据,斌且进行数据的求和,在内层循环中再通过一一比较,就可以求出数据的最大最小值 3.最后释放不用的内存 4.输出平均值,最大值,最小值 最终的代码如下: 流程图如下: 3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试

KEIL-C下数组指针与指针数组实验

http://blog.csdn.net/men_wen/article/details/52694069 第一个: 数组指针的小实验 用指针传递参数 结果:  第二个: 数组指针实验 定义一个指针 他指向数组 把上面的测试函数中的参数传递部分换成这样 换了之后 实参传入部分会报错 必须加上取地址符号&  第三种 形参:  定义一个数组  里面全是指针 最稳妥的在KEIL-C下   传递数组参数的方式如下: 数组指针的小实验 用指针传递参数 结果: