7-1 sdut-sel-2 汽车超速罚款(选择结构)
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
int b = cin.nextInt();
int c;
if(a >= b)
System.out.println("Congratulations, you are within the speed limit!");
else
{
if(b - a <= 20)
c = 100;
else if(b - a >= 21 && b - a <= 30)
c = 270;
else c = 500;
System.out.println("You are speeding and your fine is "+c+".");
}
}
}
7-2 sdut-sel-4 计算工资数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int h,money;
Scanner input=new Scanner(System.in);
h=input.nextInt();
if(h>0&&h<=120)
{
money=h*20;
System.out.println(money);
}
else if(h>120)
{
money=120*20+(h-120)*40;
System.out.println(money);
}else{
System.out.println(0);
}
}
}
7-3 sdut-循环-5-百钱买百鸡
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
//Scanner cin = new Scanner(System.in);
System.out.println("公鸡 0只,母鸡25只,小鸡75只");
System.out.println("公鸡 4只,母鸡18只,小鸡78只");
System.out.println("公鸡 8只,母鸡11只,小鸡81只");
System.out.println("公鸡12只,母鸡 4只,小鸡84只");
}
}
7-4 sdut-最大公约数和最小公倍数
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
int a = cin.nextInt();
int b = cin.nextInt();
System.out.print(gcd(a, b) + " ");
System.out.println(lcm(a, b));
}
}
public static int gcd(int m, int n)
{
return m % n == 0 ? n : gcd(n, m % n);
}
//ll lcm(ll a, ll b) {return a/gcd(a, b)*b;}
public static int lcm(int m, int n)
{
return m/gcd(m, n)*n;
}
}
//ll gcd(ll a, ll b) {return b ? gcd(b, a%b) : a; }
7-5 sdut-sel-10 直角坐标系象限判断
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
int a = cin.nextInt();
int b = cin.nextInt();
if(a > 0 && b > 0) System.out.println(1);
else if(a > 0 && b < 0) System.out.println(4);
else if(a < 0 && b > 0) System.out.println(2);
else System.out.println(3);
}
}
public static int gcd(int m, int n)
{
return m % n == 0 ? n : gcd(n, m % n);
}
//ll lcm(ll a, ll b) {return a/gcd(a, b)*b;}
public static int lcm(int m, int n)
{
return m/gcd(m, n)*n;
}
}
//ll gcd(ll a, ll b) {return b ? gcd(b, a%b) : a; }
7-6 sdut-sel-while-1 社会主义核心价值观之理解与输出
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
int a = cin.nextInt();
if(a == 1)
System.out.println("富强、民主、文明、和谐(国家层面)");
else if(a == 2)
System.out.println("自由、平等、公正、法治(社会层面)");
else if(a == 3)
System.out.println("爱国、敬业、诚信、友善(个人层面)");
else if(a == 0) break;
else System.out.println("Input out of range!");
}
}
public static int gcd(int m, int n)
{
return m % n == 0 ? n : gcd(n, m % n);
}
//ll lcm(ll a, ll b) {return a/gcd(a, b)*b;}
public static int lcm(int m, int n)
{
return m/gcd(m, n)*n;
}
}
//ll gcd(ll a, ll b) {return b ? gcd(b, a%b) : a; }
7-7 sdut-期末考试之排名次
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
int i, n, j, a, b, c, temp;
n = reader.nextInt();
int s[] = new int[110];// 这里的数组空间多开,如果开的大小正好等于n,则可能发生数组越界的可能
for (i = 0; i < n; i++) {
a = reader.nextInt();
b = reader.nextInt();
c = reader.nextInt();
s[i] = a + b + c;
}
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
if (s[i] < s[j]) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
for (i = 0; i < n - 1; i++) {
System.out.println(s[i]);
}
System.out.print(s[n - 1]);
}
}
7-8 sdut-循环-4-统计学生平均成绩与及格人数(II)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
if(t == 0)
{
System.out.println("average=0.0\n" +
"count=0");
}
else
{
int n = t;
double sum = 0;
int cnt = 0;
while(t -- != 0)
{
double x = cin.nextDouble();
sum += x;
if(x >= 60) cnt ++;
}
System.out.printf("average=%.1f\n", sum/n);
System.out.printf("count=%d\n", cnt);
}
}
}
7-9 sdut-九九乘法表
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n,i,j;
while(cin.hasNext())
{
n = cin.nextInt();
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
if(j!=i)
System.out.printf("%d*%d=%d ",j,i,i*j);
else
System.out.printf("%d*%d=%d\n",j,i,i*j);
}
}
}
cin.close();
}
}
7-10 sdut-sel-1 R-D先生生日(分支结构)
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int m=cin.nextInt();
int n=cin.nextInt();
if(m<4|| m==4&&n<6)
System.out.print("BeforeRD");
else if(m>4|| m==4&&n>6)
System.out.print("AfterRD");
else if(m==4&&n==6)
System.out.print("Special");
}
}
7-11 sdut-顺序结构-1 利用海伦公式求三角形面积,了解世界科学史
import java.math.BigDecimal;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
// int[][] a;
// int b[][];
// a = new int[8][8];
// b = new int[8][8];
double a = cin.nextDouble();
double b = cin.nextDouble();
double c = cin.nextDouble();
if(a <= 0 || b <= 0 || c <= 0)
{
System.out.println("Input Error!");
}
else
{
double Max = Math.max(Math.max(a, b), c);
double p = (a + b + c) / 2.0;
if(p <= Max) System.out.println("Input Error!");
else
{
double s = Math.sqrt(p*(p - a)*(p - b)*(p - c));
System.out.printf("%.2f\n", s);
}
}
}
}
}
7-12 sdut-循环-9 求定积分
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
double a,b,interval,sum;
int n,i;
double left;
while(sc.hasNext())
{
a=sc.nextDouble();
b=sc.nextDouble();
n=sc.nextInt();
interval=(b-a)/n;
sum=0;
for(i=0,left=a;i<n;i++)
{
double tmp=(left*left+(left+interval)*(left+interval))*interval/2;
/*
* 定积分约等于求面积
* 左边高:left*left
* 右边高:(left+interval)*(left+interval)
* 长度:interval
* 梯形求面积:记得除以2
*/
sum+=tmp;
left+=interval;
}
System.out.printf("%.3f\n",sum);
}
sc.close();
}
}
7-13 sdut-sel-for-1 RDMP音乐播放器(I)(分支、循环)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = 0;
char A = 'A', B = 'B', C = 'C', D = 'D', E = 'E';
for (int i = 0; i < 5; i++) {
num = in.nextInt();
if(num==1) {
char fg='0';
fg=A;
A=B;
B=C;
C=D;
D=E;
E=fg;
}
if(num==2) {
char fg='0';
fg=E;
E=D;
D=C;
C=B;
B=A;
A=fg;
}
if(num==3) {
char fg='0';
fg=A;
A=B;
B=fg;
}
}
System.out.print(A);
System.out.print(',');
System.out.print(B);
System.out.print(',');
System.out.print(C);
System.out.print(',');
System.out.print(D);
System.out.print(',');
System.out.print(E);
}
}
7-14 sdut-循环-1-求倒数之和
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
double sum=0;
for(int i=1;i<=n;i++)
{
sum+=1.0/i;
}
System.out.print(String.format("%.6f",sum));
}
}
7-15 sdut-冒泡排序中数据交换的次数
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int t = cin.nextInt();
while(t -- != 0)
{
int n = cin.nextInt();
int [] a = new int[100];
for(int i = 0; i < n; i ++)
{
int x = cin.nextInt();
a[i] = x;
}
int cnt = 0;
for(int i = 0; i < n - 1; i ++)
{
for(int j = 0; j < n - 1 - i; j ++)
{
if(a[j] > a[j + 1])
{
cnt ++;
int tt = a[j];
a[j] = a[j + 1];
a[j + 1] = tt;
}
}
}
System.out.println(cnt);
}
}
}
7-16 sdut-循环-2-格式化输出N个数
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
for(int i=1;i<=n;i++)
{
if(i%10==0)
{
System.out.println(i);
}
else if(i!=n)
System.out.print(i+" ");
else
System.out.print(i);
}
}
}
7-17 sdut-温度转换
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
double a = cin.nextDouble();
double c = 5.0*(a - 32.0)/9.0;
System.out.printf("%.2f\n", c);
}
}
7-18 sdut-顺序结构-2 计算得分
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
int a = cin.nextInt();
int b = cin.nextInt();
int c = cin.nextInt();
System.out.println(a*3 + b*2 + c);
}
}
}
7-19 sdut-循环-7-统计正数和负数的个数(II)
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int z=0,f=0;
double sum=0,i=0;
double n=1.0;
while(n!=0.0)
{
n=cin.nextDouble();
if(n>0)
z++;
if(n<0)
f++;
sum+=n;
i++;
}
System.out.println(z);
System.out.println(f);
System.out.println((int)sum);
System.out.print(String.format("%.2f",sum/(i-1)));
}
}
7-20 sdut-循环-6-统计字符 (II)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int letters=0,blanks=0,digits=0,others=0;
int n=sc.nextInt();
sc.nextLine();
String line=sc.nextLine();
for(int i=0;i < n; i ++)
{
char ch=line.charAt(i);
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
letters++;
else if(ch>='0'&&ch<='9')
digits++;
else if(ch==' ')
blanks++;
else
others++;
}
System.out.println("letters="+letters);
System.out.println("blanks="+blanks);
System.out.println("digits="+digits);
System.out.println("others="+others);
}
}
7-21 sdut-逆序的N位数
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
long l=sc.nextLong();
long result=0;
while(l!=0)
{
long tmp=l%10; //l的个痊数
l=l/10; //l去除了个数,留十位向左的所有数字位
result=result*10+tmp;
}
System.out.println(result);
}
}
7-22 sdut-循环-乘法运算
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int n = cin.nextInt();
for(int i = 1; i <= n; i ++)
{
System.out.printf("%d*%d=%d\n", i, n, i*n);
}
}
}
7-23 sdut-循环-3-评委评分(II)
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
double max=-1;
double min=11;
double sum=0;
for(int i=1;i<=n;i++)
{
double x=cin.nextDouble();
if(x>max)
max=x;
if(x<min)
min=x;
sum+=x;
}
System.out.println("最高分"+String.format("%.2f",max));
System.out.println("最低分"+String.format("%.2f",min));
System.out.print("平均分"+String.format("%.2f",(sum-max-min)/(double)(n-2)));
}
}
7-24 sdut-循环-9-画菱形(II)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = 0;
num = in.nextInt();
for (int i = 1; i <= (2 * num - 1); i++) {
for (int j = 1; j <= num - i; j++)
System.out.print(' ');
for (int j = 1; j <= (2 * i - 1) & i <= num; j++)
System.out.print('*');
for (int j = i - num; j >= 1; j--)
System.out.print(' ');
for (int j = 2 * (2 * num - i) - 1; j >= 1 & i > num; j--)
System.out.print('*');
System.out.println();
}
}
}
7-25 sdut-循环-8-等腰直角三角形(II)
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
7-26 sdut-判断素数
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
//while(cin.hasNext())
{
int t=cin.nextInt();
while(t -- != 0)
{
int n = cin.nextInt();
if(n == 1) System.out.println("No");
else
{
int flag = 1;
for(int i = 2; i <= n/i; i ++)
{
if(n%i == 0)
{
flag = 0;
break;
}
}
if(flag == 1) System.out.println("Yes");
else System.out.println("No");
}
}
}
}
}
7-27 sdut-小I选宾馆
import java.util.Scanner;
public class Main
{
public static void main(String[] arys)
{
int i=0,j=0,n=0,k=0,l=0,o=0,p=0;
Scanner sc= new Scanner(System.in);
while(sc.hasNext())
{
n=sc.nextInt();
k=sc.nextInt();
l=sc.nextInt();
for(i=2;i<=n;i++)
{
o=sc.nextInt();
p=sc.nextInt();
if(o>k)
{
k=o;
l=p;
j=i;
}
else if(o==k)
{
if(p>l)
{
k=o;
l=p;
j=i;
}
else
{
k=k;
l=l;
}
}
}
System.out.println(j);
i=2;
}
}
}
7-28 一元二次方程(有实根)
import java.math.BigDecimal;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
double a = cin.nextDouble();
double b = cin.nextDouble();
double c = cin.nextDouble();
double x1 = ((-b)+Math.sqrt(b*b-4.0*a*c))/(2*a);
double x2 = ((-b)-Math.sqrt(b*b-4.0*a*c))/(2*a);
System.out.printf("X1=%.3f\n", x1);
System.out.printf("X2=%.3f\n", x2);
}
}
7-29 大小写转换
import java.math.BigDecimal;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
String c = cin.nextLine();
char s = c.charAt(0);
if(s >= 'a' && s <= 'z')
{
System.out.println((char)(s - 32));
}
else
{
System.out.println((char)(s+32));
}
}
}
7-30 极坐标->直角坐标
#include <bits/stdc++.h>
using namespace std;
int main()
{
char c1, c2, c3;
double r, o, x, y;
cin >> c1 >> r >> c2 >> o >> c3;
x = r * cos(o);
y = r * sin(o);
printf("( %.10g, %.10g )", x, y);
return 0;
}
7-31 输入数据范围的简单判断
import java.math.BigDecimal;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
if(a/100 != 0 && a/1000 == 0)
{
int b = a/100;
int c = a/10%10;
int d = a%10;
System.out.print(b);
System.out.print(b);
System.out.print(c);
System.out.print(d);
System.out.println(d);
}
}
}
7-32 计算正五边形的面积和周长
import java.text.DecimalFormat;
import java.util.Scanner;
abstract class shape {// 抽象类
public abstract double getArea();
public abstract double getPerimeter(); }
class RPentagon extends shape
{
private double a;
@Override
public double getArea() {
// TODO 自动生成的方法存根
return 5*Math.pow(a,2)/(4*Math.tan(36*Math.PI/180));
}
@Override
public double getPerimeter() {
// TODO 自动生成的方法存根
return 5*a;
}
public RPentagon(double a1)
{
a=a1;
}
}
public class Main
{
public static void main(String[]args)
{
DecimalFormat df=new DecimalFormat("#.####");
Scanner in=new Scanner(System.in);
RPentagon r=new RPentagon(in.nextDouble());
System.out.println(df.format(r.getArea()));
System.out.println(df.format(r.getPerimeter()));
in.close();
}
}
7-33 整数四则运算
import java.math.BigDecimal;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
int b = cin.nextInt();
System.out.printf("%d+%d=%d\n", a, b, a + b);
System.out.printf("%d-%d=%d\n", a, b, a - b);
System.out.printf("%d*%d=%d\n", a, b, a * b);
System.out.printf("%d/%d=%d\n", a, b, a / b);
}
}
7-34 判断三角形类型
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner (System.in);
boolean Isosceles=false,RT=false;
double a,b,c;
a = in.nextDouble();
b = in.nextDouble();
c = in.nextDouble();
if(a<1||a>200||b<1||b>200||c<1||c>200) {
System.out.print("Wrong Format");
return;
}
if(a+b<=c||a+c<=b||b+c<=a) {
System.out.print("Not a triangle");
return;
}
if(a==b&&a==c&&b==c) {
System.out.print("Equilateral triangle");
return;
}
if(a==b||a==c||b==c) {
Isosceles = true;
}
if(Math.abs(a*a+b*b-c*c)<0.000001||Math.abs(a*a+c*c-b*b)<0.000001||Math.abs(c*c+b*b-a*a)<0.000001) {
RT = true;
}
if(Isosceles&&RT) {
System.out.print("Isosceles right-angled triangle");
}else if(Isosceles) {
System.out.print("Isosceles triangle");
}else if(RT) {
System.out.print("Right-angled triangle");
}else {
System.out.print("General triangle");
}
}
}
7-35 点是否在圆内?
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
double a = cin.nextDouble();
double b = cin.nextDouble();
if(a*a+b*b <= 100)
System.out.println(1);
else System.out.println(0);
}
}
7-36 判断坐标点所在范围
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
double a = cin.nextDouble();
double b = cin.nextDouble();
if(a > 5 || a < -5 || b > 2.5 || b < -2.5)
System.out.println("Not in the rectangle");
else System.out.println("In the rectangle");
}
}
7-37 求最大值
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
int b = cin.nextInt();
int c = Math.max(a, b);
System.out.println(c);
}
}
7-38 大小写字母转换
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
char c = cin.next().charAt(0);
if(c >= 'A'&&c <= 'Z')
{
System.out.println((char)(c + 32));
}
else
System.out.println((char)(c - 32));
}
}
}
7-39 十进制转十六进制
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
if(n < 0 || n > 15)
{
System.out.println("Invalid input");
}
else
{
if(n >= 0 && n <= 9)
System.out.println(n);
else if(n == 10)
System.out.println("A");
else if(n == 11)
System.out.println("B");
else if(n == 12)
System.out.println("C");
else if(n == 13)
System.out.println("D");
else if(n == 14)
System.out.println("E");
else if(n == 15)
System.out.println("F");
}
}
}
7-40 Java中二进制位运算
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
String c=sc.next();
int m=sc.nextInt();
switch(c.charAt(0)){
case '&':
System.out.printf(n+" "+c+" "+m+" = "+(n&m));
break;
case '|':
System.out.printf(n+" "+c+" "+m+" = "+(n|m));
break;
case '^':
System.out.printf(n+" "+c+" "+m+" = "+(n^m));
break;
default:
System.out.printf("ERROR");
}
/*
if(c.charAt(0)=='&') {
System.out.printf(n+" "+c+" "+m+" = "+(n&m));
}else if(c.charAt(0)=='|') {
System.out.printf(n+" "+c+" "+m+" = "+(n|m));
}else if(c.charAt(0)=='^') {
System.out.printf(n+" "+c+" "+m+" = "+(n^m));
}else {
System.out.printf("ERROR");
}
*/
}
}
7-41 电话键盘字母数字转换
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s=scanner.nextLine();
char cstr=s.charAt(0);
//char cstr = scanner.next().charAt(0);
if (cstr >= 'A' && cstr <= 'C' || cstr >= 'a' && cstr <= 'c') {
System.out.println('2');
} else if (cstr >= 'D' && cstr <= 'F' || cstr >= 'd' && cstr <= 'f' ) {
System.out.println('3');
} else if (cstr >= 'G' && cstr <= 'I' || cstr >= 'g' && cstr <= 'i') {
System.out.println('4');
} else if (cstr >= 'J' && cstr <= 'L' || cstr >= 'j' && cstr <= 'l' ) {
System.out.println('5');
} else if (cstr >= 'M' && cstr <= 'O' || cstr >= 'm' && cstr <= 'o' ) {
System.out.println('6');
} else if (cstr >= 'P' && cstr <= 'S' || cstr >= 'p' && cstr <= 's') {
System.out.println('7');
} else if (cstr >= 'T' && cstr <= 'V' || cstr >= 't' && cstr <= 'v' ) {
System.out.println('8');
} else if (cstr >= 'W' && cstr <= 'Z' || cstr >= 'w' && cstr <= 'z') {
System.out.println('9');
} else {
System.out.println(cstr + " is an invalid input");
}
}
}
7-42 五级制成绩
import java.util.Scanner;
public class Main
{
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
char c = cin.next().charAt(0);
if(c == 'A')
System.out.println("[90-100]");
else if(c == 'B')
System.out.println("[80-90)");
else if(c == 'C')
System.out.println("[70-80)");
else if(c == 'D')
System.out.println("[60-70)");
else if(c == 'E')
System.out.println("[0-60)");
else System.out.println("ERROR");
}
}
7-43 编程题:统计符合条件元素的个数
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x=0,y=0;
for(int i=1;i<=n;i++)
{
if(i%3==0)
{
if(i%2==0)
y++;
else
x++;
}
}
System.out.print(x+","+y);
}
}
7-44 回文数
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner scan = new Scanner(System.in);
int hw=scan.nextInt();
int y=0;
int h=hw;
while(hw>0)
{
y=y*10+hw%10;
hw=hw/10;
}
if(y==h)
{
System.out.println("yes");
}
else
{
System.out.println("no");
}
}
public boolean isPalindrome(int x)
{
if(x<0) return false;
String s = String.valueOf(x); //将数字转为为字符串
for(int i=0;i<s.length()/2;i++)
{
if(s.charAt(i)!=s.charAt(s.length()-i-1))
return false;
}
return true;
}
}
7-45 一元二次方程
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
double a = cin.nextDouble();
double b = cin.nextDouble();
double c = cin.nextDouble();
double p = b * b - 4 * a * c;
double x1 = -b / (2*a);
if(x1 == 0)
{
x1 = 0;
}
if(p > 0)
System.out.printf("x1=%.6f,x2=%.6f\n", (-b + Math.sqrt(p)) / (2 * a),(-b - Math.sqrt(p)) / (2 * a));
else if(p == 0)
System.out.printf("x1=x2=%.6f\n",x1);
else
{
p = -p;
double y1 = Math.sqrt(p) / (2*a);
double y2 = -Math.sqrt(p) / (2*a);
System.out.printf("x1=%.6f+%.6fi\n", x1, y1);
System.out.printf("x2=%.6f%.6fi\n",x1,y2);
}
}
}
7-46 jmu-Java-02基本语法-06-枚举
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Scanner;
enum Grade{//枚举的类型需要定义在类之外
A("Excellent"),B("Good"),C("Average"),D("Fair"),E("Poor");
public String desc;
Grade(String desc) {
this.desc = desc;
}
public String getDesc(){
return desc;
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int score=sc.nextInt();
Grade a=getGrade(score);
System.out.println(a.getDesc());
printGradeInfo(a);
}
}
public static Grade getGrade(int score){
Grade ret;
switch (score/10){
case 10:
case 9:
ret=Grade.A;
break;
case 8:
ret=Grade.B;
break;
case 7:
ret=Grade.C;
break;
case 6:
ret=Grade.D;
break;
default:
ret=Grade.E;
break;
}
return ret;
}
public static void printGradeInfo(Grade grade){
System.out.println("class name="+Grade.class);
System.out.println("grade value="+grade);
}
}
7-47 分队列
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
for(int i = 1; i <= n; i += 2)
{
if(i == 1) System.out.print(i);
else
{
System.out.print(" " + i);
}
}
}
}
7-48 1/(1+2+3+...+n)
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
double[] a = new double[100];
a[0] = 0;
for(int i = 1; i <= n; i ++)
{
a[i] = a[i - 1] + i;
}
double ans = 0;
for(int i = 1; i <= n; i ++)
{
ans += 1.0/a[i];
}
System.out.printf("%.6f\n", ans);
}
}
7-49 求出两个正整数之间能被3整除但不能被5整除的所有奇数
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int m = cin.nextInt();
int cnt = 0;
for(int i = n; i <= m; i ++)
{
if(i%3 == 0 && i%5!=0 && i%2 != 0)
{
cnt ++;
if(cnt%8==0)
System.out.println(i);
else
System.out.print(i+",");
}
}
}
}
7-50 求1到正整数n之间的偶数之和
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int sum = 0;
for(int i = 1; i <= n; i ++)
{
if(i%2 == 0) sum += i;
}
System.out.println(sum);
}
}
7-51 求n个数的平均值最大值最小值问题。
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int[] a = new int[100];
int M = -1, m = 10000;
double sum = 0;
for(int i = 1; i <= n; i ++)
{
int x = cin.nextInt();
if(x > M) M = x;
if(x < m) m = x;
sum += x;
}
System.out.printf("%.2f,%d,%d", sum/n,M,m);
}
}
7-52 输出100至n之间的所有3位数的水仙花数
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
for(int i = 100; i <= Math.min(999, n); i ++)
{
int m = i;
int a = i % 10, b = i / 10 % 10, c = i / 100;
if (a * a * a + b * b * b + c * c * c == m)
{
System.out.println(i);
}
}
}
}
7-53 特殊回文数
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner read = new Scanner(System.in);
int sum =read.nextInt();
//int sum=0;
for(int i=10000;i<=999999;i++)
{
if (i>=10000 && i<=99999)
{
//个位
int gewei5=i % 10;
// 十位
int shiwei5=(i % 100) / 10;
// 百位
int baiwei5=(i/100)%10;
// 千位
int qianwei5=(i / 1000) % 10;
// 万位
int wanwei5=i / 10000;
//输出这样的五位数
if (gewei5== wanwei5 && ((shiwei5) == (qianwei5) && (gewei5+shiwei5+baiwei5+qianwei5+wanwei5==sum)))
{
System.out.println(i);
}
}
else
{
//个位
int gewei6=i % 10;
// 十位
int shiwei6=(i % 100) / 10;
// 百位
int baiwei6=(i%1000)/100;
// 千位
int qianwei6=(i/1000)%10;
// 万位
int wanwei6=(i / 10000) % 10;
//十万位
int shiwanwei6=i / 100000;
if ((gewei6 == shiwanwei6 && ((shiwei6) == (wanwei6)) && (baiwei6)==qianwei6) && (gewei6+shiwei6+baiwei6+qianwei6+wanwei6+shiwanwei6==sum)) {
//if(){
System.out.println(i);
//}
}
}
}
}
}
7-54 666
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int cnt = 6;
long ans = 0;
for(int i = 1; i <= n; i ++)
{
ans += cnt;
cnt += 6*Math.pow(10, i);
}
System.out.println(ans);
}
}
7-55 上三角数字三角形
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int num = 1;
for(int i = 1; i <= n; i ++)
{
for(int j = i; j <= n; j ++)
{
System.out.printf("%4d", num ++);
}
System.out.println("");
}
}
}
7-56 又来一个上三角数字三角形
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a=sc.nextInt();
int n=1;
for (int i=a;i>0;i--){
int d=a;
int m=n;
for (int j=0;j<i;j++){
System.out.printf("%4d",m);
m=m+d--;
if (j==i-1) System.out.println();
}
n++;
}
}
}
7-57 空心字母金字塔
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String s=sc.next();
for (int i=65;i<=s.charAt(0);i++)
{
for (int j=1;j<105-i;j++)
{
System.out.print(" ");
}
System.out.print((char)i);
if (i!=s.charAt(0))
{
for (int j=0;j<i-65;j++)
{
System.out.print(" ");
}
for (int j=0;j<i-66;j++)
{
System.out.print(" ");
}
}
if (i==s.charAt(0))
{
for (int m=1;m<2*(i-65);m++)
{
System.out.print((char)i);
}
}
if (i!=65) System.out.print((char)i);
System.out.println();
}
}
}