【发布时间】:2022-01-12 11:58:45
【问题描述】:
如果我在数组之间例如 [1,1,1,2] 程序会打印:
数字 1 出现 3 次。
数字 1 出现 3 次。
数字 1 出现 3 次。
数字 2 出现 1 次。
它应该打印出来:
数字 1 出现 3 次。
数字 2 出现 1 次。
如何解决这个问题?
#include <stdio.h>
int main() {
int i,arr[1000],counters[1001]={0},n;
printf("Enter numbers: \n");
for(i=0;i<100;i++){
scanf("%d", &arr[i]);
if(arr[i]==-1) break;
if(arr[i]<0||arr[i]>100){
printf("Numbers must be between 0 and 100\n");
i--;
}
}
n=i;
for(i=0;i<n;i++){
counters[arr[i]]++;
}
for(i=0;i<n;i++){
printf("Number %d appears: %d times\n", arr[i], counters[arr[i]]);
}
return 0;
}
【问题讨论】: