|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入运动员的姓名、体重、成绩。
定义一个用于比较两个运动员成绩函数 Lifting* Compare(Lifting*A, Lifting*B); 返回指向获胜运动员的指针
遍历数组,通过调用函数Compare,找到成绩最好运动员,并输出其姓名
- #include<stdio.h>
- typedef struct {
- char name[10];
- int weight;
- int grade;
- }Lifting;
- Lifting* Compare(Lifting* A, Lifting* B);
- Lifting* Compare(Lifting* A, Lifting* B) {
-
- }
- int main() {
- Lifting student[4];
- int i;
- for (i = 0; i < 4; i++) {
- scanf("%s%d%d", &student[i].name, &student[i].weight, &student[i].grade);
- }
- return 0;
- }
复制代码
本帖最后由 jackz007 于 2021-10-30 23:27 编辑
- #include<stdio.h>
- typedef struct {
- char name[10];
- int weight;
- int grade;
- } Lifting ;
- Lifting* Compare(Lifting* A, Lifting* B) {
- return (A -> grade > B -> grade) ? A : B ;
- }
- int main()
- {
- Lifting student[4] , * p ;
- int i ;
- for (i = 0; i < 4; i++) {
- scanf("%s%d%d", student[i].name, &student[i].weight, &student[i].grade) ; // student[i].name 是字符串,不可以加取址符 &
- }
- for(p = & student[0] , i = 1 ; i < 4 ; i ++) p = Compare(& student[i] , p) ;
- printf("%s\n" , p -> name) ;
- return 0;
- }
复制代码
编译、运行实况:
- D:\00.Excise\C>g++ -o x x.c
- D:\00.Excise\C>x
- aaa 65 100
- bbb 68 95
- ccc 62 120
- ddd 60 90
- ccc
- D:\00.Excise\C>
复制代码
|
|