自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(47)

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來(lái)源:本站整理
  • 閱讀:
導(dǎo)讀:
  5.編程序,對(duì)上一題中名為“CCW.TXT”的磁盤(pán)文件中“@”之前的所有字符解密并顯示。
  「解」要編寫(xiě)的程序完成與上一程序功能相反的工作,將上述程序中的DALTA定義成一10即可。完整程序略。
  6.輸入100個(gè)學(xué)生的信息(含學(xué)號(hào)、姓名、年齡、七門(mén)課程成績(jī)、總分),其中學(xué)生的總分由程序計(jì)算產(chǎn)生。先將學(xué)生信息存入

5.編程序,對(duì)上一題中名為“CCW.TXT”的磁盤(pán)文件中“@”之前的所有字符解密并顯示。

「解」要編寫(xiě)的程序完成與上一程序功能相反的工作,將上述程序中的DALTA定義成一10即可。完整程序略。

6.輸入100個(gè)學(xué)生的信息(含學(xué)號(hào)、姓名、年齡、七門(mén)課程成績(jī)、總分),其中學(xué)生的總分由程序計(jì)算產(chǎn)生。先將學(xué)生信息存入磁盤(pán)二進(jìn)制數(shù)據(jù)文件student.dat中。然后再讀取該文件,尋找總分最高的學(xué)生并輸出該生的所有信息。

「解」程序要定義一個(gè)結(jié)構(gòu),逐一輸入學(xué)生信息,并完成學(xué)生的總分計(jì)算,將學(xué)生信息存到該結(jié)構(gòu)中,然后將該結(jié)構(gòu)信息存入文件。設(shè)學(xué)生信息的輸入以學(xué)生的學(xué)號(hào)為負(fù)數(shù)結(jié)束。然后,程序再用循環(huán)從這文件讀入學(xué)生信息,將其中總分更高的學(xué)生信息存入另一結(jié)構(gòu)中。循環(huán)結(jié)束后,結(jié)構(gòu)中存儲(chǔ)的就是總分最高學(xué)生的信息。最后,顯示這總分最高的學(xué)生信息。程序如下:

# include

# include

# include

struct stu {

long no;

char name[20];

int age;

int score[7];

int total;

} student, maxs;

FILE *fp;

void main()

{ char buf[120];int total,i,t;long lt;

if((fp= fopen(“student.dat”,“wb”))== NULL) {

printf(“Can‘t open file %s.\n”,“student.dat” );exit(0);

}

printf(“輸入學(xué)生的學(xué)號(hào)、姓名、年齡、七門(mén)課程成績(jī)(學(xué)號(hào)小于0結(jié)束) \n”);

while(1) {

scanf(“%ld”, ); student.no = lt;

if(student.no 0) break;

scanf(“%s”, buf); strncpy( student.name, buf,19);

scanf(“%d”, t); student.age = t;

for( total = 0, i = 0; i 7;i++) {

scanf(“%d”, t); student.score= t;

total+= t;

}

student.total= total;

fwrite(char *) student,sizeof student, 1, fp);

}

fclose(fp);

if((fp = fopen(“student.dat”,“rb”))== NULL) {

printf(“Can‘t open file %s.\n”,“student.dat”);exit(0);

}

maxs.total=-100;

While( !feof(fp)) {

fread((char *) student,sizeof student,l,fp);

if( student.total maxs.total) maxs=student;

}

fclose(fp);

printf(“總分最高的學(xué)生信息:\n”);

printf(“學(xué)號(hào):%ld”, maxs.no);

printf(“ \t姓名:%s”,maxs,name);

printf(“\t年齡::%d\n成績(jī):”, maxs.age)

for( i=0; i 7; i++)

printf(“m”,maxs.score);

printf(“\nTOTAL = %d\n”, maxs. total);

}

相關(guān)閱讀

熱門(mén)標(biāo)簽

關(guān)于自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(47)文章

2021年自學(xué)考試報(bào)考入口 2021年自學(xué)考試報(bào)考入口

熱門(mén)文章