為大家收集整理了《2013計算機二級C語言上機練習(xí)題及答案(2)》供大家參考,希望對大家有所幫助?。?!
填空題
請補充main函數(shù),該函數(shù)的功能是:從鍵盤輸入一組字符串,以’*’結(jié)束輸入,并顯示出這個字符串。
例如,輸入abcdef *, 結(jié)果顯示abcdef。
僅在橫線上添入所編寫的若干表達式或語句,勿改動函數(shù)中的其他任何內(nèi)容。
#include
#define N 80
main()
{
int i = -1, j = 0;
char str[N];
printf("\n Input a string \n");
do
{
i++;
scanf(_1_);
} while (_2_);
printf("\n ******* display the string ******* \n");
while (j < i)
{
printf(_3_);
j++;
}
}
答案: (1)“%c”,&str[i]
(2)str[i]!=’*’
(3)”%c”,str[j]
改錯題:
下列給定程序中,函數(shù)fun的功能是:計算并輸出high 以內(nèi)的10個素數(shù)之和。 High由主函數(shù)傳給fun 函數(shù)。若high的值為100,則函數(shù)的值為732。
#include
#include
#include
int fun(int high)
{
int sum = 0, n = 0, j, yes;
while ((high >= 2) && (n < 10))
{
yes = 1;
for (j=2; j<=high/2; j++)
/********found********/
if (high%j == 0)
{
yes = 0;
break
}
if (yes)
{
sum += high;
n++;
}
high--;
}
return sum;
}
main()
{
printf("%d\n", fun(100));
}
答案:break改為break;
程序設(shè)計:
請編寫函數(shù) fun,該 函數(shù)的功能是:統(tǒng)計一行字符串中單詞的個數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間由若干個空格隔開,一行的開始和結(jié)束都沒有空格。
#include
#include
#define N 80
int fun(char *s)
{
}
main()
{
char line[N];
int num=0;
FILE *out;
char *test[] = {"Hello World!", "This is a test string.", "a b", "cde f g,sf l"};
printf("Enter a string :\n");
gets(line);
num=fun( line );
printf("The number of word is : %d\n\n",num);
out=fopen("out.dat", "w");
for(num=0;num<4;num++)
printf(out, "%d\n", fun(test[num]));
fclose(out);
}
填空題
請補充main函數(shù),該函數(shù)的功能是:從鍵盤輸入一組字符串,以’*’結(jié)束輸入,并顯示出這個字符串。
例如,輸入abcdef *, 結(jié)果顯示abcdef。
僅在橫線上添入所編寫的若干表達式或語句,勿改動函數(shù)中的其他任何內(nèi)容。
#include
#define N 80
main()
{
int i = -1, j = 0;
char str[N];
printf("\n Input a string \n");
do
{
i++;
scanf(_1_);
} while (_2_);
printf("\n ******* display the string ******* \n");
while (j < i)
{
printf(_3_);
j++;
}
}
答案: (1)“%c”,&str[i]
(2)str[i]!=’*’
(3)”%c”,str[j]
改錯題:
下列給定程序中,函數(shù)fun的功能是:計算并輸出high 以內(nèi)的10個素數(shù)之和。 High由主函數(shù)傳給fun 函數(shù)。若high的值為100,則函數(shù)的值為732。
#include
#include
#include
int fun(int high)
{
int sum = 0, n = 0, j, yes;
while ((high >= 2) && (n < 10))
{
yes = 1;
for (j=2; j<=high/2; j++)
/********found********/
if (high%j == 0)
{
yes = 0;
break
}
if (yes)
{
sum += high;
n++;
}
high--;
}
return sum;
}
main()
{
printf("%d\n", fun(100));
}
答案:break改為break;
程序設(shè)計:
請編寫函數(shù) fun,該 函數(shù)的功能是:統(tǒng)計一行字符串中單詞的個數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間由若干個空格隔開,一行的開始和結(jié)束都沒有空格。
#include
#include
#define N 80
int fun(char *s)
{
}
main()
{
char line[N];
int num=0;
FILE *out;
char *test[] = {"Hello World!", "This is a test string.", "a b", "cde f g,sf l"};
printf("Enter a string :\n");
gets(line);
num=fun( line );
printf("The number of word is : %d\n\n",num);
out=fopen("out.dat", "w");
for(num=0;num<4;num++)
printf(out, "%d\n", fun(test[num]));
fclose(out);
}