三、程序填空 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;}
1 回答
- 1 回答
- 0 关注
- 1309 浏览
添加回答
举报
0/150
提交
取消