以下正确的函数定义形式是( )。
A. void f(int x,int y){ return x+y; }
B. int f(int x,y){ int z; z=x+y; return z;}
C. int f(int x,int y){ int x,y,z;z=x+y;}
D. int f(int x,int y){ int z; z=x+y; return z;}
以下程序的功能是选出能被3整除且至少有一位是5的两位数的整数,输出所有满足条件的数及其个数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include int Sub(int k,int n) { int a1,a2; a2=k/10; a1=k-a2*10; if(________________) { printf("%4d",k); n++; return n; } else return -1; } int main() { int n=0,k,m; for(k=10;k<100;k++) { m=__________; if(________) n=m; } printf("\nn=%d\n",n); return 0; }
A. 第7行:(k%3==0 &&a2==5) && (k%3==0 &&a1==5)第22行:Sub(n,k)第24行:m==-1
B. 第7行: (k%3==0&&a2==5)||(k%3==0&&a1==5)第22行: Sub(k,n)第24行: m!=-1
C. 第7行:(k%3=0 && a2=5) && (k%3=0 && a1=5)第22行:Sub(n,k)第24行:m!=-1
D. 第7行:(k%3=0 && a2=5)||(k%3=0 && a1=5)第22行:Sub(k,n)第24行:m=-1
以下程序运行后的结果是什么?int f(int x,int y){return ((y-x)*x);}main(){int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}
A. 9
B. 12
C. 3
D. 8
设计一个函数MaxCommonFactor(),利用欧几里德算法(也称辗转相除法)计算两个正整数的最大公约数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include int MaxCommonFactor(int a, int b); int main() { int a, b, x; printf("Input a,b:"); scanf("%d,%d", &a, &b); x =_______________ ; if (x != -1) { printf("MaxCommonFactor = %d\n", x); } else { printf("Input error!\n"); } return 0; } //函数功能: 计算两个正整数的最大公约数,-1表示没有最大公约数 int MaxCommonFactor(int a, int b) { int r; if (a<=0 || b<=0) return -1; // 保证输入的参数为正整数 do{ ____________; a = b; _____________; }while (__________); return a; }
A. 第8行:MaxCommonFactor(a, b)第29行: r = a % b第31行: b = r第32行: r != 0
B. 第8行:MaxCommonFactor(a, b, x)第29行: r = a % b第31行: a= r第32行: r == 0
C. 第8行:MaxCommonFactor(a, x)第29行: r = b % a第31行: b= r第32行: r = 0
D. 第8行:MaxCommonFactor(x, b)第29行: r = a/ b第31行: a= r第32行: r != 0