二 填空题
1.下列程序的输出结果是 5 6 。
int t(int x, int y, int cp, int dp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main( )
{int a=4, b=3, c=5, d=6;
t(a, b, c, D);
printf("%d %d\n", c, D);
}
2.以下程序的运行结果是 8,17 。
#include
main()
{int k=4, m=1, p;
p=func(k, m); printf("%d,", p);
p=func(k, m); printf("%d\n", p);
}
func(int a, int B)
{static int m=0, i=2;
i+=m+1;
m=i+a+b;
return m;
}
3.以下程序输出的最后一个值是 120 。
int ff(int n)
{static int f=l;
f=f*n;
return f;
}
main()
{int i;
for(i=1;i<=5;i++) printf("%d\n",ff(i));
}
4.以下函数的功能是:求x的y次方,请填空。
double fun(double x, int y)
{int i;
double z;
for(i=1, z=x; i return z; } 5.若变量n中的值为24,则prnt函数共输出 5 行,最后一行有 4 个数。 void prnt(int n, int aa[ ]) {int i; for(i=1; i<=n; i++) {printf("%6d", aa[i]); if(!(i%5)) printf("\n"); } printf("\n"); } 6.以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。 #define N 3 #define M 4 void LineMax(int x[N][M]) {int i, j, p; for(i=0; i {p=0; for(j=1; j if(x[i][p] printf("The max value in line %d is %d\n", i, x[i][p] ); } } main() {int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1}; LineMax(x) } 7.函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+ … +1/(n*n) 请在下面的函数中填空,完成求π的功能。 #include “math.h” double pi(long n) {double s=0.0; long i; for(i=1;i<=n; i++) s=s+ 1.0/i*i ; return(sqrt(6*s)); } 8.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部 void fun( double b[10][22]) 。要求形参名为b。 main() {double s[10][22]; int n; … fun(s); … } 9.输入12时,程序输出结果为 12 is not prime number. ;若输入17,输出结果为 17 is prime number. 。 main() {int number; scanf(“%d”, &number); if(prime(number)) printf(“\n%d is prime number.”, number); else printf(“\n%d is not prime number.”, number); } int prime(int number) {int flag=1, n; for(n=2; n if(number%n= =0) flag=0; return(flag); } 10.理解下面的程序,填空完善程序。 main() {int a, b, c; scanf(“%d %d”, &a,%b ); c= max (a, B); printf(“a=%d b=%d max=%d\n”, a, b, C); } int max(x, y) int x,int y ; {int z; if(x>y) z=x; else z=y; return z ; } 11.下面程序的输出结果是 2,5,1,2,3,-2 。 main() {int a=3, b=2, c=1; c-=++b; b*=a+c; {int b=5, c=12; c/=b*2; a-=c; printf(“%d, %d, %d,”, a, b, C); a+=--c; } printf(“%d, %d, %d”, a, b, C); } 12.下面的findmax函数返回数组s中值为最大的元素的下标,数组中元素的个数由t传人,请填空。 findmax(int s[ ], int t) {int k, p; for(p=0, k=p; p if(s[p]>s[k]) p=k ; return k; } 13.下面程序的输出结果是 7 。 fun(int x) {int p; if(x= =0||x= =1) return(3); p=x-fun(x-2); return p; } main() {printf(“%d\n”, fun(9));} 14.函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun(char str[ ]) {char m; int i, j; for(i=0, j=strlen(str); i< strlen(str) ; i++, j--) {m=str[i]; str[i]= str[j-1] ; str[j-1]=m; } printf(“%s\n”, str); } 编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |