天天看點

用指向數組的指針作為函數參數(2)

練習03-17-03

從三個學生四門成績的二維數組中,尋找到有成績不及格的學生,輸出對應成績:

輸出樣例:

The original score matrix:
  75.00  31.00  44.00  21.00
  12.00  82.00  37.00  48.00
  51.00  99.00   7.00  32.00
The list of failed student:
The score of NO1:  75.00  31.00  44.00  21.00
The score of NO2:  12.00  82.00  37.00  48.00
The score of NO3:  51.00  99.00   7.00  32.00

--------------------------------
Process exited after 0.054 seconds with return value 0
請按任意鍵繼續. . .

           

代碼如下:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	srand((unsigned)time(NULL));
	float score[3][4];
	int i,j;
	printf("The original score matrix:\n");
	for(i=0;i<3;i++){
		for(j=0;j<4;++j){
			score[i][j]=rand()%100;
			printf("%7.2f",score[i][j]);
		}putchar('\n');
	}
	printf("The list of failed student:\n");
	void find_fail(float (*p)[4],int n);
	find_fail(score,3);
	return 0;
}
void find_fail(float (*p)[4],int n)
{
	int i,j,flag=0;
	void search(float (*p)[4],int n);
	for(i=0;i<3;++i){
		int count=0;
		for(j=0;j<4;++j){
			if(*(*(p+i)+j)<60)	++count;
		}
		if(count>0){
			search(p+i,i);
		}
	}
}
void search(float (*p)[4],int n)
{
	printf("The score of NO%d:",n+1);
	int i;
	for(i=0;i<4;++i){
		printf("%7.2f",*(*p+i));
	}
	putchar('\n');
}
           

繼續閱讀