本周仅仅进行一个程序,曾经的一个程序。

自己定义例如以下函数,输入n(n<46)个学生的姓名和成绩,顺序输出这n个学生的姓名和成绩,并输出最高成绩的姓名和成绩。预习struct结构体,思考怎样改进这一程序。

 //为count个学生输入姓名和成绩
void getStudentsInfo(char names[][20], int scores[] , int count);
void getStudentsInfo(char* names[], int scores[] , int count);
//依次打印count个学生的姓名和成绩
void printStudentsInfo(char* names[], int scores[],int count);
//获取最高成绩的学生的index
int getIndexOfMaxScore(int scores[],int count);

知识点:

1 字符串数组用于处理多个人的姓名

2 数组作为函数的參数

the core code:

/* Note:Your choice is C IDE */
#include "stdio.h" void inputStudents(char name[][20],int score[],int num);
void outputStudents(char name[][20],int score[],int num);
main()
{
char name[45][20];
int score[45]; inputStudents(name,score,2);
outputStudents(name,score,2); } void inputStudents(char name[][20],int score[],int num){
int i ;
for(i=0;i<num;i++)
scanf("%s %d",name[i],&score[i]);
}
void outputStudents(char name[][20],int score[],int num){
int i ;
for(i=0;i<num;i++)
printf("%s %d",name[i],score[i]);
}

an example :

/* Note:Your choice is C IDE */
#include "stdio.h"
#define N 45 int inputSS(char names[][20],int score[],int num);
void printSS(char names[][20],int score[],int num);
void getMAX(char names[][20],int score[],int num); main()
{
char names[N][20];
int score[N];
int num=0;
int choose; printf("What do you want to do: INPUT(1),OUTPUT(2),MAX(3),EXIT(0):");
scanf("%d",&choose);
do{
switch(choose){
case 1:
num = inputSS(names,score,num);
break;
case 2:
printSS(names,score,num);
break;
case 3:
getMAX(names,score,num);
}
printf("\nWhat do you want to do: INPUT(1),OUTPUT(2),MAX(3),EXIT(0):");
scanf("%d",&choose);
}while(choose != 0); }
int inputSS(char names[][20],int score[],int num){
int n,i;
printf("\nThis Time, How many students do you want to input :");
scanf("%d",&n); if((n+num)>N || n <1){
printf("not valid sum\n");
return -1;
}
printf("NOW INPUT AS ( NAME SCORE ):\n");
for(i=0;i<n;i++){
printf("%d. ",i);
scanf("%s %d",&names[i+num],&score[i+num]);
}
printf("THIS TIME , INPUT IS OVER\n");
return num+n;
}
void printSS(char names[][20],int score[],int num){
int i ;
if(num==0) {
printf("NO STUDENTS NOW\n");
return;
} printf("\nNOW , THE STUDENTS SCORES AS FOLLOWS \n"); for(i = 0 ;i<num;i++)
printf("%2d. name:%10s score:%3d\n",i,names[i],score[i]);
}
void getMAX(char names[][20],int score[],int num){ int i ,max_index,max_score; if(num==0) {
printf("NO STUDENTS NOW\n");
return;
} max_index=0;
max_score=score[0]; for(i = 1 ;i<num;i++)
if( score[i] > max_score ){
max_score = score[i];
max_index = i;
} printf("The Top Score is %d by %s \n",score[max_index],names[max_index]); }

=====================华丽的切割线====================================================

有非常多知识点须要大家复习。以下是一些比較cute的程序。弄懂啊弄懂

//0
#include "stdio.h"
void main(){
int i=0, a[]={3,4,5,4,3};
do
{
a[i]++;
}while(a[++i]<5); for(i=0;i<5;i++)
printf("%d",a[i]) ;
} //1
#include "stdio.h"
void main(){
int a = 7;
int b = 8;
printf ( "a&b = %d\n",a&b);
printf( "a&&b = %d\n",a&&b);
}
//2
#include "stdio.h"
void main(){
int i ;
for(int i = 0; i<4; i++){
if( i==2)
break;
printf("%d ",i);
}
printf("\n");
for(int i = 0; i<4; i++){
if( i==2)
continue;
printf("%d ",i);
}
printf("\n");
}
//3
#include "stdio.h"
void main(){
int sum=0,item=0;
while(item<7){
item++;
sum+=item;
if(sum==7)
break; }
printf("%d\n",sum);
}
//4
#include "stdio.h"
void main(){
int a[]={1,2,3,4,5,6,7,8};
int i,x ,*p;
x=1;
p=&a[3];
for( i=0; i<3; i++ )
x *= *(p+i);
printf("x=%d\n",x);
}
//5
#include "stdio.h"
void main(){
int i=5,x=1;
for(;i<5;i++) x=x+1;
printf("%d\n",x);
}
//6
#include "stdio.h"
void main(){
int x,y;
for (x=0, y=0 ; (y!=123) &&(x<4); x++)
y++;
printf("x=%d,y=%d\n",x,y);
}
//7
#include "stdio.h"
void main(){
int a[7]={3,4,5,6,7,8,9};
int *p,*q;
int i,x;
p=&a[0];
q=&a[6];
for (i=0;i<3;i++)
if(*(p+i)==*(q-i) )
x=*(p+i)*2;
}
//8
#include "stdio.h"
void main(){
int a[5][5];
printf("&a[3][2]-a=%d\n",&a[3][2]-a);
}
//9
#include "stdio.h"
void main(){
int i=2,n=2;
for(;i<5;i++){
continue;
n=n+i;
}
printf("%d\n",n);
}

C程序设计Week12晚上练习的更多相关文章

  1. Week12《java程序设计》第12次作业总结

    Week12<java程序设计>第12次作业总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 面向系统综合设计-图书馆管理系统或购物车 ...

  2. 阅读摘录《javascript 高级程序设计》01

    前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...

  3. [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用

    [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用 本节导读:讨论了表达式树的定义和解析之后,我们知道了表达式树就是并非可执行代码,而是将表达式对象化后的数据结构.是 ...

  4. 20145207 《Java程序设计》第5周学习总结

    前言:先聊两句,上午电路实习,刚开始没多久就让电烙铁烫了,倒霉催的~晚上来这里接着弄代码,透心凉心飞扬~ 教材学习内容总结 一.异常处理 1.语法与继承结构 使用try.catch: Java中所有错 ...

  5. 20145227 《Java程序设计》第5周学习总结

    20145227 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 8.1 语法与继承结构 1.使用try .catch java中所有错误都会被打包为对象,可以尝试 ...

  6. 现代程序设计——homework-06

    题目: http://www.cnblogs.com/xinz/p/3382048.html 这是一道要多坑有多坑的题目,题目有很多步.综合起来就是这个意思: 在很久以前,有一个大牛,当然那个时候他还 ...

  7. HDU 5925 Coconuts 【离散化+BFS】 (2016CCPC东北地区大学生程序设计竞赛)

    Coconuts Time Limit: 9000/4500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  8. 记第五届山东省ACM程序设计比赛——遗憾并非遗憾

    记第五届山东省ACM程序设计比赛 5月10日上午9点半左右,我们的队伍从学校出发,一个多小时后到达本次比赛的地点-哈尔滨工业大学. 报道,领材料,吃午饭,在哈工大的校园里逛了逛,去主楼的自习室歇息了一 ...

  9. 20155304 2016-2017-2 《Java程序设计》第六周学习总结

    20155304 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 串流设计的概念 无论来源和目的地实体形式是什么,只要取得InputStream和Ou ...

随机推荐

  1. 如何让IE7,IE8支持css3

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 原理:在用ie浏览 ...

  2. HDU 2553 N皇后问题(回溯 + 剪枝)

    本文链接:http://i.cnblogs.com/EditPosts.aspx?postid=5398797 题意: 在N*N(N <= 10)的方格棋盘放置了N个皇后,使得它们不相互攻击(即 ...

  3. BZOJ 4589 Hard Nim(FWT加速DP)

    题目链接  Hard Nim 设$f[i][j]$表示前$i$个数结束后异或和为$j$的方案数 那么$f[i][j] = f[i-1][j$ $\hat{}$ $k]$,满足$k$为不大于$m$的质数 ...

  4. #请用索引取出下面list的指定元素:

    #!/usr/bin/python # -*- coding: utf-8 -*- L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', ...

  5. 初步接触LVS

    今天整理下思绪,定下要掌握LVS原理和使用方法.于是,看了部分关于LVS的概述和文章. 章博士在2002年写的LVS的几篇文章,在我看来,今天都值得一看.http://www.linuxvirtual ...

  6. Oracle PL/SQL入门之慨述

    Oracle PL/SQL入门之慨述 一.PL/SQL出现的目的 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言( ...

  7. oracle wm_concat 拼接乱码 显示问号等

    今天用plsql查询工具 拼接sql查询显示乱码,不知道为何. 后来经多方查找资料 现在分享如下. 针对oracle拼接函数的乱码,首先查询一下oracle字符的编码是否支持中文,查询语句: SELE ...

  8. Ext JS 5 gpl版本 官方原版的下载方法

    先进入官网: 然后在导航的Products中选择Sencha Ext JS,会看到以下页面: 这时候不要单击Download按钮,而是要单击导航中的DETAILS,页面切换后,就可在底部看到GPL版本 ...

  9. Linux查看目录大小

    du -ah --max-depth=1 a表示显示目录下所有的文件和文件夹(不含子目录) h表示以人类能看懂的方式 max-depth表示目录的深度

  10. #淘宝#复制分享宝贝内容,打开淘宝APP,自己主动弹出宝贝提示信息

    场景描写叙述: 淘宝复制连接,分享出去,比方拷贝到QQ好友.微信好友,一个宝贝信息.然后你朋友长按复制你分享它了的这个宝贝.当然打开手机淘宝时.自己主动会跳出宝贝的信息,点击确定能够直接进入宝贝详情 ...