浙江大学 PTA 函数 第六部分 求最大值及其下标 将数组中的数逆序存放 找出不是两个数组共有的元素 矩阵运算 方阵循环右移 计算天数 查找指定字符  字符串逆序

 

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

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

输入格式:

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

输出格式:

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

输入样例:

6
2 8 10 1 9 10

输出样例:

10 2
#include <stdio.h>
#include <stdlib.h>
/*函数:找出数组中的最大值及其下标*/ 
void find_max(int *p,int n)
{
	int i=0,max_f,sign_d;
	max_f=*p;//假设数组的首位为最大值并记录下标 
	sign_d=0;
	while(++i<n)//遍历数组
		if(*(p+i)>max_f)//分别与最大值 max_f 比较  
			{
				max_f=*(p+i);//找到更大值 赋给 max_f 
				sign_d=i;//记录最大值下标 
			}
	printf("%d %d\n",max_f,sign_d);//输出结果 
}
/*函数:获取 n 个值的数组*/ 
void input_sz(int *p,int n)
{
	printf("Input %d integer:\n",n);
	int i,j;
	for(i=0;i<n;i++)
	{
		scanf("%d",&j);
		*(p+i)=j;
	}
}
int main(int argc, char *argv[]) {
	int n;
	printf("input a positive integer: ");
	scanf("%d",&n);//读入正整数 n 
	int a[n];//创建数组 
	input_sz(a,n);//调用函数 
	find_max(a,n);//调用函数 
	system("pause"); 
	return 0;
}

练习7-3 将数组中的数逆序存放 (20 分)

本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。

输入格式:

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

输出格式:

在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。

输入样例:

4
10 8 1 2

输出样例:

2 1 8 10
#include <stdio.h>
#include <stdlib.h>
/*函数:逆序*/ 
void Reverse_order(int *p,int n)
{
	int i=0,temp;
	while(i<n)//遍历数组,首尾逐一调换 
	{
		temp=*(p+i);
		*(p+i)=*(p+n-1);
		*(p+n-1)=temp; 
		i++;//首部后移
		n--;//尾部前移 
	} 
}
/*函数:获取数组*/ 
void input_sz(int *p,int n)
{
	//printf("Input %d integer:\n",n);
	while(n-->0)//循环输入 n 项
		scanf("%d",&*(p++));
}
/*函数:输出数组*/ 
void output_sz(int *p,int n)
{
	while(n-->1)//循环输出前 n-1 项
		printf("%d ",*(p++)); 
	printf("%d",*p);//输出最后 1 项 
	printf("\n\n");//完成输出
}
int main(int argc, char *argv[]) 
{
	//printf("input a positive integer: ");
	int n;
	scanf("%d",&n);//读入正整数 n 
	int a[n];//创建数组 
	input_sz(a,n);//调用函数 
	Reverse_order(a,n);//调用函数
	output_sz(a,n);//调用函数 
	system("pause"); 
	return 0;
}

练习7-4 找出不是两个数组共有的元素 (20 分)

给定两个整型数组,本题要求找出不是两者共有的元素。

输入格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值