【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】
《【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】》由會(huì)員分享,可在線閱讀,更多相關(guān)《【必備】歷年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)考試題庫及答案【值得一看】(72頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 1. 填空 給定程序的功能是調(diào)用fun函數(shù)建立班級(jí)通訊錄。通訊錄中記錄每位學(xué)生的編號(hào),姓名和電話號(hào)碼。班級(jí)的人數(shù)和學(xué)生的信息從鍵盤讀入,每個(gè)人的信息作為一個(gè)數(shù)據(jù)塊寫到名為myfile5.dat的二進(jìn)制文件中。 請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,是程序得出正確的結(jié)果。 注意:源程序存放在考生文件夾下的BLANK1.c中 不得增行或刪行,也不得更改程序的結(jié)構(gòu)! void check(); /**********found**********/ int fun(___1___ *std) { /**********found********
2、**/
___2___ *fp; int i;
if((fp=fopen("myfile5.dat","wb"))==NULL)
return(0);
printf("\nOutput data to file !\n");
for(i=0; i 3、的功能是:先將在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序連接到t串后面。
例如:當(dāng)s中的字符串為:“ABCDE”時(shí),
則他中的字符串應(yīng)為:“ABCDEEDCBA”。
請(qǐng)改正程序中的錯(cuò)誤,使他能得出正確的結(jié)果。
注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序的結(jié)構(gòu)!
void fun (char *s, char *t)
{ int i, sl;
sl = strlen(s);
/************found************/
for( i=0; i<=s1; i ++)
t[i 4、] = s[i];
for (i=0; i 5、中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
答案: B: STYPE FILE fp
M: for(i = 0 ; i < sl ; i++) t[2*sl] = 0;
P: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
2. 填空
給定程序的功能是:從鍵盤輸入若干行文本(每行不超過80個(gè)字符),寫到文件myfile4.txt中,用-1作為字符串輸入結(jié)束的標(biāo)記。然后將文件的內(nèi)容讀出顯示在屏幕上。文件的讀寫分別有自定義函數(shù)ReadText和WriteText實(shí)現(xiàn)。
請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的 6、內(nèi)容并把下劃線刪除,是程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.c中
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
main()
{ FILE *fp;
if((fp=fopen("myfile4.txt","w"))==NULL)
{ printf(" open fail!!\n"); exit(0); }
WriteText(fp);
fclose(fp);
if((fp=fopen("myfile4.txt","r"))==NULL)
{ printf(" open fail!! 7、\n"); exit(0); }
ReadText(fp);
fclose(fp);
}
/**********found**********/
void WriteText(FILE ___1___)
{ char str[81];
printf("\nEnter string with -1 to end :\n");
gets(str);
while(strcmp(str,"-1")!=0) {
/**********found**********/
fputs(___2___,fw); fputs("\n",fw 8、);
gets(str);
}
}
void ReadText(FILE *fr)
{ char str[81];
printf("\nRead file and output to screen :\n");
fgets(str,81,fr);
while( !feof(fr) ) {
/**********found**********/
printf("%s",___3___);
fgets(str,81,fr);
}
}
修改
給定程序MODI1.c中函數(shù)fun的功能是:從低位開始取出長(zhǎng)整 9、形變量s中的奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中,高位仍放在高位,低位仍放在低位。
例如:當(dāng)s中的數(shù)為:7654321時(shí),t中的數(shù)為:7531
請(qǐng)改正程序中的錯(cuò)誤,使他能得出正確的結(jié)果。
注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序的結(jié)構(gòu)!
#include 10、 *t = s%10 * sl + *t;
/************found************/
sl = sl*100;
}
}
程序
函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a,b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。
例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=1524.
注意:部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語 11、句。
2、B: *fw str str
M: long *t sl = sl*10;
P: *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
3. 填空
給定程序中,函數(shù)fun的功能是:將自然數(shù)1~10以及它們的平方根寫到名為myfile3txt的文本文檔中,然后再順序讀出顯示在屏幕上。
請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,是程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.c中
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
int fun(char *fna 12、me )
{ FILE *fp; int i,n; float x;
if((fp=fopen(fname, "w"))==NULL) return 0;
for(i=1;i<=10;i++)
/**********found**********/
fprintf(___1___,"%d %f\n",i,sqrt((double)i));
printf("\nSucceed!!\n");
/**********found**********/
___2___;
printf("\nThe data in 13、file :\n");
/**********found**********/
if((fp=fopen(___3___,"r"))==NULL)
return 0;
fscanf(fp,"%d%f",&n,&x);
while(!feof(fp))
{ printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); }
fclose(fp);
return 1;
}
修改
給定程序MODI1.c中fun函數(shù)的功能是:將n個(gè)無序整數(shù)從小到大排序。
fun ( int n, i 14、nt *a )
{ int i, j, p, t;
for ( j = 0; j 15、的正整數(shù)a,b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。
例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=2514
注意:部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
3、B: fp fclose(fp) fname
M: i 16、序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文件中,復(fù)制成功時(shí)函數(shù)返回值為1,失敗時(shí)返回值為0,在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕。主函數(shù)中源文件名放在變量sfname中,目標(biāo)文件名放在變量tfname中
int fun(char *source, char *target)
{ FILE *fs,*ft; char ch;
/**********found**********/
if((fs=fopen(source, ___1___))==NULL)
return 0;
if((ft=fopen(target 17、, "w"))==NULL)
return 0;
printf("\nThe data in file :\n");
ch=fgetc(fs);
/**********found**********/
while(!feof(___2___))
{ putchar( ch );
/**********found**********/
fputc(ch,___3___);
ch=fgetc(fs);
}
fclose(fs); fclose(ft);
printf("\n\n");
18、return 1;
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:將長(zhǎng)整形數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。
例如:當(dāng)s中的數(shù)為:87653142時(shí),t中的數(shù)為:8642
void fun (long s, long *t)
{ int d;
long sl=1;
*t = 0;
while ( s > 0)
{ d = s%10;
/************found************/
if (d%2=0)
{ *t=d* s 19、l+ *t;
sl *= 10;
}
/************found************/
s \= 10;
}
}
程序
函數(shù)fun的功能是:將兩個(gè)兩位數(shù)的正整數(shù)a,b合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上。
例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=5142
注意:部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中 20、填入你編寫的若干語句。
4、B: “r” fs ft
M: (d%2==0) s /= 10;
P: *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
5. 填空
給定程序中已建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各節(jié)點(diǎn)按結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈表。函數(shù)fun的功能是:把形參x的值放入一個(gè)新結(jié)點(diǎn)并插入到鏈表中,插入后結(jié)點(diǎn)數(shù)據(jù)域的值仍保持遞增有序。
typedef struct list
{ int data;
struct list *next;
} SLIST;
void fun( SL 21、IST *h, int x)
{ SLIST *p, *q, *s;
s=(SLIST *)malloc(sizeof(SLIST));
/**********found**********/
s->data=___1___;
q=h;
p=h->next;
while(p!=NULL && x>p->data) {
/**********found**********/
q=___2___;
p=p->next;
}
s->next=p;
/**********found**********/ 22、
q->next=___3___;
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算正整數(shù)num的各位上的數(shù)字之積。例如,若輸入:252,則輸入應(yīng)該是:20.若輸入:202,則輸出應(yīng)該是:0.
long fun (long num)
{
/************found************/
long k;
do
{ k*=num%10 ;
/************found************/
num\=10 ;
} while(num) ;
return (k) ;
}
請(qǐng)編寫一個(gè)函數(shù)f 23、un,它的功能是:它的功能是:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。
例如:若有5門課程的成績(jī)是:90.5,72,80,61.5,55
則函數(shù)的值為:71.80
5、B: x p s
M: long k=1; num/=10 ;
P: int i; float ave=0.0; for(i=0; i 24、釋放該節(jié)點(diǎn),是鏈表縮短。
void fun( SLIST *p)
{ SLIST *t, *s;
t=p->next; s=p;
while(t->next != NULL)
{ s=t;
/**********found**********/
t=t->___1___;
}
/**********found**********/
printf(" %d ",___2___);
s->next=NULL;
/**********found**********/
free(___3___);
}
25、
修改
給定程序MODI1.C中函數(shù)fun的功能是:將字符串中的字符按逆序輸出,單補(bǔ)改變字符串中的內(nèi)容。
例如,若字符串味abcd,則應(yīng)輸出:dcba
/************found************/
fun (char a)
{ if ( *a )
{ fun(a+1) ;
/************found************/
printf("%c" *a) ;
}
}
程序
請(qǐng)編寫一個(gè)函數(shù)fun,他的功能是:比較兩個(gè)字符串的長(zhǎng)度(不得調(diào)用c語言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若兩個(gè)字符串長(zhǎng)度相 26、同,則返回第一個(gè)字符串。
例如,輸入beijing 27、給定程序中建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各節(jié)點(diǎn)按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點(diǎn),使之只保留一個(gè)
typedef struct list
{ int data;
struct list *next;
} SLIST;
void fun( SLIST *h)
{ SLIST *p, *q;
p=h->next;
if (p!=NULL)
{ q=p->next;
while(q!=NULL)
{ if (p->data==q->data)
{ 28、p->next=q->next;
/**********found**********/
free(___1___);
/**********found**********/
q=p->___2___;
}
else
{ p=q;
/**********found**********/
q=q->___3___;
}
}
}
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:用選擇法對(duì)數(shù)組中的n個(gè)元素按 29、從小到大的順序進(jìn)行排序。
void fun(int a[], int n)
{ int i, j, t, p;
for (j = 0 ;j < n-1 ;j++) {
/************found************/
p = j
for (i = j;i < n; i++)
if(a[i] < a[p])
/************found************/
p = j;
t = a[p] ; a[p] = a[j] ; a[j] = t;
}
}
請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是: 30、求出1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。例如,若傳3送給m的之位50,則程序輸出:7 11 14 21 22 18 33 35 42 44 49
答案:
7、B: q next next
M: p = j; p=i;
P: int i ; *n=0 ;
for(i=7 ; i<=m; i++)
if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ;
8. 填空
給定程序中,函數(shù)fun的gongn是:在帶有頭結(jié)點(diǎn)的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點(diǎn)。找到后 31、通過函數(shù)值返回改結(jié)點(diǎn)在鏈表中所處的順序號(hào);若不存在值為ch的結(jié)點(diǎn),函數(shù)返回0值
typedef struct list
{ int data;
struct list *next;
} SLIST;
SLIST *creatlist(char *);
void outlist(SLIST *);
int fun( SLIST *h, char ch)
{ SLIST *p; int n=0;
p=h->next;
/**********found**********/
while(p!=___1___)
{ 32、 n++;
/**********found**********/
if (p->data==ch) return ___2___;
else p=p->next;
}
return 0;
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串中的所有空白字符(包括制表符,回車符及換行符)
輸入字符串是用“#”結(jié)束輸入。
fun ( char *p)
{ int i,t; char c[80];
/************found************/
For (i = 0,t = 0; 33、p[i] ; i++)
if(!isspace(*(p+i))) c[t++]=p[i];
/************found************/
c[t]="\0";
strcpy(p,c);
}
程序
請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換成大寫(若該位置上不是字母,則不轉(zhuǎn)換)
例如:若輸入“abc4EFg”,則應(yīng)輸出“aBc4Efg”。
答案:
8、B: NULL n head,ch
M: for c[t]=\0;
P: int i ; for(i = 1 ; i < st 34、rlen(*ss) ; i+=2) { if(ss[i] >= a && ss[i] <= z) ss[i] -= 32 ;
9. 填空
給定程序中,函數(shù)fun的功能是:統(tǒng)計(jì)出帶有頭結(jié)點(diǎn)的單向鏈表中的個(gè)數(shù),存放在形參n所指的存儲(chǔ)單元中。
void fun( SLIST *h, int *n)
{ SLIST *p;
/**********found**********/
___1___=0;
p=h->next;
while(p)
{ (*n)++;
/**********found**********/
p=p->___ 35、2___;
}
}
main()
{ SLIST *head;
int a[N]={12,87,45,32,91,16,20,48}, num;
head=creatlist(a); outlist(head);
/**********found**********/
fun(___3___, &num);
printf("\nnumber=%d\n",num);
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:求出s所指字符串中最后一次出現(xiàn)的t所指子字符串的地址,通過函數(shù)返回值返回,在主函數(shù)中輸出從此地址開始的字符串;若 36、未找到,則函數(shù)值為NULL
例如:當(dāng)字符串中的內(nèi)容為“abcdefabcdx”t中的內(nèi)容為“ab”時(shí),輸出的結(jié)果應(yīng)是:abcdx
當(dāng)字符串中的內(nèi)容為“abcdefabcdx”t中的內(nèi)容為“abd”時(shí),則程序輸出未找到信息 not be found
char * fun (char *s, char *t )
{
char *p , *r, *a;
/************found************/
a = Null;
while ( *s )
{ p = s; r = t;
while ( *r )
/******* 37、*****found************/
if ( r == p )
{ r++; p++; }
else break;
if ( *r == \0 ) a = s;
s++;
}
return a ;
}
程序
函數(shù)fun的功能是:將s所指字符串中除了下標(biāo)問為偶數(shù),同時(shí)ASCII值也為偶數(shù)的字符外,其余的全部刪除:串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中
例如,若s所指的字符串中的內(nèi)容為“ABCDEFG123456”,其中字符A的ASCII碼味奇數(shù),因此應(yīng)當(dāng)刪除,其中字符b 38、的ASCII碼值為偶數(shù),但是在數(shù)組中的下標(biāo)為基數(shù),因此也當(dāng)刪除;
答案
9、B: *n next head
M: a = NULL; *r == *p
P: int i, j = 0 ;
for(i = 0 ; i < strlen(s) ; i += 2)
if(s[i] % 2 == 0) t[j++] = s[i] ;
t[j] = 0 ;
10. 填空
給定程序中,函數(shù)fun的功能是:計(jì)算出帶有頭結(jié)點(diǎn)的單向鏈表中各結(jié)點(diǎn)數(shù)據(jù)域中值之和作為函數(shù)的返回值。
int fun( SLIST *h)
{ SLIST *p; int 39、s=0;
p=h->next;
while(p)
{
/**********found**********/
s+= p->___1___;
/**********found**********/
p=p->___2___;
}
return s;
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與t1所指字符串相同的字串全部替換成t2所指字符串,所形成的新串放在w所指的數(shù)組中,在此處,要求t1和t2所指字符串的長(zhǎng)度相同。
int fun (char *s, char *t1, ch 40、ar *t2 , char *w)
{
int i; char *p , *r, *a;
strcpy( w, s );
while ( *w )
{ p = w; r = t1;
/************found************/
while ( r )
if ( *r == *p ) { r++; p++; }
else break;
if ( *r == \0 )
{ a = w; r = t2;
while ( *r ){
/***** 41、*******found************/
*a = *r; a++; r++
}
w += strlen(t2) ;
}
else w++;
}
}
程序
函數(shù)fun的功能是;將s所指字符串下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指的數(shù)組中
例如:當(dāng)s所指字符串中的內(nèi)容為:“ABCDEFGHIJK”
在t所指數(shù)組中的內(nèi)容應(yīng)是“BDFHJ”
10、B: data next head
M: *r r++;
P: int i, j = 0 ; for(i 42、 = 1 ; i < strlen(s); i+=2) t[j++] = s[i] ; t[j] = 0 ;
11. 填空
人員記錄有編號(hào)和出生年月日組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中,且編號(hào)唯一。函數(shù)fun的功能是:找出數(shù)據(jù)中的編號(hào)為空串。
/**********found**********/
___1___ fun(STU *std, char *num)
{ int i; STU a={"",9999,99,99};
for (i=0; i 43、 if( strcmp(___2___,num)==0 )
/**********found**********/
return (___3___);
return a;
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中,找出與t所指字符串相同的字串的個(gè)數(shù)作為函數(shù)返回值
例如,當(dāng)s所指字符串中的內(nèi)容為:“abcdabfab”,t所指字符串的內(nèi)容為:“ab”則函數(shù)返回整數(shù)3
int fun (char *s, char *t)
{
int n; char *p , *r;
n = 0;
44、
while ( *s )
{ p = s; r = t;
while ( *r )
if ( *r == *p ) {
/************found************/
r++; p++
}
else break;
/************found************/
if ( r == \0 )
n++;
s++;
}
return n;
}
函數(shù)fun的功能是:將s所指字符串中ASCI 45、I值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中
例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符B的ASCII碼值為偶數(shù)…..
答案:
11、B: STU std[i].num std[i]
M: p++; *r==’\0’ ;
P: int i, j = 0 ; for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ;
12.填空
人員的記錄由編號(hào)和出生年月日組成N名成員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組std中,函數(shù)fun的功能是:找出指定出生年份 46、的人員,將其數(shù)據(jù)放在形參k所指的數(shù)組中,由主函數(shù)輸出,同事有函數(shù)值返回滿足指定條件的人數(shù)
int fun(STU *std, STU *k, int year)
{ int i,n=0;
for (i=0; i 47、程序MODI12。C的功能是:讀入一個(gè)整數(shù)k(2《k《1000),打印她的所有因子
例如2310,則應(yīng)輸出2,3,5,7,11
/************found************/
IsPrime ( int n );
{ int i, m;
m = 1;
for ( i = 2; i < n; i++ )
/************found************/
if !( n%i )
{ m = 0; break ; }
return ( m );
}
設(shè)計(jì)
已知學(xué) 48、生的記錄有學(xué)號(hào)成績(jī)構(gòu)成,N名學(xué)生的數(shù)據(jù)已經(jīng)存入結(jié)構(gòu)體數(shù)組a中。編寫函數(shù)fun,函數(shù)功能是:找出成績(jī)最高的學(xué)生記錄,通過形參指針傳回主函數(shù)(規(guī)定只有一個(gè)最高分)。已給出函數(shù)的首部,請(qǐng)完成該函數(shù)
12、B: std[i].year std[i] n M: 分號(hào)去掉 if (!( n%i ))
P: int i, max = a[0].s, j = 0; for(i = 1 ; i < N ; i++) if(max < a[i].s) { j = i ; max = a[i].s ; } *s = a[j] ;
13.填空
給定程序通過定義并賦初值的方式,利用結(jié)構(gòu)體 49、變量存儲(chǔ)了一名學(xué)生的學(xué)號(hào),姓名和3們課程的成績(jī),函數(shù)fun的功能是將該學(xué)生的各科成績(jī)都乘以一個(gè)系數(shù)a
void show(STU tt)
{ int i;
printf("%d %s : ",tt.num,tt.name);
for(i=0; i<3; i++)
printf("%5.1f",tt.score[i]);
printf("\n");
}
/**********found**********/
void modify(___1___ *ss,float a)
{ int i;
for(i=0; i<3; i+ 50、+)
/**********found**********/
ss->___2___ *=a;
}
main( )
{ STU std={ 1,"Zhanghua",76.5,78.0,82.0 };
float a;
printf("\nThe original number and name and scores :\n");
show(std);
printf("\nInput a number : "); scanf("%f",&a);
/**********found**********/
modify(_ 51、__3___,a);
printf("\nA result of modifying :\n");
show(std);
}
修改
給定程序MODI。C中函數(shù)fun的功能是:求k!(k<13),所求階乘的值作為函數(shù)值返回,例如若(k=10,則應(yīng)輸出:3628800
long fun ( int k)
{
/************found************/
if k > 0
return (k*fun(k-1));
/************found************/
else if ( k=0 )
52、 return 1L;
}
設(shè)計(jì)
程序定義了N*N的二維數(shù)組。并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組左下三角元素的值乘以n
例如:若n的值為3,a數(shù)組的值為
13、B: STU score[i] &std M: ( ) k= =0 P: int i, j; for(i = 0 ; i < N ; i++) for(j = 0 ; j <= i; j++) a[i][j] *= n ;
14.填空
給定程序中,函數(shù)fun的功能是:將形參所指結(jié)構(gòu)體數(shù)組中的三個(gè)元素按num成員進(jìn)行升序排列
/**********found**********/ 53、
void fun(PERSON ___1___)
{
/**********found**********/
___2___ temp;
if(std[0].num>std[1].num)
{ temp=std[0]; std[0]=std[1]; std[1]=temp; }
if(std[0].num>std[2].num)
{ temp=std[0]; std[0]=std[2]; std[2]=temp; }
if(std[1].num>std[2].num)
{ temp=std[1]; std[1]=s 54、td[2]; std[2]=temp; }
}
main()
{ PERSON std[ ]={ 5,"Zhanghu",2,"WangLi",6,"LinMin" };
int i;
/**********found**********/
fun(___3___);
printf("\nThe result is :\n");
for(i=0; i<3; i++)
printf("%d,%s\n",std[i].num,std[i].name);
}
修改
給定程序MODI1.c中函數(shù)fun的功能是:將m個(gè)字符串連接起來組 55、成一個(gè)新串,放入pt所指存儲(chǔ)區(qū)中
int fun ( char str[][10], int m, char *pt )
{
/************found************/
Int k, q, i ;
for ( k = 0; k < m; k++ )
{ q = strlen ( str [k] );
for (i=0; i 56、 pt[0] = 0 ;
}
}
設(shè)計(jì)
程序定義了N*N的二維數(shù)組, 并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組左下三角元素中的值全部值0
14、B: *std PERSON std M: int str[k][i] P: int i, j; for(i = 0 ; i < N ; i++) for(j = 0 ; j <= i; j++) a[i][j] =0;
15.填空
給定程序中,函數(shù)fun的功能是:將形參std所指結(jié)構(gòu)體數(shù)組中年齡最大者的數(shù)據(jù)作為函數(shù)值返回,并在主函數(shù)中輸出
STD fun(STD std 57、[], int n)
{ STD max; int i;
/**********found**********/
max= ___1___;
for(i=1; i 58、td,5);
printf("\nThe result: \n");
/**********found**********/
printf("\nName : %s, Age : %d\n", ___3___,max.age);
}
修改
給定程序MODI1.c中函數(shù)fun的功能是:實(shí)現(xiàn)兩個(gè)整數(shù)的交換
例如給a和b分別輸入60和65,輸出為:a=65 b=60
/**********found**********/
void fun ( int a, b )
{ int t;
/**********found**********/
t = 59、b; b = a ; a = t;
}
設(shè)計(jì)
請(qǐng)編制一個(gè)函數(shù)fun,tt指向一個(gè)M行N列的二維數(shù)組,求二維數(shù)組每列中最小元素,并以此放入pp所指一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予
15、B: *std std[i].age max.name M: int *b t = *b; *b = *a ; *a = t; P: int i,j, min, k ; for(i = 0 ; i < N ; i++) { min = tt[0][i] ; k = 0 ; for(j = 1 ; j < M ; j++) if(min > tt[j][i]) { min=t 60、t[j][i] ; k = j ; } pp[i] = tt[k][i] ; }
16.填空
程序通過定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲(chǔ)了一名學(xué)生的信息,函數(shù)fun的功能是輸出這位學(xué)生的信息
/**********found**********/
void show(STU ___1___)
{ int i;
printf("\n%d %s %c %d-%d-%d", tt.num, tt.name, tt.sex,
tt.birthday.year, tt.birthday.month, tt.birthday.day);
61、for(i=0; i<3; i++)
/**********found**********/
printf("%5.1f", ___2___);
printf("\n");
}
main( )
{ STU std={ 1,"Zhanghua",M,1961,10,8,76.5,78.0,82.0 };
printf("\nA student data:\n");
/**********found**********/
show(___3___);
}
修改
給定程序MODI1.c中函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次大數(shù),并把最大數(shù) 62、和a【0】中的數(shù)對(duì)調(diào),次最大數(shù)和a【1】中的書對(duì)調(diào)
int fun ( int * a, int n )
{ int i, m, t, k ;
for(i=0;i<2;i++) {
/**********found**********/
m=0;
for(k=i+1;k 63、是n為的整數(shù),函數(shù)求出w的低n-1位的數(shù)作為函數(shù)值返回
例如 w為5923 則函數(shù)返回923;
16、B: tt tt.score[i] std M: m=i m=k
P: if(w>10000) w %= 10000 ; else if(w>1000) w %= 1000 ; else if(w>100) w %= 100 ; else if(w>10) w %=10 ; return w ;
17.填空
給定程序中,函數(shù)fun的功能是:對(duì)形參ss所指字符串?dāng)?shù)組中的M個(gè)字符串按長(zhǎng)度由短到長(zhǎng)進(jìn)行排序。Ss所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長(zhǎng)《N
void f 64、un(char (*ss)[N])
{ int i, j, k, n[M]; char t[N];
for(i=0; i 65、s[i]);
strcpy(ss[i],ss[k]);
/**********found**********/
strcpy(ss[k],___3___);
n[k]=n[i];
}
}
}
給定程序MODI。C中函數(shù)fun的功能是:判斷ch中字符是否與str所指串中的某個(gè)字符相同;若相同,什么也不做,若不同,則將其插在串的最后
#include 66、 ( *str && *str != ch ) str++;
/**********found**********/
if ( *str == ch )
{ str [ 0 ] = ch;
/**********found**********/
str[1] = 0;
}
}
設(shè)計(jì)
請(qǐng)編制一個(gè)函數(shù)fun,函數(shù)功能是吧s所指字符串中的內(nèi)容逆值
17、B: i+1 k=j t M: char *str != 0
P: char b[N] ; int i = 0, j ; for(j = strlen(s) - 1 ; j >= 0 ; j--) b[i++] = s[j] ; b[i]=0; strcpy(s, b) ;
18.填空
給定程序中,函數(shù)fun的功能是:求出形參ss所指的字符串?dāng)?shù)組中最長(zhǎng)字符串的長(zhǎng)度,其余字符串左邊用字符*補(bǔ)齊,使其與最長(zhǎng)的字符串等長(zhǎng),字符串?dāng)?shù)組中共有M個(gè)字符串
void fun(char (*ss)[N])
{ int i,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- B7U7Sb2b課件
- 9比的基本性質(zhì)
- 離散數(shù)學(xué)-1-7 對(duì)偶與范式
- 電氣08級(jí)供配電課程設(shè)計(jì)
- 三年級(jí)數(shù)學(xué)上冊(cè)第一單元11毫米、分米的認(rèn)識(shí) 第一課時(shí)課件
- 三年級(jí)上冊(cè)千米的認(rèn)識(shí)
- 描述簡(jiǎn)單的行走路線
- 夢(mèng)游天姥吟留別
- 想北平(教育精
- 長(zhǎng)安汽車股權(quán)激勵(lì)方案
- 壽險(xiǎn)意義功用平安課件
- 師生互換教學(xué)中醫(yī)學(xué)基礎(chǔ)之血液循環(huán)與五臟的調(diào)節(jié)
- 連鑄坯初始凝固控制技術(shù)的發(fā)展
- 民營(yíng)企業(yè)家族企業(yè)職業(yè)化轉(zhuǎn)型(ppt 49)
- 25第十二單元課題2化學(xué)元素與人體健康