
近日,各個(gè)省份已經(jīng)陸續(xù)開(kāi)始公布全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間、考試時(shí)間、成績(jī)查詢(xún)時(shí)間、以及計(jì)算機(jī)等級(jí)考試的注意事項(xiàng)等相關(guān)內(nèi)容,請(qǐng)需要參加2014年計(jì)算機(jī)等級(jí)考試的考生隨時(shí)關(guān)注自己所在省份的人事考試網(wǎng)了解相關(guān)內(nèi)容,以確保能順利參加考試。
給定程序中,函數(shù)fun的功能是將形參給定的字符串、整數(shù)、浮點(diǎn)數(shù)寫(xiě)到文本 文件中,再用字符方式從此文本文件中逐個(gè)讀入并顯示在終端屏幕上。 請(qǐng)?jiān)诔绦虻南聞澗(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除, 使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
	#include 
	
	 
		void fun(char *s, int a, double f) 
		{ 
		__1__ fp; 
		char ch; 
		fp = fopen("file1.txt", "w"); 
		fprintf(fp, "%s %d %f\n", s, a, f); 
		fclose(fp); 
		fp = fopen("file1.txt", "r"); 
		printf("\nThe result :\n\n"); 
		ch = fgetc(fp); 
		while (!feof(__2__)) { 
		putchar(__3__); ch = fgetc(fp); } 
		putchar(’\n’); 
		fclose(fp); 
		} 
		main() 
		{ char a[10]="Hello!"; int b=12345; 
		double c= 98.76; 
		fun(a,b,c); 
		} 
		解題思路: 
		本題是考察先把給定的數(shù)據(jù)寫(xiě)入到文本文件中,再?gòu)脑撐募x出并顯示在屏幕上。 
		第一處:定義文本文件類(lèi)型變量,所以應(yīng)填:FILE *。 
		第二處:判斷文件是否結(jié)束,所以應(yīng)填:fp。 
		第三處:顯示讀出的字符,所以應(yīng)填:ch。 
		*************************************************** 
		給定程序MODI1.C中函數(shù)fun的功能是: 依次取出字符串中所有數(shù)字字符, 形成新的字符串, 并取代原字符串。 
		請(qǐng)改正函數(shù)fun中指定部位的錯(cuò)誤, 使它能得出正確的結(jié)果。 
		注意: 不要改動(dòng)main函數(shù), 不得增行或刪行, 也不得更改程序的結(jié)構(gòu)! 
		給定源程序: 
		#include  
		 
		void fun(char *s) 
		{ int i,j; 
		for(i=0,j=0; s[i]!=’\0’; i++) 
		if(s[i]>=’0’ && s[i]<=’9’) 
		s[j]=s[i]; 
		s[j]="\0"; 
		} 
		main() 
		{ char item[80]; 
		printf("\nEnter a string : ");gets(item); 
		printf("\n\nThe string is : \"%s\"\n",item); 
		fun(item); 
		printf("\n\nThe string of changing is : \"%s\"\n",item ); 
		} 
		解題思路: 
		第一處: 要求是取出原字符串中所有數(shù)字字符組成一個(gè)新的字符串,程序中是使用變量j 
		來(lái)控制新字符串的位置,所以應(yīng)改為:s[j++]=s[i];。 
		第二處: 置新字符串的結(jié)束符,所以應(yīng)改為:s[j]=’\0’;. 
		請(qǐng)編寫(xiě)函數(shù)fun, 函數(shù)的功能是: 將M行N列的二維數(shù)組中的字符數(shù)據(jù), 按列的 
		順序依次放到一個(gè)字符串中。 
		例如, 二維數(shù)組中的數(shù)據(jù)為: 
		W W W W 
		S S S S 
		H H H H 
		則字符串中的內(nèi)容應(yīng)是: WSHWSHWSH。 
		注意:部分源程序在文件PROG1.C中。 
		請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容, 僅在函數(shù)fun的花括號(hào)中填入 
		你編寫(xiě)的若干語(yǔ)句。 
		給定源程序: 
		#include  
		 
		#define M 3 
		#define N 4 
		void fun(char s[][N], char *b) 
		{ 
		int i,j,n=0; 
		for(i=0; i < N;i++) /* 請(qǐng)?zhí)顚?xiě)相應(yīng)語(yǔ)句完成其功能 */ 
		{ 
		} 
		b[n]=’\0’; 
		} 
		main() 
		{ char a[100],w[M][N]={{’W’,’W’,’W’,’W’},{’S’,’S’,’S’,’S’},{’H’,’H’,’H’,’H’}}; 
		int i,j; 
		printf("The matrix:\n"); 
		for(i=0; i 
			{ for(j=0;j 
				printf("\n"); 
				} 
				fun(w,a); 
				printf("The A string:\n");puts(a); 
				printf("\n\n"); 
				NONO(); 
				} 
				解題思路: 
				本題是把二維數(shù)組中的字符數(shù)據(jù)按列存放到一個(gè)字符串中。 
				1. 計(jì)算存放到一維數(shù)組中的位置。 
				2. 取出二維數(shù)組中的字符存放到一維數(shù)組(已計(jì)算出的位置)中。 
				參考答案: 
				void fun(char s[][N], char *b) 
				{ 
				int i,j,n=0; 
				for(i=0; i < N;i++) /* 請(qǐng)?zhí)顚?xiě)相應(yīng)語(yǔ)句完成其功能 */ 
				{ 
				for(j = 0 ; j < M ; j++) { 
				b[n] = s[j][i] ; 
				n = i * M + j + 1; 
				} 
				} 
				b[n]=’\0’; 
				} 
				請(qǐng)要報(bào)名全國(guó)計(jì)算機(jī)考試的考生在規(guī)定時(shí)間內(nèi)登陸人事考試網(wǎng)進(jìn)行報(bào)名、繳費(fèi),計(jì)算機(jī)考試準(zhǔn)考證和成績(jī)查詢(xún)等相關(guān)考試信息請(qǐng)關(guān)注唯學(xué)網(wǎng) 計(jì)算機(jī)等級(jí)考試培訓(xùn)欄目。 
				  
			  
			  
		  
		 
