zoukankan      html  css  js  c++  java
  • 记录一些 小程序

    1 给定一个整型数组,有正数,负数和0. 求出连续的子序列中的和的最大值。(qiuhe.c)
    例如:int a[10] = {-1,5,7,0,-22,7,9,-2,0,5};的最大值为子序列“7,9,-2,0,5”求和,值为19

    #include <stdio.h>
    int a[] = {-1,-5,-7,0,-22,-7,-9,-2,0,5};
    int main()
    {
        int sum = 0;
        int max = 0;
        int number = sizeof(a)/sizeof(int);
        int i = 0;
        while(i < number)
        {
            sum += a[i];
            i++;
            if(sum < 0)
            {
                sum = 0;
            }
            else
            {
                if(sum > max)
                  max = sum;
            }
        }

        printf("max = %d ",max);

    }

    2 输入一个已经按升序排序过的整型数组(数组元素都为非负数,无重复元素)和一个数字。在数组中查找两个数,使得它们的和正好是输入的那个数字。
    如果有多对数字的和等于输入的数字,输出任意一对即可。
    例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。(yuansuzhihe.c)

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

    int search(int num)
    {
        static char *p, *q;
        int i,j,n;
        char buf[] = {1,2,3,4,5,6,7,8,9};
        p = buf;
        q = buf;
        n = sizeof(buf)/sizeof(char);
        for(i = 0; i < n; i++){
            q = q+i+1;
            for(j = 0; j < n-i-1; j++){
                if(num == *p + *q){
                    printf("the result is:%d %d ", *p,*q);
                    break;
                }
                else
                    q++;

            }
            p++;
            q = buf;
        }
        if(i >= n)
        printf("can not find ");
    }
    int main(void)
    {
        int num = 0;
        printf("input a num");
        scanf("%d", &num);

        search(num);
        return 0;

    }

  • 相关阅读:
    c# System.Object类和数据的安全转型
    计算机内存的组织方式
    c# ref和out参数
    C# 复制值类型的变量和类
    PCB 布线,直角线,差分线,蛇形线
    c# 静态方法和数据
    c# 类的知识
    appium中从activity切换到html
    No Desktop License Servers available to provide a license
    adb命令连接Android模拟器夜神模拟器
  • 原文地址:https://www.cnblogs.com/jade-L/p/3208341.html
Copyright © 2011-2022 走看看