Loading... ```cpp #include <stdio.h> void subject ( int ) ; // 实现科目文字输出 void subjects ( int ( *)[ ] , int ) ; // 实现科目数据输出 void unqualified ( int ( *) [ ] , int ) ; // 实现不合格函数 void average ( int ( * ) [ ] ) ; // 实现平均数函数 int main ( ) { int array [ 3 ] [ 4 ] = { { 65 , 50 , 40 , 60 } , { 30 , 87 , 90 , 81 } , { 90 , 99 , 100 , 98 } } , *a , b , c , ( *r )[ 3 ] , i , j , n , m = 1 , x ; while ( m == 1 ) { printf ("输入 1 ,输出全体成绩单\n输入 2 ,输出单科不合格同学的全部成绩\n输入 3 ,精准输出具体成绩\n输入 4 ,后输入学号,输出该人成绩单\n输入 5 ,输出各科平均分\n输入 0 ,结束程序!\n") ; scanf ( "%d" , &x ) ; if ( x >0 && x<= 5 ) { switch ( x ) { case 1 : { for ( i = 0 ; i < 4 ; i ++ ) { subject ( i ) ; } for ( a = *array ; a < array[ 0 ] + 12 ; a ++ ) { if ( (a - array[0]) % 4 == 0 ) { printf ( "\n" ) ; } printf ( " %5d" , *a ) ; } printf ( "\n" ) ; break ; } case 2 : { unqualified ( array , 3) ; break ; } case 3 : { scanf ( "%d,%d" , &b , &c ) ; printf ( "单科成绩为: a[ %d ][ %d ] = %d\n" , b , c , *( * ( array + b) + c ) ) ; } case 4 : { scanf ( "%d" , &n ) ; subjects ( array , n ) ; break ; } case 5 : { average ( array ) ; } } } else if ( x == 0 ) { m = 0 ; } else { printf ( "请输入0-4之间的指令!\n") ; } } } void subject ( int i ) { switch ( i ) { case 0 : { printf ( "%4c语文:" , ' ' ) ; break ; } case 1 : { printf ( "%4c数学:" , ' ' ) ; break ; } case 2 : { printf ( "%4c英语:" , ' ' ) ; break ; } case 3 : { printf ( "%4c政治:" , ' ') ; break ; } } } void subjects ( int ( *m )[4] , int n ) { int i ; printf ( "第%d名同学成绩为:\n" , n ) ; for ( i = 0 ; i < 4 ; i ++ ) { subject ( i ) ; printf ( "%4d\n" , * (*(m +n) + i ) ) ; } } void unqualified ( int ( *a ) [ 4 ] , int n ) { int i , j , sum = 1; printf ( "单科不合格有如下:\n") ; for ( i = 0 ; i < n ; i ++ ) { for ( j = 0 ; j < 4 ; j ++ ) { if ( * ( * ( a + i) + j ) < 60 ) { printf ("第%d名单科不及格的同学全部成绩:\n" , sum ) ; for ( j = 0 ; j < 4 ; j ++ ) { printf ( "%d \n" , * ( * ( a + i ) + j ) ) ; } sum ++ ; break ; } } } } void average ( int (*a)[4] ) { int i , j ; double sum ; for ( i = 0 ; i < 4 ; i ++ ) { sum = 0 ; for ( j = 0 ; j < 3 ; j ++ ) { sum = sum + *( *( a + j ) + i) ; } printf ( "第 %d 科目平均成绩为:%.2lf\n" , i + 1 , sum / 3 ) ; } } ``` 最后修改:2021 年 05 月 18 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。