我们的考试题,求大神指导

三、程序填空

 

1下面程序的功能是:由键盘输入字符,当输入字符$时结束,统计并打印所输入字符中空格及字符0的个数。请填空补充完整。

#include <stdio.h>

int main( ) {

    int c, space=0, zero=0;

    while( ____________________________ ) {

        switch(c) {

        case __________ :

            _______________________;

        case '  ':

            space++;

        }

    }

    printf("space:%d\tzero:%d\n ", space, zero);

}

 

2若直接使用"=="判断两个浮点数相等,可能会因为精度问题得到错误结果。下面的程序通过一个函数Equal( )设置精度10-5,完成比较单精度数近似相等的操作,请填空补充完整。

#include<stdio.h>

____________________________________________

____________________________________________

int main( ) {

    printf("%d\t", 110. ==100*1.1);  /* 结果显示0,意味着不相等 */

    printf("%d\n", Equal(110., 100*1.1) );  /* 结果显示1,意味着近似相等 */

    return 0;

}

int Equal(float a, float b) {

    const float precision = ___________________;

    if( ____________________________________________ ) return 1;

    return 0;

}

 

3哥德巴赫猜想任何大于4的偶数可以写为两个奇素数之和,例如8=3+5 16=5+11。下面程序的功能是:由键盘输入一个大于4的偶数,验证哥德巴赫猜想,请填空补充完整(3空,共6分)

#include<stdio.h>

#include<math.h>

int IsPrime(int);

int main( ){

    int n, i;

    /* 若输入的数不是偶数或者不大于2则重新输入 */

    do{

        printf("\n请输入一个大于4的偶数");

        scanf("%d",&n);

    }while (n%2 || n<=4 );

    for(i=2; i<=n/2; i++)

        if( __________________________________________ ) {

             printf("%d=%d+%d", n, i, n-i);

             break;

        }

    return 0;

}

int IsPrime(int n) { // 判断n是否为素数

    int i;

    if(n<=2 || n % 2 == 0) return 0;

    for(__________________________)

        if( __________________ ) return 0;

    return 1;

}


修夏之乔默
浏览 1310回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP