实验 指针应用

实验 指针应用
实验 指针应用

实验7 指针应用

一、目的

1、理解和掌握指针及指针变量的基本概念和定义。

2、熟练掌握指针的运算、算术运算、关系运算和赋值运算。

3、熟练掌握几种不同类型的指针、指向变量的指针、指向数组的指针、指向字符串的指针、指向函数的指针、指向指针的指针。

二、要求

完成规定的内容,编写出符合题目要求的程序,当堂检查完成情况。尤其需要注意的是问题中输入输出的描述。同时,注意程序中需要处理的数据特点。

三、示例程序

701 求平均成绩

Description

某班期末考试后要统计本班某门课程的平均成绩、最高成绩和最低成绩,你的任务是编程序实现这一功能。一个班的人数不超过30人,要求实现求最高成绩,最低成绩和平均成绩的功能用一个函数完成,并用参数返回最高成绩、最低成绩和平均成绩。

Input

一组测试数据,第一行为一个整数N,表示本班有N个人,N<=30,接下来的N行中每行一个整数表示一个人的成绩。

Output

输出一行。该行包含三个数,分别是最高成绩、最低成绩和平均成绩。成绩之间由空格分隔,其中平均成绩为实数,并精确到小数点后两位。

Sample Input

5

90

83

76

85

62

Sample Output

90 62 79.20

参考代码:

#include

int main()

{

void search(float score[100],int n,float *p1,float *p2,float *p3); float s[100];

int n,i;

float max,min,avg;

scanf("%d",&n);

for(i=0;i

scanf("%f",&s[i]);

search(s,n,&max,&min,&avg);

printf("%.0f %.0f %.2f\n",max,min,avg);

return 0;

}

void search(float score[100],int n,float *p1,float *p2,float *p3) {

int i;float sum=0;

*p1=score[0];

for(i=1;i

{

if(score[i]>*p1)

*p1=score[i];

}

*p2=score[0];

for(i=1;i

{

if(score[i]<*p2)

*p2=score[i];

}

*p3=score[0];

for(i=0;i

{

sum+=score[i];

}

*p3=sum/n;

}

702 字符串排序

Description

按字典顺序输出某班所有人的名单。

Input

一组测试数据,第一行为一个整数N,表示本班有N个人(N<=30),接下来的N行中每行一个人名(人名均由小写字母组成,并且名字长度小于20)。

Output

按字典顺序排列的人员名单。每个人名占一行。

Sample Input

5

zhangsan

liyang

wangxiao

liqing

wuhui

Sample Output

liqing

liyang

wangxiao

wuhui

zhangsan

703 字符串比较

Description

按字符串比较过程对给定的两个字符串进行比较,若相等则结果为0,若不等则结果为对应不等字符的差。按要求实现对给定字符串的比较。要求程序中用函数实现两个字符串的比较。int stringcmp(char *str1 , char *str2 )

Input

第一行为一个整数N,表示测试数据的组数,接下来的N行中每行包含两个字符串,字符串之间由空格分隔。

Output

输出共N行,每行为对应输入一行的两个字符串的比较结果。

Sample Input

3

Happy Help

Help Help

Help Happy

Sample Output

-4

4

704 学生成绩统计

Description

某班有N(N<=30)个学生,共开设5门课程,分别用三个函数实现如下功能:

⑴求第一门课程的平均分;

⑵找出有2门及2门以上不及格的学生,并输出其学号;

⑶找出平均成绩在90分以上的学生,输出他们的学号。

Input

有多组测试数据,每组测试数据的第一行为一个整数N,表示本班共N个人(当N为0时结束输入),接下来的N行中每行包含一个学生的信息,包括学号、长度小于10的字符串、课程1成绩、课程2成绩、课程3成绩、课程4成绩、课程5成绩。成绩均为整数。Output

每组测试数据输出共四行,第二行为固定格式,参照样例输出,第二行为本班第一门课程的平均成绩。(保留小数点后两位),第三行为有2门及2门以上不及格的学生的学号,各学号之间用一个空格分隔。若不存在,则打印“no”。第四行为平均成绩在90分以上的学生的学号, 各学号之间用一个空格分隔。若不存在,则打印“no”。

Sample Input

3

070001 90 80 85 50 42

070002 93 95 90 88 92

070003 98 92 84 90 91

2

080001 85 81 75 69 61

080002 89 91 62 75 77

Sample Output

Test 1#:

93.67

070001

070002 070003

Test 2#:

87.00

no

no

出师表

两汉:诸葛亮

先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。

宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。

侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。

将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。

亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。

臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。

先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,

攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。

愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。臣不胜受恩感激。

今当远离,临表涕零,不知所言。

相关主题
相关文档
最新文档