1 条题解
-
0
C :
#include<stdio.h> #include<string.h> struct magnate { char name[20]; //姓名 double property;//财产,以亿元为单位。 }a[100]; void shuru(int n); void paixu(struct magnate *p, int n); int main() { int n, k, i; struct magnate *p; p = a; scanf("%d%d", &n, &k); shuru(n); paixu(p, n); for(i=0; i<k; i++) { printf("%s %.2lf", a[i].name, a[i].property); if(i<k-1) printf("\n"); } } void shuru(int n) { int i; for(i=0; i<n; i++) { scanf("%s", a[i].name); scanf("%lf", &a[i].property); } } void paixu(struct magnate *p, int n) { int i, j; double t; char name[20]; for(i=0; i<n-1; i++) { for(j=0; j<n-1-i; j++) { if((p+j)->property < (p+j+1)->property) { t = (p+j)->property; (p+j)->property = (p+j+1)->property; (p+j+1)->property = t; strcpy(name, (p+j)->name); strcpy( (p+j)->name, (p+j+1)->name); strcpy( (p+j+1)->name, name); } } } }
C++ :
#include<stdio.h> #include<string.h> struct magnate { char name[20]; //姓名 double property;//财产,以亿元为单位。 }a[100]; void shuru(int n); void paixu(struct magnate *p, int n); int main() { int n, k, i; struct magnate *p; p = a; scanf("%d%d", &n, &k); shuru(n); paixu(p, n); for(i=0; i<k; i++) { printf("%s %.2lf", a[i].name, a[i].property); if(i<k-1) printf("\n"); } } void shuru(int n) { int i; for(i=0; i<n; i++) { scanf("%s", a[i].name); scanf("%lf", &a[i].property); } } void paixu(struct magnate *p, int n) { int i, j; double t; char name[20]; for(i=0; i<n-1; i++) { for(j=0; j<n-1-i; j++) { if((p+j)->property < (p+j+1)->property) { t = (p+j)->property; (p+j)->property = (p+j+1)->property; (p+j+1)->property = t; strcpy(name, (p+j)->name); strcpy( (p+j)->name, (p+j+1)->name); strcpy( (p+j+1)->name, name); } } } }
- 1
信息
- ID
- 1724
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者