算法訓練 數組查找及替換
時間限制: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 }