《C语言与软件技术基础指针(二)上机报告.docx》由会员分享,可在线阅读,更多相关《C语言与软件技术基础指针(二)上机报告.docx(6页珍藏版)》请在三一文库上搜索。
1、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)
2、5);void fun3( int (* stu)5);int stu45;int i,j ;printf( 'Input the studentscoresAn") ; for (i =0;i <4;i +) printf( "student%dn" ,i + 1);for (j =0;j <5;j +)printf( ncourse%d:n J + 1) ; scanf( "%dn, &stuij);printf( Hnn); )fun1 (stu);printf( nnH);fun2(stu);printf( nnn)
3、; fun3(stu); )void fun1 (int (* stu)5) (int ave ;printf( "fun1nH);ave = (* stu + *( *stu + 1) + *(*stu + 2) + *(*stu + 3) + *(*stu + 4) / 5; printf( "The first couse ave socre is :%dn",ave);)void fun2( int (* stu)5)int i,j ;int ent,sum ;printf( "fun2nn);printf( "This student
4、s have more than 2 courses's score less than 60 :n"); for (i = 0 ;i < 4;i +) <ent = 0 ;sum = 0 ;for (j = 0 ;j < 5;j +) (if (*(*(stu + i) + j) v 60) ent+ ;if (ent >= 2)(printf("stujd is:%-4dn",i +1);for (j = 0;j < 5;j +) (printf( nscore%d is:%-4d" J +1, * (*(stu
5、 + i) sum +=+ j);*(*(stu + i) + j);>printf( nnn);printf( nave is:%-4dn" ,sum / 5); ) ) )void fun3( int (* stu)5)int ave,sum ;int i,j ;printf( nfun3n");printf( "This students ave score more than 90 :n");for (i = 0 ;i < 4;i +)for (j = 0;j < 5;j +)sum += * (* (stu + i) + j)
6、;)ave = sum / 5 ;if (ave >= 90)printf(printf("stu_id is :%-4dn",i +1) "ave is:%-4dnn ,sum / 5)printf(结果:SO FTV YjVa nbi r,ww?em p. exe:unltile fir Sib GUUe avc AULrc=55un2his studLeritG have noiAe tRan 2 coLiPueC1 c ECOREthan £0 ->XuLJil 1-& -2i corel is :b& 朱core?
7、is :bK score3 isSJjV scoi*e4 is :bkj scoreE> is :t>3 ive is s E?1*un 3I his students aue score nor*e than - stLi_id is -1i.ve xs : 9GLnput the students* scores: studentl cauFsel: 98 c uuir-ae2 ?''5 coLirseS : V4 COUFSB4-?c OLIFUBS -9*3students coursel c ourceS 5-8 courses«59 COUHP
8、S : B4 <60emirsFS5 ; 63 c oursei : 56i&ours; s2GouroQS s®7 couir&BABbZ courses: 78 3 tudcrkt4courssl-67 coursB2: 89 mm烷椁? cauiracAl sG2 c oLtrse& : 4b2、编写一个程序,输入月份,输出该月的英文月名。例如,输入“ 3”,则输出“ March",要求用指针数组实现代码:#inelude <>void main()(char*month_name13= "illegalmon th
9、' nJa nu ary”, Tebruary" , "March",“April”,"May","June", "July" , "August" , September", "October" "November", nDe cember"int n;printf( uin put mon th:nn );scanf( H%dn, &n);if (n <=12) &&n>=1)printf( "It is %s.nn , *(month_nameAn);elseprintf( "It is wron g.n");结果:input month: 3It is March.Press any key to continuenr