zoukankan      html  css  js  c++  java
  • 第六章:数组

    1
    多项式加法(5分)

    题目内容:

    一个多项式可以表达为x的各次幂与系数乘积的和,比如:

    现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。

    程序要处理的幂最大为100。

    输入格式:

    总共要输入两个多项式,每个多项式的输入格式如下:

    每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后一行一定是0次幂。

    注意第一行和最后一行之间不一定按照幂次降低顺序排列;如果某个幂次的系数为0,就不出现在输入数据中了;0次幂的系数为0时还是会出现在输入数据中。

    输出格式:

    从最高幂开始依次降到0幂,如:

    2x6+3x5+12x3-6x+20

    注意其中的x是小写字母x,而且所有的符号之间都没有空格,如果某个幂的系数为0则不需要有那项。

    输入样例:

    6 2

    5 3

    3 12

    1 6

    0 20

    6 2

    5 3

    2 12

    1 6

    0 20

    输出样例:

    4x6+6x5+12x3+12x2+12x+40

    时间限制:500ms内存限制:32000kb
     
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdbool.h>
     
     
    int main(int argc, const char * argv[]) {
        int exponent, ratio;
        int arr1[101] = {0};
        int arr2[101] = {0};
         
        do{
            scanf("%d %d", &exponent, &ratio);
            arr1[exponent] = ratio;
        }while(exponent!=0);
         
        do{
            scanf("%d %d", &exponent, &ratio);
            arr2[exponent] = ratio;
        }while(exponent!=0);
        int flag = 0;
        for(int i=100;i>=0;i--){
            if (arr1[i]!=0 || arr2[i]!=0){
                int ratio = arr1[i] + arr2[i];
                if(ratio!=0){
                    if(flag == 1){
                        printf("+");
                    }else{
                        flag = 1;
                    }
                     
                    if(i==0){
                        printf("%d",ratio);
                    }else if(i==1){
                        printf("%dx",ratio);
                    }else{
                        printf("%dx%d",ratio,i);
                    }
                }
                 
            }
        }
        printf("
    ");
    }
    

      

    2
    鞍点(5分)

    题目内容:

    给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。

    你的任务是找出A的鞍点。

    输入格式:

    输入的第1行是一个正整数n, (1<=n<=100),然后有n行,每一行有n个整数,同一行上两个整数之间有一个或多个空格。

    输出格式:

    对输入的矩阵,如果找到鞍点,就输出其下标。下标为两个数字,第一个数字是行号,第二个数字是列号,均从0开始计数。

    如果找不到,就输出

    NO

    题目所给的数据保证了不会出现多个鞍点。

    输入样例:

    1 7 4 1 

    4 8 3 6 

    1 6 1 2 

    0 7 8 9

    输出样例:

    2 1

    时间限制:500ms内存限制:32000kb
     
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdbool.h>
    
    
    int main(int argc, const char * argv[]) {
        int count;
        scanf("%d", &count);
        int index = 0;
        int arr[count][count];
        do{
            int i = 0;
            while(i<count){
                scanf("%d", &arr[index][i]);
                i++;
            }
            index = index +1;
        }while(index<count);
        
    
        for(int row = 0;row<count;row++){
            int target = arr[row][0];
            for(int col = 1;col<count;col++){
                if(target<arr[row][col]){
                    target = arr[row][col];
                }
            }
            
            for(int col = 0;col<count;col++){
                if(target == arr[row][col]){
                    bool find = true;
                    int xrow = 0;
                    for (xrow = 0;xrow<count;xrow++){
                        if(arr[xrow][col]<target){
                            find = false;
                            break;
                        }
                    }
                    if(!find){
                        break;
                    }else{
                        printf("%d %d
    ",row,col);
                        return 0;
                    }
                }
            }
        }
        printf("NO
    ");
        return 0;
    }
    

      

  • 相关阅读:
    提高php代码效率的几点
    jquery各种操作复选框(全选、全不选、自动勾选、反选……)
    封装PDO单例模式类
    Git常用命令
    简化版的sqlserver分页
    Sql Server 数据分页
    Linux 下动态链接库搜索路径问题
    mysqlperformanceblog
    vim 退格键(backspace)不能用
    Linux vi/vim 编辑命令总结
  • 原文地址:https://www.cnblogs.com/ColaZhang/p/5933983.html
Copyright © 2011-2022 走看看