工联部第二次考核

第一题

从正数开始,依次两位相加,若两位相加大于0,则继续,取最大值

#include<stdio.h>
#include<stdlib.h>

int max(int a, int b){
    
    
	if (a > b){
    
    
		return a;
	}
	return b;
}

int main(){
    
    
	int n;
	printf("请输入数列个数n:");
	scanf("%d", &n);
	int nums[999];
	printf("请输入数列:");
	for (int i = 0; i < n; ++i){
    
     
		scanf("%d", &nums[i]);
	}


	int max_t;

	max_t = nums[0];
	for (int i = 1; i < n; ++i){
    
    
		if (nums[i - 1] > 0){
    
    
			nums[i] += nums[i - 1];
		}
		max_t = max(max_t, nums[i]);
	}

	printf("%d", max_t);
	system("pause");
	return 0;
}

在这里插入图片描述

第二题
用双重for 循环

#include<stdio.h>
int main()
{
    
    
    int a[10],b[10],i,j,t;
    for(i=0;i<10;i++){
    
    
        scanf("%d",&a[i]);
    }
    for(i=0;i<10;i++){
    
    
        scanf("%d",&b[i]);
    }
        for(j=0;j<10;j++){
    
    
                for(i=0;i<10;i++){
    
    
            if(a[i]==b[j]){
    
    
                    t=a[i];
                printf("%5d",t);
            }
                }
        }

    return 0;
}

在这里插入图片描述

第三题
冒泡排序法
数组为n,进行n-1轮

#include <stdio.h>
int main()
{
    
    
	int a[10];
	int i,t,n;
	for (i=0;i<10;i++)
	scanf("%d",	&a[i]); 
	for(t=0;t<9;t++)
	{
    
    
		for(i=0;i<9-t;i++)
		{
    
    
			if(a[i]<a[i+1])
			
			{
    
    
				n=a[i+1];
				a[i+1]=a[i];
				a[i]=n;	
			}
		}
	 } 
	 for(i=0;i<10;i++)
	 
	{
    
    printf("%6d",a[i]);
	}
	printf("\n");
	for(i=9;i>=0;i--)
	{
    
    	printf("%6d",a[i]);
	}


	}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/li3079198218/article/details/109747379
今日推荐