亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 2010-

?? 計算機二級機考南開一百題
??
?? 第 1 頁 / 共 5 頁
字號:
s++ ; 
} 
return k ; 
} 

※※※※※※※※※※※※※※※※※※※※※※※※※ 
第04套: 
程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。所 
有學生數據均以二進制方式輸出到文件中。函數fun的功能是從形參filename所指 
的文件中讀入學生數據,并按照學號從小到大排序后,再用二進制方式把排序后的 
學生數據輸出到filename所指的文件中,覆蓋原來的文件內容。 
請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結 
果。 
注意:源程序存放在考生文件夾下的BLANK1.C中。 
不得增行或刪行,也不得更改程序的結構! 
給定源程序: 
#include <stdio.h> 
#define N 5 
typedef struct student { 
long sno; 


char name[10]; 
float score[3]; 
} STU; 
void fun(char *filename) 
{ FILE *fp; int i, j; 
STU s[N], t; 
/**********found**********/ 
fp = fopen(filename, __1__); 
fread(s, sizeof(STU), N, fp); 
fclose(fp); 
for (i=0; i<N-1; i++) 
for (j=i+1; j<N; j++) 
/**********found**********/ 
if (s[i].sno __2__ s[j].sno) 
{ t = s[i]; s[i] = s[j]; s[j] = t; } 
fp = fopen(filename, "wb"); 
/**********found**********/ 
__3__(s, sizeof(STU), N, fp); /* 二進制輸出 */ 
fclose(fp); 
} 
main() 
{ STU t[N]={ {10005,"ZhangSan", 95, 80, 88}, {10003,"LiSi", 85, 70, 78}, 
{10002,"CaoKai", 75, 60, 88}, {10004,"FangFang", 90, 82, 87}, 
{10001,"MaChao", 91, 92, 77}}, ss[N]; 
int i,j; FILE *fp; 
fp = fopen("student.dat", "wb"); 
fwrite(t, sizeof(STU), 5, fp); 
fclose(fp); 
printf("\n\nThe original data :\n\n"); 
for (j=0; j<N; j++) 
{ printf("\nNo: %ld Name: %-8s Scores: ",t[j].sno, t[j].name); 
for (i=0; i<3; i++) printf("%6.2f ", t[j].score[i]); 
printf("\n"); 
} 
fun("student.dat"); 
printf("\n\nThe data after sorting :\n\n"); 
fp = fopen("student.dat", "rb"); 
fread(ss, sizeof(STU), 5, fp); 
fclose(fp); 
for (j=0; j<N; j++) 
{ printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name); 
for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]); 
printf("\n"); 
} 
} 
解題思路: 
本題是考察把結構中的數據寫入文件。 
 第一處:建立文件的類型,考慮到是把結構中的數據(結構中的數據包含不打印的字符) 
從文件中讀出,所以應填:"rb"。 
第二處:判斷當前學號是否大于剛讀出的學號進行相比,如果大于,則進行交換,所以應
填:>。 
第三處:把已排序的結構數據,重新寫入文件,所以應填:fwrite。 
*************************************************** 
給定程序MODI1.C中函數fun的功能是: 在字符串的最前端加入n個*號, 形成 
新串, 并且覆蓋原串。 
注意: 字符串的長度最長允許為79。 
請改正函數fun中指定部位的錯誤, 使它能得出正確的結果。 
注意: 不要改動main函數, 不得增行或刪行, 也不得更改程序的結構! 
給定源程序: 
#include <stdio.h> 
#include <string.h> 
void fun ( char s[], int n ) 
{ 
char a[80] , *p; 
int i; 
/**********found***********/ 
s=p; 
for(i=0; i<n; i++) a[i]='*'; 
do 
{ a[i]=*p; 
i++; 
} 
/**********found***********/ 
while(*p++) 
a[i]=0; 
strcpy(s,a); 
} 
main() 
{ int n; char s[80]; 
printf("\nEnter a string : "); gets(s); 
printf("\nThe string \"%s\"\n",s); 
printf("\nEnter n ( number of * ) : "); scanf("%d",&n); 
fun(s,n); 
printf("\nThe string after insert : \"%s\" \n" ,s); 
} 
解題思路: 
第一處: 指針p應指向s,所以應改為:p=s;。 
第二處: 死循環,當do while循環執行一次,臨時變量p應該指向字符串的下一位置,所以
應改為:while(*p++);。 
請編寫函數fun,函數的功能是:統計各年齡段的人數。N個年齡通過調用隨機 
函數獲得,并放在主函數的age數組中;要求函數把0至9歲年齡段的人數放在d[0] 
中,把10至19歲年齡段的人數放在d[1]中,把20至29歲年齡段的人數放在d[2]中, 
其余依此類推, 把100歲 (含100)以上年齡的人數都放在d[10]中。結果在主函數
中輸出。 
注意:部分源程序在文件PROG1.C中。 
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入 
你編寫的若干語句。 
給定源程序: 
#include <stdio.h> 
#define N 50 
#define M 11 
void fun( int *a, int *b) 
{ 
} 
double rnd() 
{ static t=29,c=217,m=1024,r=0; 
r=(r*t+c)%m; return((double)r/m); 
} 
main() 
{ int age[N], i, d[M]; 
for(i=0; i<N;i++)age[i]=(int)(115*rnd()); 
printf("The original data :\n"); 
for(i=0;i<N;i++) printf((i+1)%10==0?"%4d\n":"%4d",age[i]); 
printf("\n\n"); 
fun( age, d); 
for(i=0;i<10;i++)printf("%4d---%4d : %4d\n",i*10,i*10+9,d[i]); 
printf(" Over 100 : %4d\n",d[10]); 
NONO(d); 
} 
解題思路: 
本題是統計各年齡段的人數。 
1. 初始化各年齡段人數為0。 
2. 使用for循環以及求出各年齡的十位數字作為存放人數的地址,如果大于值大于10,則
存入d[10]中(大于110歲的人)。 
參考答案: 
void fun( int *a, int *b) 
{ 
int i, j ; 
for(i = 0 ; i < M ; i++) b[i] = 0 ; 


for(i = 0 ; i < N ; i++) { 
j = a[i] / 10 ; 
if(j > 10) b[M - 1]++ ; else b[j]++ ; 
} 
} 
double rnd() 
{ static t=29,c=217,m=1024,r=0; 
r=(r*t+c)%m; return((double)r/m); 
} 

第05套: 
給定程序中,函數fun的功能是將參數給定的字符串、整數、浮點數寫到文本 
文件中,再用字符串方式從此文本文件中逐個讀入,并調用庫函數atoi和atof將 
字符串轉換成相應的整數、浮點數,然后將其顯示在屏幕上。 
請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結果。 
注意:源程序存放在考生文件夾下的BLANK1.C中。 
不得增行或刪行,也不得更改程序的結構! 
給定源程序: 
#include <stdio.h> 
#include <stdlib.h> 
void fun(char *s, int a, double f) 
{ 
/**********found**********/ 
__1__ fp; 
char str[100], str1[100], str2[100]; 
int a1; double f1; 
fp = fopen("file1.txt", "w"); 


fprintf(fp, "%s %d %f\n", s, a, f); 
/**********found**********/ 
__2__ ; 
fp = fopen("file1.txt", "r"); 
/**********found**********/ 
fscanf(__3__,"%s%s%s", str, str1, str2); 
fclose(fp); 
a1 = atoi(str1); 
f1 = atof(str2); 
printf("\nThe result :\n\n%s %d %f\n", str, a1, f1); 
} 
main() 
{ char a[10]="Hello!"; int b=12345; 
double c= 98.76; 
fun(a,b,c); 
} 
解題思路: 
本題是考察先把給定的數據寫入到文本文件中,再從該文件讀出并轉換成相應的整數、浮
點數顯示在屏幕上。 
第一處:定義文本文件類型變量,所以應填:FILE *。 
第二處:關閉剛寫入的文件,所以應填:fclose(fp)。 
第三處:從文件中讀出數據,所以應填:fp。 
給定程序MODI1.C中函數fun的功能是: 對N名學生的學習成績,按從高到低的 
順序找出前m(m≤10)名學生來, 并將這些學生數據存放在一個動態分配的連續存 
儲區中, 此存儲區的首地址作為函數值返回。 
請改正函數fun中指定部位的錯誤, 使它能得出正確的結果。 
注意: 不要改動main函數, 不得增行或刪行, 也不得更改程序的結構! 
給定源程序: 
#include <stdio.h> 
#include <alloc.h> 
#include <string.h> 
#define N 10 
typedef struct ss 
{ char num[10]; 
int s; 
} STU; 
STU *fun(STU a[], int m) 
{ STU b[N], *t; 
int i,j,k; 
/**********found**********/ 
t=(STU *)calloc(sizeof(STU),m) 
for(i=0; i<N; i++) b[i]=a[i]; 
for(k=0; k<m; k++) 
{ for(i=j=0; i<N; i++) 
if(b[i].s > b[j].s) j=i; 
/**********found**********/ 
t(k)=b(j); 
b[j].s=0; 
} 
return t; 
} 
outresult(STU a[], FILE *pf) 
{ int i; 
for(i=0; i<N; i++) 
fprintf(pf,"No = %s Mark = %d\n", a[i].num,a[i].s); 
fprintf(pf,"\n\n"); 
} 
main() 
{ STU a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77}, 
{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }; 
STU *pOrder; 
int i, m; 
printf("***** The Original data *****\n"); 
outresult(a, stdout); 
printf("\nGive the number of the students who have better score: "); 
scanf("%d",&m); 
while( m>10 ) 
{ printf("\nGive the number of the students who have better score: "); 
scanf("%d",&m); 
} 
pOrder=fun(a,m); 
printf("***** THE RESULT *****\n"); 
printf("The top :\n"); 
for(i=0; i<m; i++) 
printf(" %s %d\n",pOrder[i].num , pOrder[i].s); 
free(pOrder); 
} 
解題思路: 
第一處: 語句最后缺少分號。 
第二處: 應該使用方括號,而不是圓括號。 
像此類,使用編譯,即可發現。 
3.請編寫函數fun, 函數的功能是: 刪去一維數組中所有相同的數, 使之只剩一 
個。數組中的數已按由小到大的順序排列,函數返回刪除后數組中數據的個數。 
例如, 一維數組中的數據是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。 
刪除后,數組中的內容應該是: 2 3 4 5 6 7 8 9 10。 
注意:部分源程序在文件PROG1.C中。 
請勿改動主函數main和其它函數中的任何內容, 僅在函數fun的花括號中填入 
你編寫的若干語句。 
給定源程序: 
#include <stdio.h> 
#define N 80 
int fun(int a[], int n) 


{ 
} 
main() 
{ int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20; 
printf("The original data :\n"); 
for(i=0; i<n; i++)printf("%3d",a[i]); 
n=fun(a,n); 
printf("\n\nThe data after deleted :\n"); 
for(i=0;i<n;i++)printf("%3d",a[i]); printf("\n\n"); 
NONO(); 
} 

解題思路: 
本題是刪除已排序過數組中的相同數。 
1. 取出數組中的第1個數存放在臨時變量k中,再利用for循環來依次判斷所有的數。 
2. 如果取出的數和k相比,如果不相同,則仍存放在原數組中,其中存放的位置由j來控制, 
接著把這個數重新存入k。如果相同,則取下一數。 
參考答案: 
int fun(int a[], int n) 
{ 
int i, j = 1, k = a[0] ; 
for(i = 1 ; i < n ; i++) 
if(k != a[i]) { 
a[j++]=a[i] ; 
k = a[i] ; 
} 
a[j] = 0 ; 
return j ; 
} 
第06套: 
給定程序中,函數fun的功能是根據形參i的值返回某個函數的值。當調用正 
確時, 程序輸出: 
x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000 
請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結 
果。 
注意:源程序存放在考生文件夾下的BLANK1.C中。 
不得增行或刪行,也不得更改程序的結構! 
給定源程序: 
#include <stdio.h> 
double f1(double x) 
{ return x*x; } 
double f2(double x, double y) 
{ return x*y; } 
/**********found**********/ 
__1__ fun(int i, double x, double y) 
{ if (i==1) 
/**********found**********/ 
return __2__(x); 
else 
/**********found**********/ 
return __3__(x, y); 
} 
main() 
{ double x1=5, x2=3, r; 
r = fun(1, x1, x2); 
r += fun(2, x1, x2); 
printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r); 
} 
解題思路: 
本題是根據給定的公式來計算函數的值。 
第一處:程序中使用雙精度double類型進行計算,所以函數的返回值類型也為double,所
以應填:double。 
第二處:當i等于1時,則返回f1函數的值,所以應填:f1。 
第三處:如果i不等于1,則返回f2函數的值,所以應填:f2。 
1.給定程序MODI1.C中函數fun的功能是: 比較兩個字符串,將長的那個字符串 
的首地址作為函數值返回。 
請改正函數fun中指定部位的錯誤, 使它能得出正確的結果。 
注意: 不要改動main函數, 不得增行或刪行, 也不得更改程序的結構! 
給定源程序: 
#include <stdio.h> 
/**********found**********/ 
char fun(char *s, char *t) 
{ int sl=0,tl=0; char *ss, *tt; 
ss=s; tt=t; 
while(*ss) 
{ sl++; 
/**********found**********/ 
(*ss)++; 
} 
while(*tt) 
{ tl++; 
/**********found**********/ 
(*tt)++; 
} 
if(tl>sl) return t; 
else return s; 
} 
main() 
{ char a[80],b[80],*p,*q; int i; 
printf("\nEnter a string : "); gets(a); 
printf("\nEnter a string again : "); gets(b); 
printf("\nThe longer is :\n\n\"%s\"\n",fun(a,b)); 
} 
解題思路: 
第一處: 試題要求返回字符串的首地址,所以應改為:char *fun(char *s,char *t) 
第二處: 取字符串指針ss的下一個位置,所以應改為:ss++;。 
第三處:取字符串指針tt的下一個位置,所以應改為:tt++;。 
2.請編寫函數fun,函數的功能是: 移動字符串中的內容,移動的規則如下: 把第 
1到第m個字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。 
例如, 字符串中原有的內容為: ABCDEFGHIJK, m的值為3, 則移動后, 字符串 
 中的內容應該是: DEFGHIJKABC。 
注意:部分源程序在文件PROG1.C中。 
請勿改動主函數main和其它函數中的任何內容, 僅在函數fun的花括號中填入 
你編寫的若干語句。 
給定源程序: 
#include <stdio.h> 
#include <string.h> 
#define N 80 
void fun1(char *w) /* 本函數的功能是將字符串中字符循環左移一個位置 */ 
{ 
int i; char t; 
t=w[0]; 
for(i=0;i<strlen(w)-1;i++) 
w[i]=w[i+1]; 
w[strlen(w)-1]=t; 
} 
void fun(char *w, int m) /* 可調用fun1函數左移字符 */ 
{ 
} 
main() 
{ char a[N]= "ABCDEFGHIJK"; 
int m; 
printf("The original string:\n");puts(a); 
printf("\n\nEnter m: ");scanf("%d",&m); 
fun(a,m); 
printf("\nThe string after moving:\n");puts(a); 
printf("\n\n"); 
NONO(); 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产69精品久久久久毛片| 欧美在线高清视频| 亚洲国产中文字幕| 国产色产综合色产在线视频| 欧美日韩高清一区| 91免费观看在线| 国产毛片精品国产一区二区三区| 亚洲线精品一区二区三区 | 欧美日韩精品欧美日韩精品一综合| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲精品日韩一| 26uuu精品一区二区在线观看| 一本久久精品一区二区| 国产馆精品极品| 美国av一区二区| 午夜av一区二区| 亚洲午夜羞羞片| 亚洲精品中文字幕在线观看| 欧美激情在线观看视频免费| 日韩精品一区二区三区视频播放| 91精品福利视频| 97国产一区二区| 成av人片一区二区| 成人免费视频国产在线观看| 国产传媒一区在线| 国产一区二区导航在线播放| 另类专区欧美蜜桃臀第一页| 三级一区在线视频先锋| 一卡二卡欧美日韩| 一区二区不卡在线播放| 亚洲激情男女视频| 亚洲人吸女人奶水| 亚洲欧美日本在线| 亚洲人快播电影网| 一区二区日韩av| 亚洲国产视频一区| 亚洲第一av色| 午夜视频在线观看一区二区| 亚洲成人一区二区| 日韩电影在线一区| 免费亚洲电影在线| 久久99精品久久只有精品| 久久激情五月激情| 久久97超碰国产精品超碰| 国产一区二区在线观看免费| 国产精品18久久久久久久久久久久| 激情综合网av| 成人一区二区视频| 91蜜桃在线免费视频| 欧美综合久久久| 7777精品伊人久久久大香线蕉| 91精品免费在线观看| 日韩一区二区三区免费看| 欧美xxxxx牲另类人与| 欧美精品一区二区三区在线| 亚洲国产高清不卡| 中文字幕一区av| 亚洲成人中文在线| 精品在线观看免费| 国产suv精品一区二区6| 99久久精品99国产精品| 欧美日韩一区二区三区视频| 欧美一区二区三区免费大片| 2024国产精品| 亚洲欧美日韩国产综合在线| 婷婷开心激情综合| 国产乱人伦精品一区二区在线观看| 成人深夜视频在线观看| 色综合天天做天天爱| 欧美日韩国产电影| 久久在线观看免费| 一区二区三区丝袜| 久久国产精品色婷婷| 91污片在线观看| 欧美一区二区三区不卡| 国产精品美女久久久久久久| 亚洲午夜私人影院| 国产在线播放一区三区四| a级高清视频欧美日韩| 91精品在线麻豆| 欧美激情一区二区在线| 亚洲成人av电影| 国产精品1区2区| 欧美乱妇23p| 中文字幕亚洲欧美在线不卡| 三级久久三级久久久| 国产成人在线免费观看| 欧美亚洲一区二区三区四区| 久久久.com| 性做久久久久久免费观看欧美| 国产精品一区在线观看乱码| 欧美撒尿777hd撒尿| 亚洲国产成人一区二区三区| 午夜激情一区二区三区| 高清av一区二区| 91精品国产手机| 亚洲精品成人悠悠色影视| 国产在线精品不卡| 欧美精品乱码久久久久久按摩 | 亚洲国产精品av| 免费高清在线视频一区·| 99国产精品99久久久久久| 精品欧美一区二区在线观看 | 美女免费视频一区二区| 91片黄在线观看| 久久久精品黄色| 奇米色一区二区三区四区| 色屁屁一区二区| 国产欧美1区2区3区| 六月婷婷色综合| 欧美精品欧美精品系列| 亚洲欧美色一区| 成人一区二区三区视频| www激情久久| 美女精品自拍一二三四| 91超碰这里只有精品国产| 亚洲综合激情小说| 91在线精品一区二区| 国产欧美日韩不卡免费| 狠狠色丁香婷婷综合| 日韩午夜在线观看视频| 日韩国产欧美三级| 欧美四级电影网| 亚洲一区二区在线播放相泽| 97精品电影院| 亚洲私人影院在线观看| 99视频热这里只有精品免费| 国产精品久久福利| www.亚洲精品| 国产精品国产三级国产aⅴ中文 | 亚洲色图欧美在线| 成人激情文学综合网| 亚洲国产精品成人综合| 国产乱码精品一区二区三区忘忧草| 欧美mv日韩mv国产网站| 久久www免费人成看片高清| 欧美一区二区三区视频| 美女视频黄频大全不卡视频在线播放| 91 com成人网| 久久av资源网| 久久久久久免费| 国产成人免费视频网站| 国产精品乱码人人做人人爱 | 亚洲欧美激情小说另类| 91免费国产视频网站| 夜夜嗨av一区二区三区中文字幕| 欧美制服丝袜第一页| 日韩高清在线观看| 欧美成人官网二区| 国产成人免费在线观看不卡| 欧美激情中文字幕一区二区| av男人天堂一区| 亚洲国产精品久久不卡毛片| 欧美电影一区二区三区| 精品一区二区在线看| 中文字幕av一区二区三区免费看| 99久久久精品免费观看国产蜜| 亚洲制服丝袜在线| 欧美草草影院在线视频| 懂色av一区二区三区蜜臀| 亚洲精选一二三| 欧美一级高清片| 国产不卡视频在线观看| 亚洲欧美日韩在线| 欧美一级精品大片| 春色校园综合激情亚洲| 一区二区三区在线影院| 日韩一级免费一区| 成人h精品动漫一区二区三区| 一区二区三区在线免费| 日韩一区国产二区欧美三区| 国产成人福利片| 亚洲一区在线观看免费 | 国产一区二区三区日韩| 自拍av一区二区三区| 欧美一区二区三区男人的天堂| 国产成人无遮挡在线视频| 亚洲图片有声小说| 久久综合九色综合欧美就去吻| 91论坛在线播放| 麻豆91免费看| 亚洲精品国产精华液| 精品国精品自拍自在线| 91黄色小视频| 国产成人夜色高潮福利影视| 亚洲国产一区在线观看| 欧美国产欧美综合| 欧美日韩国产另类一区| 国产69精品久久777的优势| 天天色 色综合| 国产精品久久久爽爽爽麻豆色哟哟| 欧美日韩精品一区二区天天拍小说 | 亚洲制服丝袜av| 国产日韩av一区| 欧美一级高清片在线观看| 一本在线高清不卡dvd| 国产精品18久久久久久久久久久久| 亚洲va天堂va国产va久| 亚洲婷婷在线视频| 久久久久久一二三区|