本系列資料由"韜略宏智" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。
1.填空題
下列給定程序中,函數(shù)fun()的功能是:計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y不相等,z和y不等。例如,當(dāng)x的值為9,y的值為11,z的值為15時(shí),函數(shù)值為-3.50。
試題程序:
#include
#include
#define FU(m,n)(m)/(n)
float fun(float a,float b,float c)
{【1】 value;
value=FU(a+b,a-b)+FU(c+b,c-b);
return(value);
}
main()
{ float x,y,z,sum;
printf("Input x y z:: ");
scanf("%f%f%f",&x,&y,&z);
printf("x=%f,y=%f,z=%f\n",x,y,z);
if(x==y【2】y==z){printf("Data error!\n ");}
sum=fun(x,y,z);
printf("The result is:%5.2f\n ",【3】);
}
【答案】
【1】float 【2】|| 【3】sum
【解析】
3.編程題
請(qǐng)編寫一個(gè)函數(shù)int fun(int*s,int t,int*k),用來求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。
例如,輸入如下整數(shù):
876 675 896 101 301 401 980 431 451 777
則輸出結(jié)果為:6,980。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
void fun(int *s,int t,int *k)
{
}
main()
{
int a[10]={876,675,896,101,301,401,980,431,451,777},k;
clrscr();
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);
}
【答案】
void fun(int*s,int t,int*k)
{
int i,max;
max=s[0];
for(i=0;i<t;i++)
if(s[i]>max)
{
max=s[i];
*k=i;
}
}
【考點(diǎn)】數(shù)組、for循環(huán)語句、查找算法和參數(shù)傳遞。
【解析】
void fun(int *s,int t,int *k)
{
int i,max; /*定義整型變量max,用于保存最大值*/
max=s[0]; /*把數(shù)組第一個(gè)元素的值賦給max作為比較初值*/
for(i=0;i<t;i++) /*循環(huán)遍歷整個(gè)數(shù)組*/
if(s[i]>max) /*尋找比當(dāng)前max更大的數(shù)組元素*/
{
max=s[i];
*k=i; /*把最大元素的下標(biāo)賦給k所指的內(nèi)存*/
}
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |