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

自己定义例如以下函数,输入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. hdu 5166(水题)

    Missing number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  2. poj 3164(最小树形图模板)

    题目链接:http://poj.org/problem?id=3164 详细可以看这里:http://www.cnblogs.com/vongang/archive/2012/07/18/259685 ...

  3. Filter过滤器笔记1

    Filter:过滤器 Filter主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链.使用Filter的完整流程是:Filter对用户请求进行预处 ...

  4. NIO入门之BIO

    传统BIO编程 网络编程的基本模型是Client-Server模型,也就是两个进程之间相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的端口发起连接请求,通 ...

  5. 六. 异常处理7.throw:异常的抛出

    到目前为止,你只是获取了被Java运行时系统抛出的异常.然而,程序可以用throw语句抛出明确的异常.Throw语句的通常形式如下:    throw ThrowableInstance;这里,Thr ...

  6. 一次PHP面试经历

    9月9号,去了一家朋友的公司参加面试,然后就被直接吊打了,问的许多问题居然是我压根没有关心过的,看起来只在高层搞框架不行啊,还是得自己造个轮子试试,下面回顾一下问到的问题和我自己找到的一些答案. fi ...

  7. CRUD_PreparedStatement

    package songyan.jdbc.crud; import java.sql.Connection; import java.sql.PreparedStatement; import jav ...

  8. 弱电系统标准CAD图例识图讲解

    弱电系统标准CAD图例识图讲解 http://www.360doc.com/content/17/0317/16/33642774_637680009.shtml

  9. c# Http Post访问接口方式

    一.json格式数据提交返回 提交和返回数据都为json格式 参数提交方式:application/json;charset=UTF-8 统一采用UTF-8字符编码 public string Pos ...

  10. andriod 读取通讯录

    package com.example.yanlei.wifi; import android.content.ContentResolver;import android.database.Curs ...