填空題
請補(bǔ)充FUN函數(shù),該函數(shù)的功能求能整除X,且是偶數(shù)的數(shù),把這些數(shù)保存在數(shù)組BB,并按從大到小輸出。
例如,當(dāng)x=20時(shí),依次輸出:20 10 4 2。
注意:部分源程序給出如下
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填入所編寫的若干表達(dá)式或語句。
試題程序:
#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
改錯(cuò)題
下列給定程序中,函數(shù)fun的功能是,先從鍵盤上輸入一個(gè)3行2列矩陣的各個(gè)元素的值,然后輸出主對角線元素之和。
請改正函數(shù)fun 中的錯(cuò)誤或在橫線處填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能得出正確的結(jié)果。
#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處:應(yīng)填sum=0
第2處:scanf(“%d,”,a[i][j]);應(yīng)改為scanf(“%d,”,&a[i][j]);
編程題
編寫函數(shù)fun,它的功能是:
根據(jù)下列公式求 的值,(要求滿足精度0.0005,即某項(xiàng)小于0.0005時(shí)停止迭代):
程序遠(yuǎn)行后,如果輸出精度為0.0005,則輸出為3.14…
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)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;
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |