工学

问答题编一个程序,输入二个正整数,求出它们的最大公约数。

题目
问答题
编一个程序,输入二个正整数,求出它们的最大公约数。
参考答案和解析
正确答案: inti,j,k;
Console.WriteLine("请输入两个正整数");
i=int.Parse(Console.ReadLine());
j=int.Parse(Console.ReadLine());
k=iwhile(!(i%k==0&&j%k==0))
k--;
Console.WriteLine("最大公约数为{0}",k);
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。

例如,若nmnl和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,

则输也的最大公约数为27。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或硼行,也不得更改程序的结构!

试题程序:


正确答案:

第2题:

编一个程序,输入三个实数,要求使用ifelse语句把它们的中间数找出来,可以使用逻辑运算符。


正确答案: floatx,y,z,second=0;
Console.WriteLine("请输入三个float类型的值");
x=float.Parse(Console.ReadLine());
y=float.Parse(Console.ReadLine());
z=float.Parse(Console.ReadLine());
if((x>y&&xz))
second=x;
elseif((y>x&&yz))
second=y;
else
second=z;
Console.WriteLine("这三个数中的中间数为{0}",second);

第3题:

下列函数过程的作用是计算x和y的最大公约数。请填空。

Private Sub Command1_ Click()

Dim x As Integer, y As Integer, Result As Integer

x = InputBox (“请输入第一个数”)

y = InputBox (“请输入第二个数”)

Result =______

Print x; "和"; y; "的最大公约数为: "; Result

End Sub

Private Function GYS (ByVal A As Integer, ByVal B As Integer)

Dim T As Integer

T = A Mod B

Do While ______

A = B

B = T

T = A Mod B

Loop

______

End Function


正确答案:GYS (xy) T>0 GYS=B
GYS (x,y) , T>0 , GYS=B

第4题:

编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数之和。


正确答案: inti;
doublesum1=0,sum2=0,x;
for(i=1;i<=10;i++)
{
Console.Write("请输入一个实数:");
x=double.Parse(Console.ReadLine());
if(x>0)
sum1+=x;
else
sum2+=x;
}
Console.WriteLine("正数之和:{0},负数之和:{1}",sum1,sum2);

第5题:

编一个程序,定义一个有10个元素的数组,使用for循环语句,从键盘上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出10名同学的数学平均成绩。


正确答案: double[]math=newdouble[10];
Console.WriteLine("请输入10名学生的数学成绩");
for(inti=0;i{
math[i]=double.Parse(Console.ReadLine());
}
doublemax=math[0],min=math[0],ave,sum=0;
for(intj=0;j{
if(maxmax=math[j];
if(min>math[j])
min=math[j];
sum=sum+math[j];
}
ave=sum/math.Length;
Console.WriteLine("最高分为{0},最低分为{1},平均分为{2}",max,min,ave);

第6题:

采用辗转相除法求出两个整数的最大公约数。
a=b;b~r

第7题:

有关系式1*1+2*2+3*3+...+k*k<2000,编一个程序,求出满足此关系式的k的最大值。


正确答案: intk=1,s=0;
while(s<2000)
{
s=s+k*k;
k++;
}
Console.WriteLine("k的值为{0}",k-2);

第8题:

JAVA编程

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。   

/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* /


import java.util.*;
public    class    lianxi06     {
public static void main(String[] args) {
int     a ,b,m;
Scanner s = new Scanner(System.in);
System.out.print( "
键入一个整数:
");
a = s.nextInt();
System.out.print( "
再键入一个整数:
");
b = s.nextInt();
      deff cd = new deff();
      m = cd.deff(a,b);
      int n = a * b / m;
      System.out.println("
最大公约数
: " + m);
      System.out.println("
最小公倍数
: " + n);
}
}
class deff{
public int deff(int x, int y) {
     int t;
     if(x < y) {
      t = x;
      x = y;
      y = t;
     }  
     while(y != 0) {
      if(x == y) return x;
      else {
       int k = x % y;
       x = y;
       y = k;
      }
     }
     return x;
}

第9题:

编一个程序,用for循环语句求出1到100之间的奇数之和。


正确答案: inti,s=0;
for(i=1;i<=100;i=i+2)
{
s=s+i;
}
Console.WriteLine("1-100之间所有奇数的和为{0}",s);

第10题:

编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。


正确答案: inti=1,n,sum=0;
do
{
Console.WriteLine("请输入一个整数");
n=int.Parse(Console.ReadLine());
sum=sum+n;
i++;
}while(i<=10);
Console.WriteLine("这十个整数的和为{0}",sum);

更多相关问题