2013計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)練習(xí)題及答案(2)

字號(hào):

為大家收集整理了《2013計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)練習(xí)題及答案(2)》供大家參考,希望對(duì)大家有所幫助?。?!
    填空題
    請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從鍵盤(pán)輸入一組字符串,以’*’結(jié)束輸入,并顯示出這個(gè)字符串。
    例如,輸入abcdef *, 結(jié)果顯示abcdef。
    僅在橫線上添入所編寫(xiě)的若干表達(dá)式或語(yǔ)句,勿改動(dòng)函數(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]
    改錯(cuò)題:
    下列給定程序中,函數(shù)fun的功能是:計(jì)算并輸出high 以內(nèi)的10個(gè)素?cái)?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è)計(jì):
    請(qǐng)編寫(xiě)函數(shù) fun,該 函數(shù)的功能是:統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫(xiě)字母組成,單詞之間由若干個(gè)空格隔開(kāi),一行的開(kāi)始和結(jié)束都沒(méi)有空格。
    #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);
    }