四川大学java上机题库

更新时间:2023-11-13 02:24:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

输入三角形的三边a, b, c,判断能否构成三角形。若能,计算周长。

输出结果如下: input: 请输入三个整数 2 2 3 output:

能构成三角形,周长为7 input:

请输入三个整数 1 2 3 output: 不能构成三角形

import int

java.util.Scanner;

int

public

class

main{

public

static

void

main(String[]

args)

{ System.out.print(\请输入三个整数\\n\

b=cin.nextInt();

c=cin.nextInt();

System.out.print(\

if(a+b{ System.out.print(\不能构成三角形\\n\} else { int l=a+b+c; System.out.print(\能构成三角形,周长为\System.out.print(l); } } }

输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如:153 = 1*1*1 + 3*3*3 + 5*5*5

输出效果如下: output:

153 is a dafodil number! 111 is a dafodil number! 222 is a dafodil number! 333 is a dafodil number!

class main{ public static void main(String[] args){ System.out.println(\for (int sum; number<1000; number++){ i=number/100; j=(number-i*100)/10; k=number-i*100-j*10; sum=i*i*i+j*j*j+k*k*k; if (sum==number) System.out.println(number+\

约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上

自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到下盘的上面。Daisy已经做过原来的汉诺塔问题和汉诺塔II,但碰到这个问题时,她想了很久都不能解决,现在请你帮助她。现在有N个圆盘,她至少多少次移动才能把这些圆盘从最左边移到最右边?

import java.util.*; public class main{ public static void main(String[] args){ Scanner s=new Scanner(System.in); boolean is=true; System.out.println(\请输入一个正整数: \long a=s.nextLong(); String

ss=Long.toString(a);

char[]

ch=ss.toCharArray();

int

j=ch.length;

for(int

i=0;i

编写程序,判断给定的某个年份是否是闰年。

import

java.util.Scanner;

year

class =

main{

public

static

void

main(String[]

if if else

arge){ System.out.println(\input year:\int year; Scanner scanner = new Scanner(System.in); (year<0||year>3000){

scanner.nextInt();

System.out.print(\System.exit(0);

is

}

bissextile\

System.out.println(\

((year%4==0)&&(year0!=0)||(year@0==0)) System.out.println(year+\

System.out.println(year+\

两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛

名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

输出结果格式如下图所示

import java.util.*; public class main{ static char[] m={'a','b','c'}; static char[] n={'x','y','z'}; public static void main(String[] args){ System.out.println(\比赛名单如下所示\for(int i=0;i

continue;

}else

if((m[i]=='b'&&n[j]=='z')||(m[i]=='b'&&n[j]=='y')){ continue; }else System.out.println(m[i]+\

有一种彩票的玩法是从1~49这49个整数中挑选6个数字。小明为此研究出一个选号的策略,就是从这49个数字中选出一个子集S,S中包含了k(k>6)个数字,然后从S中再选择6个数字作为最终选定的号码。

你的任务是,给你k和集合S,输出从S中选择投注号码的所有组合。

import java.util.*; public class main{ public static void main(String[] args){ Scanner s=new Scanner(System.in); boolean is=true; System.out.print(\请输入一个正整数: \long a=s.nextLong();

String ss=Long.toString(a); char[] ch=ss.toCharArray(); int j=ch.length; for(int

i=0;i

编程求下列式子的值,

y=1-1/2+1/3-1/4+…+1/99-1/100 并将结果输出。

输出结果格式如下: output:

1-1/2+1/3-1/4+…+1/99-1/100=0.6881721793

public class main{ public static void main(String[] args) { double sum=0; for(double i=1;i<=100;i++) { sum=sum+Math.pow(-1, i-1)*(1/i); }

System.out.printf(\1/4+…+1/99-1/100=%.10f\

一个数如果恰好等于它的因子之和,这个数就称为 \完数 \。例如6=1+2+3。编程找出数m与n之间的的所有完数并统计个数。

注意:依次输入m和n的值,其中m < n。输出依次为每个完数,空格隔开。换行输出统计个数

输入输出格式如下: input: 1 2000 output: 6 28 496 3

import java.util.Scanner; public class main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print(\int start = sc.nextInt(); int end = sc.nextInt(); System.out.print(\end) { int count = 0; for (int i = start; i < end; i++) { int t = 0; for (int j = 1; j <= i / 2; j++) { if (i % j == 0) { t = t + j; } } if (t == i) { count++; System.out.print(i + \

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

输出结果如下图所示:

import java.util.*; public class main{ public static void main(String[] args){ Scanner s=new Scanner(System.in); boolean is=true; System.out.println(\请输入一个正整数: \long a=s.nextLong(); String

ss=Long.toString(a);

char[]

ch=ss.toCharArray();

int

j=ch.length;

for(int

i=0;i

编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词. 例如:1转换成Monday,7转换成Sunday. 输出结果格式如下: input:

请输入任意一个1~7之间的整数 1

output: Monday

import

java.util.Scanner;

public

class

main{

public

static

void

main(String[]

args)

{ System.out.print(\请输入任意一个1~7之间的整数\\n\Scanner cin=new Scanner(System.in); int m=cin.nextInt(); System.out.print(\if(m==1) System.out.print(\else if(m==2) System.out.print(\System.out.print(\

else else

if(m==3) if(m==5)

System.out.print(\System.out.print(\

else else

if(m==4) if(m==6)

System.out.print(\

输入两个正整数m和n,求其最大公约数和最小公倍数。 输入输出格式如下: input: 14 49 output: 7 98

import java.util.*; public class main{ public static void main(String[] args) { int a, b, m; Scanner s = new Scanner(System.in); a = s.nextInt(); b = s.nextInt(); m = deff(a, b); int n = a * b / m; System.out.println(\= t; } while (y != 0) { if (x == y) return x; else { int k = x % y; x = y; y = k; } } return x; } }

输入一个长度为8的数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组

输出结果格式如下图所示:

import java.util.*; public class main{ public static void main(String [] args){ int N=8,i,temp; int [] a=new int[N]; Scanner s = new Scanner(System.in); int idx1=0,idx2=0; System.out.println(\请输入8个整数:\for(i=0;i

输入的数组为:\\n\

for(i=0;i

一个数如果恰好等于它的因子之和,这个数就称为 \完数 \。例如6=1+2+3.

编程输出1000以内的所有完数。

输出结果如下所示: output:

1000以内的完数有: 6

import java.util.*; public class main{ public static void main(String[] args){ System.out.print(\以内的完数有:\\n\int i,j; for(i=1;i<1000;i++){ int t=0; for(j=1;j<=i/2;j++){ if(i%j==0) t=t+j; } if(t==i) System.out.print(i+\

一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

本文来源:https://www.bwwdw.com/article/riqv.html

Top