C语言与软件技术基础指针(二)上机报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言与软件技术基础
实验六:指针(三)
一、实验目的
( 1) 通过实验进一步掌握指针的概念,会定义和使用指针变量。
(2)能正确使用数组的指针和指向数组的指针变量。
(3)能正确使用字符串的指针和指向字符串的指针变量。
二、实验内容
编程序并上机调试运行。
1、有一个班4个学生5门课程。( 1)求第一门课程的平均分;( 2)找出有
2 门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;( 3) 找出平均成绩在90分以上的学生。分别编
3 个函数实现以上要求。
代码:
#include <>
void main()
{
void fun1( int ( * stu)[5]) ;
void fun2( int ( * stu)[5]) ;
void fun3( int ( * stu)[5]) ;
int stu[4][5] ;
int i,j ;
printf( "input the students'scores:\n" ) ; for (i =0;i <4;i ++)
{
printf( "student%d\n" ,i + 1) ;
for (j =0;j <5;j ++)
{
printf( "course%d:" ,j + 1) ; scanf( "%d", &stu[i][j]);
}
printf( "\n" ) ;
}
fun1(stu) ;
printf( "\n" ) ;
fun2(stu) ;
printf( "\n" ) ; fun3(stu) ;
}
void fun1( int ( * stu)[5])
{
int ave ;
printf( "fun1\n" ) ;
ave = ( ** stu + *( *stu + 1) + *(*stu + 2) + *(*stu + 3) + *(*stu + 4)) / 5; printf( "The first couse ave socre is :%d\n" ,ave) ;
}
void fun2( int ( * stu)[5])
{
int i,j ;
int cnt,sum ;
printf( "fun2\n" ) ;
printf( "This students have more than 2 courses's score less than 60 :\n" ) ;
for (i = 0 ;i < 4;i ++) {
cnt = 0 ;
sum = 0 ;
for (j = 0 ;j < 5;j ++)
{
if (*(*(stu + i) + j) < 60)
cnt ++ ;
}
if (cnt >= 2)
{ printf( "stu_id is:%-4d\n" ,i +1) ;
for (j = 0;j < 5;j ++)
{
printf( "score%d is:%-4d" ,j +1, * ( *(stu + i) sum +=
+ j)) ;
*(*(stu + i) + j) ;
} printf( "\n" ) ;
printf( "ave is:%-4d\n" ,sum / 5) ;
}
}
}
void fun3( int ( * stu)[5])
int ave,sum ;
int i,j ;
printf( "fun3\n" ) ;
printf( "This students ave score more than 90 :\n" ) ;
for (i = 0 ;i < 4;i ++)
{
sum = 0 ;
for (j = 0;j < 5;j ++)
{
sum += * ( * (stu + i) + j) ;
}
ave = sum / 5 ;
if (ave >= 90)
{
printf( "stu_id is :%-4d\n" ,i +1)
printf( "ave is:%-4d\n" ,sum / 5)
printf( "\n" ) ;
}
}
}
结果:
H SO FTV YjVa n\bi r,\ww?em p. exe
Funl
Tile fir Sib GUU^e avc ^ULrc =55
Fun2
T his studLeritG have noi^e t Ran 2 coLii'ueC1 c ECORE than £0 -sXuL_iil 1-& -2
s corel is :b& 朱core? is :bK score3 isSJjV scoi*e4 is :bkJ scoreE> is :t>3 ave is s E?1
fun 3
This students aue score nor*e than - stLi_id is -1
a.ve xs : 9G
Lnput the students* scores: studentl
cauFsel:98
c uuir-ae2 -?"5
coLirseS : V4
COUFSB4-??
c OLIFUB S -9*3
students
coursel
c ourceS ™ 5-8
courses«59 COUHPS:B4 <60
emirs FS5 ;63 c oursei :56i
&ours;s2
GouroQS s®7
couir&B^BbZ
courses:78
3 tudcrkt4
courssl-67 cours B2:89
□ mill*烷椁?
cauirac^l sG2
c oLtrse& :4b