C語言程式設計題T1

相佯發表於2024-03-10

*** * 給定一批整數,分析每個整數的每一位數字,求出現次數最多的個位數字。例如給定3個整數1234,2345,3456,,其中出現次數最多的數字是3和4,均出現了3次。******
要求:
輸入形式:在第1行中給出一個正整數n(n<=1000),在第2行中給出N個不超過整形範圍的正整數,數字間以‘ ’(空格)分隔;
輸出形式:在一行中按格式“max:n1,n2.....”輸出,其中max是數字出現的最大次數,n1,n2,.....為出現次數最多的個位數字,按從小到大的順序排列。數字間以‘ ’(空格)分隔,但末尾不得有多餘的空格。

include<stdio.h>

int main(){
int n,i,max=0;
scanf("%d",&n);
int a[1001];
int arr[10];
if(n>0&&n<1000){
for(i=0;i<10;i++){
arr[i]=0;
}//初始化
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}//輸入數字
for(i=0;i<n;i++){
while(a[i]){
arr[a[i]%10]++;//數字出現的次數=arr[i]的值 ++
//餘數 等於arr[10]={'0','1','2','3','4','5','6','7','8','9'};
a[i]/=10; //輸入的值/10 首先個位 十位 百位........
}
}
for(i=0;i<10;i++){ //找到最大次數值 再輸出
if(max<arr[i]){
max=arr[i];
}
}
printf("%d:",max);

	for(i=0;i<10;i++){ //找到次數等於max值的下標數字 i 
		if(max==arr[i]){
			printf(" %d",i);
		}
	}
    printf("\n");
    return 0;
}

}

相關文章