當前位置:編程學習大全網 - 編程語言 - c語言編程 高分

c語言編程 高分

可以這樣寫:

#include <stdio.h>

#define NumberOfSubjects?3

#define NumberOfStudents 10

#define PassingScore 40

typedef enum {

false,

true,

}

bool;

typedef enum {

M,

F,

}

Gender;

typedef enum {

Literature,

History,

Programming,

}

SubjectIndex;

typedef struct {

unsigned ID;

char?*name;

Gendergender;

unsigned scores[ NumberOfSubjects ];

}

Student;

Student students[ NumberOfStudents ] = {

{ 1000, "Haven",F, {?62, 90, 50 } },

{ 1001, "Wendy",F, {?68, 81, 25 } },

{ 1002, "Tedd",?M, {?69, 76, 58 } },

{ 1003, "Elyssa",F, {?79, 83, 15 } },

{ 1004, "Halie",F, { 100, 78, 43 } },

{ 1005, "Quinn",F, {?55, 91, 41 } },

{ 1006, "Heidi",F, {?87, 89, 26 } },

{ 1007, "Rebecca",?F, {?93, 75, 44 } },

{ 1008, "Pierce",M, {?29, 32, 97 } },

{ 1009, "Makenna",?F, {?53, 40, 57 } },

};

void printHeader( ) {

puts( "-------------------------------------------------------------------------------\n"

"|?|?|?|Scores?|\n"

"|?ID?|Name|?Gender?|------------------------------------------------|\n"

"|?|?|?| Literature | History | Programming | (Average) |\n"

"-------------------------------------------------------------------------------" );

}

void printStudent( Student stu ) {

unsigned lit = stu.scores[ Literature?],

his = stu.scores[ History?],

pro = stu.scores[ Programming ];

float avg = ( float ) ( lit + his + pro ) / NumberOfSubjects;

printf( "?%u%-10s %3s %12u %11u %11u %13.2f\n",

stu.ID, stu.name, stu.gender == M ? "M" : "F", lit, his, pro, avg );

}

Student topScorer( SubjectIndex sji ) {

Student top = students[ 0 ];

int i = 1;

for ( ; i < NumberOfStudents; i++ )

if ( students[ i ].scores[ sji ] > top.scores[ sji ] )

top = students[ i ];

return top;

}

bool failingAtLeastOneSubject( Student stu ) {

int i = 0;

for ( ; i < NumberOfSubjects; i++ )

if ( stu.scores[ i ] < PassingScore )

return true;

return false;

}

void main( ) {

int i;

puts( "Format of displayed student data:\n" );

printHeader( );

puts( "\n>>> Top scorers of Literature, History and Programming (in that order):\n" );

for ( i = 0; i < NumberOfSubjects; i++ )

printStudent( topScorer( i ) );

puts( "\n\n>>> Failing at least one subject:\n" );

for ( i = 0; i < 10; i++ )

if ( failingAtLeastOneSubject( students[ i ] ) )

printStudent( students[ i ] );

}

  • 上一篇:急求:單片機紅外遙控器接受和發射電路圖和程序設計,程序最好C語言編的
  • 下一篇:大學裏與編程有關的專業有哪些?
  • copyright 2024編程學習大全網