日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

全国计算机等级考试题库二级C操作题100套(第97套)

發(fā)布時(shí)間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全国计算机等级考试题库二级C操作题100套(第97套) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第97套:

函數(shù)fun的功能是:逆置數(shù)組元素中的值。例如:若a所指數(shù)組中的數(shù)據(jù)依次為:1、2、3、4、5、6、7、8、9,則逆置后依次為:9、8、7、6、5、4、3、2、1。形參n給出數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:

#include <stdio.h> void fun(int a[], int n) { int i,t; for (i=0; i<___1___; i++) { t=a[i]; a[i] = a[n-1-___2___]; ___3___ = t; } } main() { int b[9]={1,2,3,4,5,6,7,8,9}, i; printf("\nThe original data :\n"); for (i=0; i<9; i++) printf("%4d ", b[i]); printf("\n"); fun(b, 9); printf("\nThe data after invert :\n"); for (i=0; i<9; i++) printf("%4d ", b[i]); printf("\n"); }

解題思路:
第一處:利用for循環(huán)語(yǔ)句,對(duì)數(shù)組中的各元素進(jìn)行逆置,所以終止值為n/2。
第二處:進(jìn)行交換數(shù)組中元素的值,由于是依次是首和尾交換,所以應(yīng)填:i。
第三處:使用中間變量t來交換的,所以應(yīng)填:a[n-i-1]。


給定程序MODI1.C中函數(shù)fun的功能是:將一個(gè)由八進(jìn)制數(shù)字字符組成的字符串轉(zhuǎn)換為與其面值相等的十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含5位八進(jìn)制數(shù)字字符。
例如,若輸入:77777,則輸出將是:32767。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
給定源程序:

#include <stdio.h> int fun( char *p ) { int n; n= *P-'o'; p++; while( *p!=0 ) { n=n*8+*P-'o'; p++; } return n; } main() { char s[6]; int i; int n; printf("Enter a string (Ocatal digits): "); gets(s); if(strlen(s)>5){ printf("Error: String too longer !\n\n");exit(0); } for(i=0; s[i]; i++) if(s[i]<'0'||s[i]>'7') { printf("Error: %c not is ocatal digits!\n\n",s[i]);exit(0); } printf("The original string: "); puts(s); n=fun(s); printf("\n%s is convered to integer number: %d\n\n",s,n); }

解題思路:
第一和第二處:p錯(cuò)寫成P,‘0’錯(cuò)寫成’o’。


學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:函數(shù)返回指定學(xué)號(hào)的學(xué)生數(shù)據(jù),指定的學(xué)號(hào)在主函數(shù)中輸入。若沒找到指定學(xué)號(hào),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回。(用于字符串比較的函數(shù)是strcmp)。
注意: 部分源程序在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入
你編寫的若干語(yǔ)句。
給定源程序:

#include <stdio.h> #include <string.h> #define N 16 typedef struct { char num[10]; int s; } STREC; STREC fun( STREC *a, char *b ) { } main() { STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85}, {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87}, {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91}, {"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}}; STREC h; char m[10]; int i;FILE *out ; printf("The original data:\n"); for(i=0; i<N; i++) { if(i%4==0) printf("\n"); printf("%s %3d ",s[i].num,s[i].s); } printf("\n\nEnter the number: ");gets(m); h=fun( s,m ); printf("The data : "); printf("\n%s %4d\n",h.num,h.s); printf("\n"); out = fopen("c:\\test\\out.dat","w") ; h=fun(s,"GA013"); fprintf(out,"%s %4d\n",h.num,h.s); fclose(out); }

解題思路:
本題是從學(xué)生記錄體中找出給定的學(xué)號(hào)。具體操作請(qǐng)看答案程序中的說明。
參考答案:

STREC fun( STREC *a, char *b ) { STREC c ; int i ; c.num[0] = '\0' ; /* 置初始空串 */ c.s = -1 ; /* 置成績(jī)?yōu)?1 */ for(i = 0 ; i < N ; i++) if(strcmp(a[i].num, b)==0) { /* 判斷學(xué)號(hào)是否相等 */ strcpy(c.num, a[i].num) ; /* 相等,則對(duì)學(xué)號(hào)進(jìn)行賦值 */ c.s=a[i].s; /* 相等,則對(duì)成績(jī)進(jìn)行賦值 */ break ; /* 退出循環(huán)體 */ } return c ; /* 返回結(jié)構(gòu)體變量 */ }

總結(jié)

以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第97套)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。