提高第37课时,实践1,项目1-带姓名的成绩单
2015-05-28 21:35
295 查看
/* *Copyright(c) 2015/5/28 CSDN博客 *All rights reserved. *文件名称:main.c *作 者:金叶 *完成日期:2015/5/28 *版本号:V1.0 *问题描述:项目1-带姓名的成绩单 *程序输出:设score数组中存储8名同学的C语言成绩,字符串数组name中存储同学们的姓名。 这两个数组中,每名同学的姓名与成绩的下标要始终保持一致(例如name[i]和score[i]表示同一位同学(下标为i)的姓名和C语言成绩,否则会张冠李戴)。 (1)输出按成绩排序后的同学的名单; (2)输出按同学姓名排序后的成绩单(排序对象是字符串)。 */ #include<stdio.h> #include<string.h> #define num 8 int main() { int i,j,t; char a[10]; char name[num][10]= {"zhao","qian","sun","li","zhou","wu","zheng","wang"}; double score[num]= {79,84,65,89,60,92,78,56}; for (i=0;i<num-1;i++){ for (j=0;j<num-i-1;j++){ if (score[j]<score[j+1]){ t=score[j]; score[j]=score[j+1]; score[j+1]=t; strcpy(a,name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],a); } } } printf("按成绩排序后的结果是:\n"); for (i=0;i<num;i++){ printf("%s\t%.2lf\n",name[i],score[i]); } for(i=0; i<num-1; i++) for(j=0; j<num-i-1; j++) { if(strcmp(name[j],name[j+1])>0) { strcpy(a, name[j]); strcpy(name[j], name[j+1]); strcpy(name[j+1], a); t=score[j]; score[j]=score[j+1]; score[j+1]=t; } } printf("按同学姓名排序后有结果是:\n"); for(i=0; i<num; i++) printf("%s\t%.1f\n", name[i], score[i]); return 0; }
相关文章推荐
- 站立会议 第六天
- 第二阶段每日站立会议Second Day
- 剑指offer 65 - 滑动窗口的最大值
- View.inflate(Context,layout,null)中null的含义
- Android Selector用法
- 黑马程序员 C语言:数据类型
- 第二次冲刺第2天
- sicily 1218. 纪念邮票
- JSP三大指令
- CodeForces 547B. Mike and Feet 线段树
- C++ this指针的用法
- HTTP协议状态码详解(HTTP Status Code)
- python运算口诀
- 站立会议 第七天
- 二维数组中的最大联通子数组
- CUDA ---- Hello World From GPU
- 会员卡管理系统技术解析(五)登陆与注册之登陆
- Java Servlet学习笔记(四)Servlet客户端Http请求
- 微软100题(36)N支队伍比赛
- 我是如何从勉强写冒泡成长到轻松get百度offer? (内有许多优质算法书籍介绍及推荐)