更多"请完成下列Java程序:输入2个整数,求最大公约数。要求有2个单行文本"的相关试题:
[简答题]请完成下列Java程序:输入2个整数,求最大公约数。要求有2个单行文本区作为输入,2个按钮,一个单击完成计算,一个单击退出程序。
注意:请勿改动main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序文件代码清单如下:
import java.awt.*;
import java.awt.event.*;
public class ex7_2 extends Frame implements ActionListener
private Label 1;
private TextField tf,tf2;
public static void main(String args[])
ex7_2 obj7_2=new ex7_2( );
public ex7_2( )
setTitle("ex7_2");
Panel p1;
Button b=new Button("OK");
p1=new Panel( );
tf=new TextField(8);
p1.add(tf);
tf2=new TextField(8);
p1.add(tf2);
b.addActionListener(this);
p1.add(b);
b=new Button("Exit");
b.addActionListener(this);
p1.add(b);
add("North",p1);
Panel p2=new Panel( );
l=new Label("最大公因数:");
p2.add(l);
add("Center",p2);
setsize(500,300);
show( );
public
[单项选择]
下面程序段实现求最大公约数,请将程序补充完整。
DATA M,N/8,24/
R=MOD(M,N)
30 IF R.NE.0 THEN
M=N
N=L
______
GOTO 30
ENDIF
WRITE(*,*)N
END
答案是()。
A. R=MOD(M,N)
B. R=M/N
C. R=M-N
D. R=M*N
[填空题]输入2个整数,输出它们的最小公倍数和最大公约数。
#include<stdio.h>
void main( )
{int m,n,gbs,gys;
scanf("%d,9/6d",m,n);
gbs=m;
while(______)/*第一空*/
gbs=______;/*第二空*/
gys=______;/*第三空*/
printf("%d %d/n",gbs,gys);
}
[填空题]两个正整数分别除以它们的最大公约数,得到2个商的和是18,能确定两个整数相差20.
(1)2个整数的最小公倍数是385; (2)2个整数的最大公约数是5.
[简答题][说明]
下面的程序利用递归算法计算x和y的最大公约数。
[函数2.1]
main ( )
{ int x,y,k,t;
scanf(" % d% d" , &x, &y);
if(x>y) { t=x;x=y; y=t;}
(1) ;
while(k! =0){
y=x;
(2) ;
k=y%x;
}
prinff( "% d" ,x); }
[函数2.2说明]
函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。
[函数2.2]
fun(ehar * str, char * substr)
{ int x,y,z;
(3) ;
for(x=0;str[ x] ! = ’/O’;x + + )
for(y=x,z=0;sabstr[z] = =str[y]; (4) ,y+ +)
if( (5) = =’/0’) {
num + +;
break;
}
return(num);
}
[填空题]下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。
#include<stdio.h>
main( )
{int r,m,n;
scanf("%d%d",&m,&n);
if(m<n)______
r=m%n:
while(r){m=n;n=r;r=m%/n};
printf(“%d/n",n);
}
[简答题][说明]
下面的程序利用递归算法计算x和y的最大公约数。
[函数2.1]
main ( )
int x,y,k,t;
scanf(" % d% d" , &x, &y);
if(x>y) t=x;x=y; y=t;
(1) ;
while(k! =0)
y=x;
(2) ;
k=y%x;
prinff( "% d" ,x);
[函数2.2说明]
函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。
[函数2.2]
fun(ehar * str, char * substr)
int x,y,z;
(3) ;
for(x=0;str[ x] ! = ’/O’;x + + )
for(y=x,z=0;sabstr[z] = =str[y]; (4) ,y+ +)
if( (5) = =’/0’)
num + +;
break;
return(num);
[填空题]下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。
#include<stdio.h>
main( )
int r,m,n;
scanf("%d%d",&m,&n);
if(m<n)______
r=m%n:
while(r)m=n;n=r;r=m%/n;
printf(“%d/n",n);
[简答题]请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt( )和 setDouble( )分别给这两个变量赋值和用toString( )方法显示对象的私有成员变量的值,要求将这个类定义为Serializable,再创建这个类的持久对象,将对象写入名为ex3_2.data的文件中并显示对象的2个成员变量,最后从这个文件中读取这个对象并显示对象的2个成员变量。
注意:请勿改动main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:
ex3_2: i=123 d=123.456
ex3_2: i=123 d=123.456
import java.io.*;
public class ex3_2 implements Serializable
private int n3_2;
private double d3_2;
ex3_2( )
n3_2 = 25;
d3_2 = 12.23;
public void setDouble(double x)
d3_2 = x;
public void setInt(int x)
n3_2 = x;
public String toString( )
return("ex3_2: i=" + n3_2 + "d=" + d3_2);
public static void main(String[] arg)
ex3_2 e1 = new ex3_2 );
ex3_2 e2;
e1.setInt(123);
e1.setDouble(123.456);
System.out.println(e1);
try
FileOutputStream fos3_2 = new FileOutputStream
[填空题]下面程序的功能是求整数m、n的最大公约数,请填空。
main( )
{ int m,n,r;
scanf("%d,%d",&m,&n);
if( 【18】 ){r=m;m=n;n=r;)
while( 【19】 )
{ r=m%n;m=n;n=r; }
printf("%d",m);
}
[填空题]下面程序的功能是求整数m、n的最大公约数,请填空。
main( )
int m,n,r;
scanf("%d,%d",m,n);
if( 【17】 ) r=m;m=n;n=r;
while( 【18】 )
r=m%n;m=n;n=r;
printf("%d",m);
[填空题]下面程序的功能是求整数m、n的最大公约数,请填空。
main( )
int m,n,r;
scanf("%d,%d",&m,&n);
if( 【18】 )r=m;m=n;n=r;)
while( 【19】 )
r=m%n;m=n;n=r;
printf("%d",m);
[填空题]下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(int a,int b)
int r,t:
if(a<b)
/*********found*********/
t=a;b=a;a=t;
r=a%b;
while(r!=0)
a=b;b=r;r=a%b;
/*********found*********/
return(a);
void main( )
int num1,hum2,a;
printf("Input num1 num2:");
scanf("%d%d",&num1,&num2);
printf("num1=%d num2=%d/n/n",num1,num2);
a=fun(num1,num2):
printf("The maximun common divisor is%d/n/n",a);
[简答题]下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
intfun(int a,int b)
int r,t;
if(a<b)
/**********found***********/
t=a;b=a;a=t;
r=a%b;
while(r!=0)
a=b;b=r;r=a%b;
/*************found**********/
return(a);
void main( )
int num1,num2,a;
printf("Input num1 num2:");
scanf("%d%d",&num1,&num2);
printf("num1=%d num2=%&n/n",num1,num2);
a=fun(num1,num2);
printf("The maximun common divisor is%d/n/n",a);