比较易理解的一种写法
2023-07-20 09:12:46
发布于:上海
16阅读
0回复
0点赞
见注释
#include <stdio.h>
using namespace std;
#define SPACE -1000
int main(){
int n, t;
scanf("%d",&n);
int arr[n+1]={SPACE};
for(int i=1;i<=n;i++){ // 收入
scanf("%d", &arr[i]);
}
for(int i=1;i<=n;i++){ // 支出
int t;
scanf("%d", &t);
arr[i] -= t;
}
for(int i=1;i<=n;i++){ // 冒泡排序
for(int j=i+1;j<=n;j++){
if(arr[i]>arr[j]){
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
// swap(arr[i], arr[j]);
}
}
}
for(int i=1;i<=n;i++){ // 输出
if(arr[i]==SPACE) continue; // 空时不输出
int cnt=1; // 统计次数
for(int j=i+1;j<=n;j++){
if(arr[i]==arr[j]){cnt++;arr[j]=SPACE;} // 不能二次输出
}
printf("%d %d\n",arr[i],cnt);
}
return 0;
}
这里空空如也
有帮助,赞一个