第3題
函數(shù)fun的功能是:統(tǒng)計(jì)在字符串a(chǎn)中,以下指定字符出現(xiàn)的次數(shù),并存到b數(shù)組中,其中:字符'+'出現(xiàn)的次數(shù)存到b[0]中,字符'-'出現(xiàn)的次數(shù)存到b[1], 字符'*'出現(xiàn)的次數(shù)存到b[2],字符'/'出現(xiàn)的次數(shù)存到b[3], 字符'&'出現(xiàn)的次數(shù)存到b[4],其它字符出現(xiàn)的次數(shù)存到b[5]中。
例如,當(dāng)a字符串中的字符串為:"-+*1-a/&b"時(shí),
調(diào)用該函數(shù)后,b中存放的數(shù)據(jù)應(yīng)是:1、2、1、2、1、3。
注意:部分源程序存在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。
#include
#include
#include
void fun(char *a, int b[])
{
}
main()
{ int i, b[6]; char a[100] = "-+*1/-a/&b";
clrscr();
fun(a, b);
printf("The result is: ");
for (i=0; i<6; i++) printf("%d ", b[i]);
printf("\n");
NONO();
}
NONO( )
{/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
FILE *rf, *wf ;
char a[100], *p ;
int b[6], i, j ;
rf = fopen("in6.dat", "r") ;
wf = fopen("bc06.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(a, 99, rf) ;
p = strchr(a, '\n') ;
if(p) *p = 0 ;
fun(a, b) ;
for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
}
程序參考答案
void fun(char *a, int b[])
{
int i;
for (i=0; i<6; i++) b[i] = 0;
for (i=0; i< strlen(a); i++)
switch(a[i])
{ case '+': b[0]++; break;
case '-': b[1]++; break;
case '*': b[2]++; break;
case '/': b[3]++; break;
case '&': b[4]++; break;
default: b[5]++;
}
}
第4題
函數(shù)fun的功能是:把a(bǔ)數(shù)組中的n個(gè)數(shù)和b數(shù)組中逆序的n個(gè)數(shù)一一對(duì)應(yīng)相加,結(jié)果存在c數(shù)組中。
例如:當(dāng)a數(shù)組中的值是:1、3、5、7、8
b數(shù)組中的值是:2、3、4、5、8
調(diào)用該函數(shù)后,c數(shù)組中存放的數(shù)據(jù)是9、8、9、10、10
注意:部分源程序存在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。
#include
#include
void fun(int a[], int b[], int c[], int n)
{
}
main()
{ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
clrscr();
fun(a, b, c, 5);
printf("The result is: ");
for (i=0; i<5; i++) printf("%d ", c[i]);
printf("\n");
NONO();
}
NONO( )
{/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
FILE *rf, *wf ;
int a[100], b[100], c[100], i, j ;
rf = fopen("in.dat", "r") ;
wf = fopen("bc01.dat","w") ;
for(i = 0 ; i < 5 ; i++) {
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
fun(a, b, c, 5) ;
for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
}
程序參考答案
void fun(int a[], int b[], int c[], int n)
{
int i;
for (i=0; i
}
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目