2020-11-21

本文介绍了三个编程题目:1. 找出长度为10的整型数组中子数组的最大和,例如输入[1, 5, 6, 2, 3, 4, 9, 1],最大子数组和为18;2. 实现函数找出两个长度为10且无重复元素的数组的交集,如数组[1, 16, ..., 14, 3]与数组[2, ..., 14, 16]的交集为[16, 5, 7, 10, 8, 14];3. 学习并实现一个排序算法,对长度为10的数组进行升序和降序排列,如数组[6, 7, ..., 15]的升序和降序排列分别为[1, 1, 3, 4, 5, 6, 7, 9, 10, 15]和[15, 10, 9, 7, 6, 5, 4, 3, 1, 1]。" 8857675,1330415,Latex入门指南:从文档类型到公式与算法,"['LaTeX', '文档处理', '学术写作']
摘要由CSDN通过智能技术生成

标题:工联部第二次任务

第一题:
题目:1. 输入一个大小为 10 的整型数组,数组中的一个或连续多个整数组成一个子数
组。求所有子数组的和的最大值。
例子:
输入一个数组:1 5 6 2 3 4 9 1
子数组的最大值:18

						代码部分为:
在这里插入代码片//工联部第二次任务第1题
/*我是这样想的;首先定义两个数组a[10] 和 sum[10],分别用来存放我们将要输入的 10 个数字和当存放遍历到某个数时,从这个数开始向后继续遍历,存放其合的
  最大值。		*/
#include<stdio.h>
int main(void){
   
	int a[10];
	int sum[10] , sum_s;
	int i , j , n;
	int max;
	
	for(i = 0 ; i < 10 ; i++){
   
		sum[i] = 0;
	} 
	for(i = 0; i < 10; i++){
   
		printf("请输入第%d个数;", i + 1);
		scanf("%d", &a[i]); 
	}
	for(i = 0; i < 10; i++){
   										//将每个数全遍历一遍 
		if(a[i] < 0){
   												//如果第一个面对的数是负数的话,直接跳过这个数,遍历下一个 
			continue;
		}
		else{
   														//碰到的数是正数时 
			for(j = i; j < 10; j++){
   								//从这个正数开始往后遍历 
				if(a[j] >= 0){
   
					sum[i] = sum[i] + a[j];							//如果碰到的数是大于等于0的,直接累加 (按照第一次的数,肯定是大于0 的,但是如果特意加个判断,好像更浪费空间和时间) 
				}
				else{
   												//如果往后遍历的过程中碰到了负数 
					n = j;
					while(1){
   
						sum_s = sum_s + a[n];						//再找一个中间变量来从遇到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值