• C语言 · 数组查找及替换


    算法训练 数组查找及替换  
    时间限制:1.0s   内存限制:512.0MB
        
    问题描述
      给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
    输入格式
      第一行为数组元素个数和整数b
      第二行为数组各个元素
    输出格式
      按照要求输出
    样例输入
    7 2
    77 11 66 22 44 33 55

    样例输出

    11 33 55 M

     

     1 #include<stdio.h> 
     2 int main(){
     3     int b,n;
     4     int k=0;
     5     scanf("%d %d",&n,&b);
     6     int a[100],c[100];
     7     /*输入数组元素*/
     8     for(int i=0;i<n;i++){
     9         scanf("%d",&a[i]);
    10     }
    11     /*删除能被b整除的元素*/
    12     for(int i=0;i<n;i++){
    13         /*删除能被b整除的元素*/ 
    14         if(a[i] % b != 0){
    15             c[k] = a[i];
    16             k++;
    17         }
    18     }
    19     /*冒泡升序*/ 
    20     for(int i=0;i<k-1;i++){
    21         for(int j=0;j<k-1-i;j++){
    22             if(c[j]>c[j+1]){
    23                 int temp = c[j];
    24                 c[j] = c[j+1];
    25                 c[j+1] = temp;
    26             }
    27         }
    28     }
    29     /*替换并输出结果*/
    30     for(int i=0;i<k;i++){
    31         if(c[i]>='A' && c[i]<='Z'){
    32             int flag = c[i];
    33             char ch = (char) flag;
    34             printf("%c ",ch);
    35         }else if(c[i]>='a' && c[i]<='z'){
    36             int flag = c[i];
    37             char ch = (char) flag;
    38             printf("%c ",ch);
    39         }else{
    40             printf("%d ",c[i]);
    41         }
    42     }
    43 }

     

     

  • 相关阅读:
    无向图判断割点
    C
    连通图 求至少有给几个点信息才能传遍全图,至少添加几条边才能使全图联通
    线段树区间更新(set暴力)
    A
    辗转相除法(数学推理)
    Python List index()方法
    Python List extend()方法
    Python List count()方法
    Python List append()方法
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6403820.html
Copyright © 2020-2023  润新知