第一題:請補充fun函數(shù),該函數(shù)的功能是:用來求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所指的存儲單元中.
例如,輸入如下整數(shù):876 675 896 101 301 401 980 431 451 777,則輸出結(jié)果為:6, 980.
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在fun 函數(shù)的橫線上填入所編寫的若干表達式或語句.
#include
#include
void fun(int s, int t, int ___1__)
{
int i, max;
max = s[0];
for (i=0; i if (__2__) { max = s[i]; *k = __3__; } } main() { int a[10] = {876, 675, 896, 101, 301, 401, 980, 431, 451, 777}, k; fun(a, 10, &k); printf("%d, %d\n", k, a[k]); } 參考答案: 第一題:(1) *k (2) s[i]>max (3) i 第二題:已知一個數(shù)列從第0項開始的前三項分別為0、0、1,以后的各項都是其相鄰的前三項之和。下列給定程序中,函數(shù)fun的功能是:計算并輸出該數(shù)列前n項的平方根之和sum。n的值通過形參傳入。例如,當n=10時,程序輸出結(jié)果應(yīng)為23.197745。 請改正程序中的錯誤,使程序能得出正確的結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)! #include #include #include /********found********/ fun(int n) { double sum, s0, s1, s2, s; int k; sum = 1.0; if (n <= 2) sum = 0.0; s0 = 0.0; s1 = 0.0; s2 = 1.0; for (k=4; k<=n; k++) { s = s0+s1+s2; sum += sqrt(s); s0 = s1; s1 = s2; s2 = s; } /********found********/ return sum } main() { int n; printf("Input N="); scanf("%d", &n); printf("%lf\n", fun(n)); } 參考答案第二題: 第一處fun(int n)應(yīng)改為 double fun(int n) 第二處 return sum應(yīng)改為 return sum;
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |