生活随笔
收集整理的這篇文章主要介紹了
全国计算机等级考试题库二级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 ;
for(i
= 0 ; i
< N
; i
++)
if(strcmp(a
[i
].num
, b
)==0) {
strcpy(c
.num
, a
[i
].num
) ;
c
.s
=a
[i
].s
;
break ;
}
return c
;
}
總結(jié)
以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第97套)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。