输出语句:System.out.print(digit+\例:括号内是说明 输入
3 (repeat=3) 123456 -600 8 输出
1 2 3 4 5 6 6 0 0 8 */
import java.util.Scanner; public class Test40032{
public static void main(String []args ){ int ri, repeat; int digit;
long n, temp, pow;
Scanner in=new Scanner(System.in); repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){ n=in.nextLong(); /*---------*/ if(n<0) n=-n;
String s=String.valueOf(n);
for(digit=0;digit System.out.println(); } } } 38.简单计算器 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 假设计算器只能进行加减乘除运算,运算数和结果都是整数, 4种运算符的优先级相同,按从左到右的顺序计算。 例:括号内是说明 输入 2 (repeat=2) 15 + 2 / 3 = (数字与运算符之间有一空格) 1 + 2 * 10 - 10 / 2 = (数字与运算符之间有一空格) 输出 5 10 */ /*补充知识:in.next()与in.nextline()的区别 in.next只接受一个字,不能接受一个带有空格的字符串,如下: 例如输入: Show me --(回车) 用next()只能得到Show,因为遇到空格表示结束,但是nextline()则要遇到回车才知道结束. 可以看一个例子,演示给大家看,如下: ----------------------------------------- import java.util.Scanner; public class Test60011{ public static void main(String []args) { String s1_1,s1_2,s2; Scanner in=new Scanner(System.in); s1_1=in.next(); System.out.println(s1_1); System.out.println(\ in.nextLine(); // 把剩余的吃掉 s2=in.nextLine(); System.out.println(s2); System.out.println(\ s1_1=in.next(); s1_2=in.next(); System.out.println(s1_1+\ \ } } ------------------------------------------- */ import java.util.Scanner; public class Test40033{ public static void main(String args[]) { int ri, repeat; int op1, op2, res; char operator; Scanner in=new Scanner(System.in); repeat=in.nextInt(); } } for(ri=1; ri<=repeat; ri++){ op1=in.nextInt(); operator =(in.next()).charAt(0); // res=op1; //res看作最后的结果 while(operator!='=') { op2=in.nextInt(); if(operator=='+') res+=op2; else if(operator=='-') res-=op2; else if(operator=='*') res*=op2; else res/=op2; operator =(in.next()).charAt(0); } /*---------*/ System.out.println(res); } 39.求1+1/2!+??1/N! //求1+1/2!+1/3!+....(用方法求n!) import java.util.Scanner; //引入 public class T50001 { public static void main(String[] args) { int ri,repeat; int i,n; double s; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++) { n=in.nextInt(); /*---------------*/ s=0; for(i=1;i<=n;i++) { s=s+1/fact(i); } System.out.println((long)(s*10000+0.5)/10000.0); } } /*---------------*/ } public static double fact(int n) { double t=1; int i; if(n==1) return 1; else { for(i=1;i<=n;i++) { t=t*i; } return t; } } 40.求a+aa+aaa+??(用方法) //求a+aa+aaa+aa?a import java.util.Scanner; public class T50002{ public static void main(String args[]) { int ri, repeat; int i, n,a; long sn; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++) { a=in.nextInt(); n=in.nextInt(); /*------------*/ sn=0; for(i=1;i<=n;i++) { sn=sn+fn(a,i); } System.out.println(sn); } } /*------------*/ public static long fn(int a,int m) { int i; long t=0; for(i=0;i<=m-1;i++) //i仅起到次数作用 { t=t*10+a; } return t; } } 41.统计一个整数中数字的个数 /*程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。 例:括号内是说明 输入: 3 (repeat=3) -21902 2 345543 输出: count=2 (-21902中有2个2) count=1 (有1个2) count=0 (345543中没有2)*/ import java.util.Scanner; public class Test50003{ public static void main(String args[]){ int ri, repeat; int count; long n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); /*---------*/ count=countdigit(n,2); System.out.println(\ } }