填空题
请补充FUN函数,该函数的功能求能整除X,且是偶数的数,把这些数保存在数组BB,并按从大到小输出。
例如,当x=20时,依次输出:20 10 4 2。
注意:部分源程序给出如下
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
void fun(int k, int bb[])
{ int i;
int j = 0;
for (___1___; i<=k; i++)
if (k%i==0 ___2___ i%2==0)
bb[j++] = i;
printf("\n\n ");
for (i=___3___; i>=0; i--)
printf("%d ", bb[i]);
}
main()
{
int k = 1;
int bb[100];
printf("\nPlease input X\n");
scanf("%d", &k);
fun(k, bb);
}
第1处填空:i=1
第2处填空:&&
第3处填空:--j或j-1
改错题
下列给定程序中,函数fun的功能是,先从键盘上输入一个3行2列矩阵的各个元素的值,然后输出主对角线元素之和。
请改正函数fun 中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。
#include
void fun()
{
int a[3][3], sum;
int i, j;
/********found********/
___ì???___;
for (i=0; i<3; i++)
for (j=0; j<3; j++)
/********found********/
scanf("%d,", a[i][j]);
for (i=0; i<3; i++)
sum = sum+a[i][i];
printf("sum=%d\n", sum);
}
main()
{
fun();
}
第1处:应填sum=0
第2处:scanf(“%d,”,a[i][j]);应改为scanf(“%d,”,&a[i][j]);
编程题
编写函数fun,它的功能是:
根据下列公式求 的值,(要求满足精度0.0005,即某项小于0.0005时停止迭代):
程序远行后,如果输出精度为0.0005,则输出为3.14…
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
double fun ( double eps)
{
}
main()
{
double x;
FILE *out;
printf("Input eps:");
scanf("%lf",&x);
printf("\neps=%lf, PI=%lf\n", x, fun(x));
out=fopen("out.dat", "w");
fprintf(out, "eps=%lf, PI=%lf\n", 0.00003, fun(0.00003));
fclose(out);
}
答案是:
double fun(double eps)
{
double s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1.0;
while((fabs(s))>=eps)
{
pi+=s;
t=n/(2*n+1);
s*=t;
n++;
}
pi=pi*2;
return pi;
}
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |