×

java程序设计教程慕课版课后答案

java程序设计教程慕课版课后答案(智慧树知到《JavaWeb程序设计》2022见面课答案)

admin admin 发表于2024-02-29 08:39:44 浏览32 评论0

抢沙发发表评论

大家好,今天小编来为大家解答以下的问题,关于java程序设计教程慕课版课后答案,智慧树知到《JavaWeb程序设计》2022见面课答案这个很多人还不知道,现在让我们一起来看看吧!

本文目录

智慧树知到《JavaWeb程序设计》2022见面课答案

智慧树知到《JavaWeb程序设计》2022见面课答案 1、JSP页面经过编译之后,将创建一个 A.applet B.servlet C.application D.exe文件 正确答案:servlet 2、下列哪个page指令是合法的? A.《%page language=”java”%》#B.《%! page language=”java”%》#C.《%@ page language=”java”%》#D.《 language=”java”%》#正确答案:《%@ page language=”java”%》#3、在JSP中,( )动作用于将请求转发给其他JSP页面。 A.forward B.include C.useBean D.setProperty 正确答案:forward 4、 在JSP中,page指令的( )属性用来引入需要的包或类。 A.extends B.import C.languge D.contentType 正确答案:import 5、针对下述JSP页面,在Servlet中需要得到用户选择的爱好的数量,最合适的代码是______网络; 朋友推荐; 报纸; 其他; A.request.getParameter(“aihao”).length B.request.getParameter(“aihao”).size C.request.getParameterValues(“aihao”).length D.request.getParameterValues(“aihao”).size 正确答案:request.getParameterValues(“aihao”).length 1、在J2EE的Model Ⅱ模式中,模型层对象被编写为 A.Applet B.JSP C.Server D.JavaBean 正确答案:JavaBean 2、下面关于MVC的说法不正确的是 A.M表示Model层,是存储数据的地方 B.View表示视图层,负责向用户显示外观 C.Controller是控制层,负责控制流程 D.在MVC架构中 jsp通常做控制层 正确答案:在MVC架构中 jsp通常做控制层 3、关于MVC模式说法正确的是 A.用来将代码分开的方法 B.将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度 C.视图模型控制器模型 D.只用java才有的模型 正确答案:将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度 4、在JSP的Model II模式中,视图层对象被编写为 A.Applet B.JSP C. Servlet D.JavaBean 正确答案:JSP 5、从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确: A.Select * from员工 where 姓名 =’玛丽’ B.Select * from员工 where 姓名 =’%玛丽_’ C.Select * from员工 where 姓名 like ‘_玛丽%’ D.Select * from员工 where 姓名 like ‘%玛丽%’ 正确答案:Select * from员工 where 姓名 like ‘%玛丽%’ 1、关于XML声明正确的是 A.《!xml version=”1.0”!》#B.《?xml encoding=”gb2312”?》#C.《?xml version=”1.0”?》#D.《%xml version=”1.0” %》#正确答案:《?xml version=”1.0”?》

java程序设计,求答案

public class Car1 extends Car {public String manufacturer;public Car1(String color, String style, String manufacturer) {super(color, style);this.manufacturer = manufacturer;}public Car1(String color) {this.color = color;this.manufacturer = "上海大众";}@Overridepublic String toString() {return "Car1 ";}public Car1() {super();}public static void main(String args) {Car1 a = new Car1();Car1 b = new Car1("黑色", "卡车", "斯泰尔");Car1 c = new Car1("白色");System.out.println(a.toString());System.out.println(b.toString());System.out.println(c.toString());}}class Car {public String color;public String style;public Car() {this.color = "red";this.style = "car";}public Car(String color, String style) {this.color = color;this.style = style;}public void showColor() {System.out.println("颜色   " + this.color);}public void showStyle() {System.out.println("型号   " + this.style);}}

Java程序设计教程 第二版 雍俊海 课后习题答案

问题1: 公共静态无效的主要(字串 args)抛出异常 ?/ / TODO自动生成方法存根 ?的BufferedReader B =新的BufferedReader(新InputStreamReader的(System.in),); ?(“:”); ?字符c ; ?INT I = 0; ?尝试{ ?I = b.read(C); ?}赶上(IOException异常E){ ??/ / TODO自动生成的catch块 ??e.printStackTrace(); ?} ?的String s =新的字符串(C,0,I); ?编号NUM = NUM??(); ?num.show(S); ?} 类编号{ ?的公共无效秀(字符串SS){ ?新的StringBuffer StringBuffer的STR =(SS); ?(“相反的结果:”+ str.reverse()); ?} } 2。对第一个问题的类似问题。只要使用您的使用Math.PI求圆周率指望它。

java语言程序设计课后答案 郞波 第二版 清华大学出版社

我有 Java面向对象程序设计清华大学出版社(编著 耿祥义 张跃平)习题解答 建议使用文档结构图(选择Word菜单→视图→文档结构图) 习题11.James Gosling2.(1)使用一个文本器编写源文件。(2)使用Java编译器(javac.exe)编译Java源程序,得到字节码文件。(3)使用Java解释器(java.exe)运行Java程序3.Java的源文件是由若干个书写形式互相独立的类组成的。应用程序中可以没有public类,若有的话至多可以有一个public类。4.系统环境path D\jdk\bin;系统环境classpath D\jdk\jre\lib\rt.jar;.;5. B6. Java源文件的扩展名是.java。Java字节码的扩展名是.class。 7. D8.(1)Speak.java(2)生成两个字节码文件,这些字节码文件的名字Speak.class 和 Xiti8.class(3)java Xiti8(4)执行java Speak的错误提示Exception in thread "main" java.lang.NoSuchMethodError: main执行java xiti8得到的错误提示Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8)执行java Xiti8.class得到的错误提示Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class执行java Xiti8得到的输出结果I’m glad to meet you9.属于操作题,解答略。 习题21. D2.【代码1】 【代码2】 错误 //【代码3】更正为 float z=6.89F; 3.float型常量后面必须要有后缀“f”或“F”。对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。4.public class Xiti4{ public static void main (String args){ char ch1=’你’,ch3=’我’,ch3=’他’; System.out.println("\""+ch1+"\"的位置:"+(int)ch1); System.out.println("\""+ch3+"\"的位置:"+(int)ch3); System.out.println("\""+ch3+"\"的位置:"+(int)ch3); }}5.数组名字.length6.数组名字.length7. 【代码1】A,65【代码2】-127【代码3】 123456.783,123456.783128.【代码1】false【代码2】true【代码3】false【代码4】3【代码5】4.4【代码6】8.8 习题3输出110if-else语句书写的不够规范,复合语句缺少大括号“{}”,代码不够清晰。2.你好好酷!!3.public class Xiti3_3{ public static void main (String args){ int startPosition=0,endPosition=0; char cStart=’а’,cEnd=’я’; startPosition=(int)cStart; //cStart做int型转换据运算,并将结果赋值给startPosition endPosition=(int)cEnd ; //cEnd做int型转换运算,并将结果赋值给endPosition System.out.println("俄文字母表:"); for(int i=startPosition;i《=endPosition;i++){ char c=’\0’; c=(char)i; //i做char型转换运算,并将结果赋值给c System.out.print(" "+c); if((i-startPosition+1)%10==0) System.out.println(""); } }}4.public class Xiti4 { public static void main(String args){ double sum=0,a=1;int i=1; while(i《=20) { sum=sum+a; i++; a=a*i; } System.out.println("sum="+sum); }}5.class Xiti5{ public static void main(String args) { int i,j; for(j=2;j《=100;j++) { for(i=2;i《=j/2;i++) { if(j%i==0) break; } if(i》j/2) { System.out.print(" "+j); } } }}6.class Xiti6{ public static void main(String args) { double sum=0,a=1,i=1; while(i《=20) { sum=sum+a; i++; a=(1.0/i)*a; } System.out.println("使用while循环计算的sum="+sum); for(sum=0,i=1,a=1;i《=20;i++) { a=a*(1.0/i); sum=sum+a; } System.out.println("使用for循环计算的sum="+sum); }}7.public class Xiti7{ public static void main(String args) { int sum=0,i,j; for(i=1;i《=1000;i++) { for(j=1,sum=0;j《i;j++) { if(i%j==0) sum=sum+j; } if(sum==i) System.out.println("完数:"+i); } }}8.方法之一import java.util.Scanner;public class Xiti8{ public static void main (String args){ System.out.println("请输入两个非零正整数,每输入一个数回车确认"); Scanner reader=new Scanner(System.in); int m=0,n=0,temp=0,gy=0,gb=0,a,b; a=m = reader.nextInt(); b=n = reader.nextInt(); if(m《n) { temp=m; m=n; n=temp; } int r=m%n; while(r!=0) { n=m; m=r; r=m%n; } gy=n; gb=a*b/gy; System.out.println("最大公约数 :"+gy); System.out.println("最小公倍数 :"+gb); }}8.方法之二import java.util.Scanner;public class Xiti8 { public static void main (String args){ System.out.println("请输入两个非零正整数,每输入一个数回车确认"); Scanner reader=new Scanner(System.in); int m=0,n=0,t=0,gy=0,gb=0; m = reader.nextInt(); n = reader.nextInt(); if(m》n){ t=m; m=n; n=t; } for(int i=1;i《=m;i++){ if(m%i==0 && n%i==0){ gy=i; } } gb=m*n/gy; System.out.println(m+","+n+"的最大公约数为 "+gy); System.out.println(m+","+n+"的最小公倍数为 "+gb); }}9.public class Xiti9 { public static void main(String args) { int n=1; long sum=0,t=1; t=n*t; while(true) { sum=sum+t; if(sum》9999) break; n++; t=n*t; } System.out.println("满足条件的最大整数:"+(n-1)); }}// 1至7的阶乘和是sum=5913.0 // 1至8的阶乘和是sum=46233.0 习题41.用该类创建对象时。2.所谓方法重载是在一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。构造方法可以重载。3. 可以。不可以。4.不可以。5.成员变量又分为实例变量和类变量,用static修饰的变量是类变量。那么类变量和实例变量有什么区别呢?一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间;如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。也就是说对象共享类变量。6.C,D7.【代码1】,【代码4】8.sum=-1009.2710. **20##100 习题51. 如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。继承的成员或方法的访问权限保持不变。如果子类和父类不在同一个包中,那么子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法,继承的成员或方法的访问权限保持不变。如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。只要子类中声明的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量。子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同,子类如此定义的方法称作子类重写的方法。子类通过方法的重写可以隐藏继承的方法。2.不可以。3.abstract类。4.假设B类是A类子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类的对象中时,称这个A类对象是子类对象的上转型对象。5.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。6.A,C,D7.15.08.08.98.0129.class A{ public final void f() { char cStart=’a’,cEnd=’z’; for(char c=cStart;c《=cEnd;c++) { System.out.print(" "+c); } }}class B extends A{ public void g() { char cStart=’α’,cEnd=’ω’; for(char c=cStart;c《=cEnd;c++) { System.out.print(" "+c); } }}public class Xiti9{ public static void main (String args) { B b=new B(); b.f(); b.g(); }}10.class A{ public int f(int a,int b){ if(b《a) { int temp=0; temp=a; a=b; b=temp; } int r=b%a; while(r!=0) { b=a; a=r; r=b%a; } return a; }}class B extends A{ public int f(int a,int b) { int division=super.f(a,b); return (a*b)/division; }}public class Xiti10{ public static void main (String args) { A a=new A(); B b=new B(); System.out.println("最大公约数 :"+a.f(36,24)); System.out.println("最小公倍数 :"+b.f(36,24)); }} 习题61.仍然有效。2.可以。3.不可以。4.大家好,祝工作顺利!5. 96乘数超过99 习题71.(1)Strategy是接口。(2)Army不是抽象类。(3)Army和Strategy是关联关系。(4)StrategyA, StrategyB、StrategyC与Strategy是实现关系。2.3.4.例子13的设计符合开-闭原则。5.例子17的设计符合开-闭原则。 习题8采用新增的策略为选手计算得分。增加新的具体策略StrategyFour。StrategyFour类将double computeScore(double a)方法实现为去掉数组a的元素中的一个最大值和一个最小值,然后计算剩余元素的几何平均值。import java.util.Arrays;public class StrategyFour implements ComputableStrategy { public double computeScore(double a) { if(a.length《=2) return 0; double score=0,multi=1; Arrays.sort(a); int n=a.length-2; for(int i=1;i《a.length-1;i++) { multi=multi*a; } score=Math.pow(multi,1.0/n); return score; }}2.(1)策略(Strategy)PrintCharacter.javapublic interface PrintCharacter{ public abstract void printTable(char b);}(2) 具体策略 PrintStrategyOne.java public class PrintStrategyOne implements PrintCharacter { public void printTable(char b) { for(int i=0;i《a.length;i++) { System.out.print(a+","); } for(int i=0;i《b.length;i++) { System.out.print(b+","); } System.out.println(""); }}PrintStrategyTwo.javapublic class PrintStrategyTwo implements PrintCharacter { public void printTable(char b) { for(int i=0;i《a.length;i++) { System.out.print(b+","); } }}(3)上下文 PrintGame.java public class PrintGame { PrintCharacter strategy; public void setStrategy(PrintCharacter strategy) { this.strategy=strategy; } public void getPersonScore(char b){ if(strategy==null) System.out.println("sorry!"); else strategy.printTable(a,b); }}应用以上策略:public class Application { public static void main(String args) { char ; char ; for(int i=0;i《=25;i++){ a=(char)(’a’+i); } for(int i=0;i《=25;i++){ b=(char)(’A’+i); } PrintGame game=new PrintGame(); //上下文对象 game.setStrategy(new PrintStrategyOne()); //上下文对象使用策略一 System.out.println("方案1:"); game.getPersonScore(a,b); game.setStrategy(new PrintStrategyTwo()); //上下文对象使用策略二 System.out.println("方案2:"); game.getPersonScore(a,b); }}3.参照本章8.3.3自主完成。习题91.A,B,D 2. Love:Game3.13abc夏日4.135795.9javaHello6.public class Xiti6 { public static void main (String args) { String s1,s2,s3,t1="ABCDabcd"; System.out.println("字符串原来是这个样子: "+t1); s1=t1.toUpperCase(); System.out.println("字符串中的小写字母变成大写是这个样子: "+s1); s2=t1.toLowerCase(); System.out.println("字符串中的大写字母变成小写是这个样子: "+s2); s3=s1.concat(s2); System.out.println("大写字符串连接小写字符串是这个样子: "+s3); } }7.class Xiti7 { public static void main(String args) { String s ="中华人民共和国"; char a=s.charAt(0); char b=s.charAt(6); System.out.println("第一个字符: "+a); System.out.println("最后一个字符: "+b); }}8.import java.util.*;class Xiti8{ public static void main(String args){ int year,month; System.out.println("请输入年份和月份,每输入一个数回车确认"); Scanner reader=new Scanner(System.in); year= reader.nextInt(); month= reader.nextInt(); String ; System.out.println(" 日 一 二 三 四 五 六"); Calendar rili=Calendar.getInstance(); rili.set(year,month-1,1);//将日历翻到year年month月1日,注意0表示一月...11表示十二月 int 星期几=rili.get(Calendar.DAY_OF_WEEK)-1; int dayAmount=0; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) dayAmount=31; if(month==4||month==6||month==9||month==11) dayAmount=30; if(month==2) if(((year%4==0)&&(year%100!=0))||(year%400==0)) dayAmount=29; else dayAmount=28; for(int i=0;i《星期几;i++) day=""; for(int i=星期几,n=1;i《星期几+dayAmount;i++){ if(n《=9) day=String.valueOf(n)+" " ; else day=String.valueOf(n); n++; } for(int i=星期几+dayAmount;i《42;i++) day=""; for(int i=0;i《星期几;i++) { day="**"; } for(int i=0;i《day.length;i++) { if(i%7==0) { System.out.println(""); } System.out.print(" "+day); } } }9.import java.util.*;class Xiti9{ public static void main(String args){ int year1,month1,day1,year2,month3,day2; Scanner reader=new Scanner(System.in); System.out.println("请输入第一个日期的年份 月份 日期 ,每输入一个数回车确认"); year1= reader.nextInt(); month1= reader.nextInt(); day1= reader.nextInt(); System.out.println("请输入第二个日期的年份 月份 日期 ,每输入一个数回车确认"); year2= reader.nextInt(); month3= reader.nextInt(); day2= reader.nextInt(); Calendar calendar=Calendar.getInstance(); calendar.set(year1,month1,day1); long timeYear1=calendar.getTimeInMillis(); calendar.set(year2,month3,day2); long timeYear2=calendar.getTimeInMillis(); long 相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24)); System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+ year2+"年"+month3+"月"+day2+"日相隔"+相隔天数+"天"); } }全部都给你 希望那个可以帮助到你 祝你学习成功

Java程序设计(java程序设计答案)

importjava.io.;

importjava.io.File;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;

publicclassNewTxt{

publicstaticvoidmain(Stringargs)throwsIOException{

intn=5;//N*N数组

double;//插入的数组

double;;//读取出的数组

//数组初始化,随机生成的[0,100)之间的double数

for(inti=0;ifor(intj=0;jarr=Math.random()*100;

System.out.println(arr);

}

}

Filefile=newFile("d:\array.txt");//存放数组数据的文件

FileWriterout=newFileWriter(file);//文件写入流

//将数组中的数据写入到文件中。每行各数据之间TAB间隔

for(inti=0;ifor(intj=0;jout.write(arr"");

}

out.write("");

}

out.close();

in=new(newFileReader(file));//

Stringline;//一行数据

introw=0;

//逐行读取,并将每个数组放入到数组中

while((line=in.readLine())!=null){

Stringtemp=line.split("");

for(intj=0;jarr2);

}

row;

}

in.close();

//显示读取出的数组

for(inti=0;ifor(intj=0;jSystem.out.print(arr2"");

}

System.out.println();

}

}

}

Java程序设计,急求答案.

注释就不写了,将就着看吧awt/swing的题目就算了,懒得写,很少用1、声明一个类Person,成员变量有姓名、出生年月、性别。有成员方法以显示姓名、年龄和性别。import java.text.SimpleDateFormat;import java.util.Date;class Person { public Person(String name, Date birthday, boolean isMale) { super(); this.name = name; this.birthday = birthday; this.isMale = isMale; } private String name; private Date birthday; private boolean isMale; public void showName() { System.out.println("姓名:" + name); } public void showBirthday() { System.out.println("出生年月日:" + new SimpleDateFormat("yyyy年MM月dd日").format(birthday)); } public void showSex() { System.out.print("性别:"); if (isMale){ System.out.println("男"); } else { System.out.println("女"); } }}2、声明一个接口,将一个人的出生年份转换成年龄public interface DateUtil { public int DateToAge();}3、在类Shapearea中声明三个同名方法求圆、矩形和三角形的面积(三个方法有不同的参数)。public class Shapearea { static final double PI=3.1415926; public static double getArea(double r){ return r*r*PI; } public static double getArea(double x,double y){ return x*y; } public static double getArea(double a,double b,double c){ double l=a+b+c; return Math.sqrt(l*(l-c)*(l-b)*(l-a)); }}4、已知某一角度的值,求它的正弦值。Math.sin(a);5、由键盘输入两个字符串“10”和“20”,将他们转换成整数,然后计算并输出这两个数的和。 Scanner sc=new Scanner(System.in); String str1=sc.next(); String str2=sc.next(); Integer int1=new Integer(str1); Integer int2=new Integer(str2); System.out.println("结果是:"+int1+int2);6绘图7、绘制一圆角矩形、实心普通矩形,分别使用不同的颜色。8、绘制一多边形(至少4个顶点)和一空心弧线(长度和角度自定)。颜色自定。9、绘制一折线(至少六个顶点)和一正方形。颜色自定。10、创建一个String类的对象Str1和Str2,判断Str2是否str1的子串。如果是,输出str1中在子串str2后的字符串。 Scanner sc=new Scanner(System.in); String str1=sc.next(); String str2=sc.next();if (str1.contains(str2)) { System.out.println(str1.split(str2, 2)); } 11、声明一个矩形类Rectangle,其中有多个构造方法。用不同的构造方法创建对象,并输出矩形的周长和面积。12、完成一小应用程序,实现用CardLayout布局摆放三个按钮(每张卡片上一个按钮,点击按钮换卡片。)

智慧树知到《JavaWeb程序设计》见面课答案

2、Tomcat默认端口号是 A..:80 B.:21 C.:8080 D.:2121 正确答案::8080 3、在Web应用程序中使用的Servlet的包为myservlet,项目名称为LoginDemo,则servlet最可能位于_目录下 A.LoginDemo/WEB-INF/classes/ B.LoginDemo/WEB-INF/lib/ C.LoginDemo/WEB-INF/classes/myservlet D.LoginDemo/WEB-INF/ 正确答案:LoginDemo/WEB-INF/classes/myservlet 4、存入session信息的语法格式为 A.session.setAttribute(“变量名称”) B.session.setAttribute(“变量名称”,值) C.session.removeAttribute(“变量名称”) D.session.removeAttribute(“变量名称”,值) 正确答案:session.setAttribute(“变量名称”,值) 5、Servlet程序的入口点是__. A.Init() B.main() C.service() D.doGet() 正确答案:service() 1、写入和读取Cookie的代码分别是____ A.request.addCookies()和response.getCookies()#B.response.addCookie()和request.getCookie()#C.response.addCookies()和request.getCookies()#D.response.addCookie()和request.getCookies()#正确答案:response.addCookie()和request.getCookies()#2、在servlet过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用()方法 A.int B.servlet C.doFilter D.destroy 正确答案:doFilter 3、在J2EE中,使用Servlet过滤器时,需要在web.xml通过(B )元素将过滤器映射到Web资源。 A. B. C. D. 正确答案: 4、给定一个会话对象s,有两个属性,属性名分别为myAtt1和myAtt2,下列哪行代码会把这两个属性从会话中删除? A.s.removeAllValues()#B.s.removeAllAttributes()#C.s.removeAttribute(“myAtt1”);s.removeAttribute(“myAtt2”)#D.s.getAttribute(“myAtt1”,UNBIND); s.getAttribute(“myAtt2”,UNBIND)#正确答案:s.removeAttribute(“myAtt1”);s.removeAttribute(“myAtt2”)#5、在application对象的属性和方法中,()方法的功能是删除一个指定的属性。 A.getAttribute(String name) B.getAttributeNames() C.removeAttribute(String name) D.getServerInfo() 正确答案:removeAttribute(String name)

java语言程序设计(第三版)清华大学出版社答案

1.5请参照本章例题,编写一个C程序,输出以下信息: ************************** Very Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“Very Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。 解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max《b) max=b; if(max《c) max=c; printf(“最大数为:“%d”,max); } 第三章 3.6写出以下程序运行的结果。 main() {char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’; printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3); printf(“\t\b%c %c”,c4,c5); } 解: aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabc AㄩN 3.7 要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。 解: #include 《stdio.h》 main() { char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2) a-=2 (3) a*=2+3 (4)a/=a+a (5) a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII) c2=ˊbˊ_or_98(ASCII) main() {int a=3,b=4,c=5; long int u=51274,n=128765; float x=1.2,y=2.4,z=3.6; char c1=’a’,c2=’b’; printf("a=%2d b=%2d c=%2d\n",a,b,c); printf("x=%f,y=%f,z=%f\n",x,y,z); printf("x+y=%5.2f y+z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x); printf("u=%6ld n=%9ld\n",u,n); printf("%s %s %d%s\n","c1=’a’","or",c1,"(ASCII)"); printf("%s %s %d%s\n","c2=’a’","or",c2,"(ASCII)"); } 4.7用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入? main() { int a,b;float x,y;char c1c2; scanf("a=%d_b=%d",&a,&b); scanf("_x=%f_y=%e",&x,&y); scanf("_c1=%c_c2=%c",&c1,&c2); } a=3_b=7 _x=8.5_y=71.82 _c1=A_c2=a 4.8设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 main() {float r,h,C1,Sa,Sb,Va,Vb; scanf("%f,%f",&r,&h); C1=2*3.14*r; Sa=3.14*r*r; Sb=4*Sa; Va=4*3.14*r*r*r/3; Vb=Sa*h; printf("C1=%.2f\n",C1); printf("Sa=%.2f\nSb=%.2f\nVa=%.2f\nVb=%.2f\n",Sa,Sb,Va,Vb); } 4.9输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9 输出要求有文字说明,取位2小数。 main() {float F,c; scanf("%f",&F); c=5*(F-32)/9; printf("c=%.2f",c); } 4.10编程序,用getchar函数读入两个字符给c1、c2,然后分别用函数和函数输出这两个字符。并思考以下问题:(1)变量c1、c2应定义为字符型或整形?抑二者皆可?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整形变量与字符变量是否在任何情况下都可以互相代替?如: char c1,c2; 与 int c1,c2; 是否无条件的等价? #include"stdio.h" main() {char c1,c2; c1=getchar();c2=getchar(); putchar(c1);putchar(’\n’);putchar(c2);putchar(’\n’); } #include"stdio.h" main() {char c1,c2; c1=getchar();c2=getchar(); printf("c1=%d c2=%d\n",c1,c2); printf("c1=%c c2=%c\n",c1,c2); } 第五章 5.1 什么是算术运算?什么是关系运算?什么是逻辑运算? 解:略。 5.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 解:设有一个逻辑表达式,若其结果为“真”,则以1表示;若其结果为“假”,则以0表示。但是判断一个逻辑量的值时,以0代表“真”,以非0代表“假”。例如3&&5的值为“真”,系统给出3&&5的值为1。 5.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1) a+b》c&&b==c (2) a||b+c&&b-c (3) !(a》b)&&!c||1 (4) !(x=a)&&(y=b)&&0 (5) !(a+b)+c-1&&b+c/2 解: (1) 0 (2) 1 (3) 1 (4) 0 (5) 1 5.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。 解: 方法一 #include 《stdio.h》 main() { int a,b,c; printf("请输入3个整数:"); scanf("%d,%d,%d",&a,&b,&c); if(a《b) if(b《c) printf("max=%d\n",c); else printf("max=%d\n",b); else if(a《c) printf("max=%d\n",c); else printf("max=%d\n",a); } 方法二:使用条件表达式,可以使程序更加简明、清晰。 程序如下: #include 《stdio.h》 main() { int a,b,c,temp,max; printf("请输入3个整数:"); scanf("%d,%d,%d",&a,&b,&c); temp=(a》b)?a:b; /* 将a和b中的大者存人temp中 */ max=(temp》c)?temp:c; /* 将a和b中的大者与c比较,取最大者*/ printf("3个整数的最大数是%d\n”,max); } 5.5 有一函数: 写一程序,输入x值,输出y值。 解: #include 《stdio.h》 main() {int x,y; printf("输入x:"); scanf("%d",&x); if(x《1) /* x《1 */ { y=x; printf("x=%3d, y=x=%d\n",x,y); } else if (x《10) /* 1≤x-10 */ { y=2*x-1; printf("x=%3d, y=2*x-1=%d\n",x,y); } else /* x≥10 */ { y=3*x-11; printf("x=%3d, y=3*x-11=%d\n",x,y); } } 5.6 给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。 解: 程序如下: #include 《stdio.h》 main() { float score; char grade; printf("请输入学生成绩:"); scanf("%f",&score); while(score》100||(score《0) { printf("\n输入有误,请重新输入:"); scanf("%f",&score); } switch((int)(score/10)) { case 10: case 9: grade=’A’;break; case 8: grade=’B’;break; case 7: grade=’C’;break; case 6: grade=’D’;break; case 5: case 4: case 3: case 2: case 1: case 0: grade=’E’; } printf("成绩是%5.1f,相应的等级是%c。\n",score,grade); } 说明:对输入的数据进行检查,如小于0或大于100,要求重新输入。(int)(score/10)的作用是将 (score/10) 的值进行强制类型转换,得到一个整型值。 5.7 给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数字。例如原数为321,应输出123。 解: #include 《stdio.h》 main() { long int num; int indiv,ten,hundred,thousand,ten_thousand,place; /*分别代表个位、十位、百位、千位、万位和位数*/ printf("请输入一个整数(0~99999):"); scanf("%ld",#); if (num》9999) place=5; else if(num》999) place=4; else if(num》99) place=3; else if(num》9) place=2; else place=1; printf("place =%d\n", place); ten_thousand=num/10000; thousand=num/1000%10; hundred=num/100%10; ten=num%100/10; indiv=num%10; switch(place) { case 5: printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv); printf("\n反序数字为;"); printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand); break; case 4: printf("%d,%d,%d,%d",thousand,hundred,ten,indiv); printf("\n反序数字为:"); printf("%d%d%d%d\n",indiv,ten,hundred,thousand); break; case 3: printf("%d,%d,%d",hundred,ten,indiv); printf("\n反序数字为:"); printf("%d%d%d\n",indiv,ten,hundred); break; case 2: printf("%d,%d",ten,indiv); printf("\n反序数字为:"); printf("%d%d\n",indiv,ten); break; case 1: printf("%d",indiv); printf("\n反序数字为:"); printf("%d\n",indiv); break; } } 5.8 企业发放的奖金根据利润提成。利润I低于或等于10万元时,奖金可提成10% ;利润高于10万元,低于20万元(100000《I≤200000)时,其中10万元按10%提成,高于10万元的部分,可提成7.5% ;200000《I≤400000时,其中20万元仍按上述办法提成(下同),高于20万元的部分按5%提成;400000《I≤600000时,高于40万元的部分按3%提成;600000〈I≤1000000时,高于60万的部分按1.5%提成;I》1000000时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发放奖金总数。要求:(1)用if语句编程序;(2)用switch语句编程序。 解:计算利润时,要特别注意不同利润的不同提成比例。例如,利润为15万元,其中有10万元按10%的比例提成,另外5万元则按7.5%提成。 (1) 用if语句编程序。 #include 《stdio.h》 main() { long i; float bonus,bon1,bon2,bon4,bon6,bon10; bon1=100000*0.1; /*利润为10万元时的奖金*/ bon2=bon1+100000*0.075; /*利润为20万元时的奖金*/ bon4=bon2+200000*0.05; /*利润为40万元时的奖金*/ bon6=bon4+200000*0.03; /*利润为60万元时的奖金*/ bon10=bon6+400000*0.015; /*利润为100万元时的奖金*/ printf("请输入利润i:"); scanf("%ld",&i); if(i《=100000) bonus=i*0.1; /*利润在10万元以内按0.1提成奖金*/ else if(i《=200000) bonus=bon1+(i-100000)*0.075; /*利润在10万至20万元时的奖金*/ else if(i《=400000) bonus=bon2+(i-200000)*0.05; /*利润在20万至40万元时的奖金*/ else if(i《=600000) bonus=bon4+(i-400000)*0.03; /*利润在40万至60万元时的奖金*/ else if(i《=1000000) bonus=bon6+(i-600000)*0.015; /*利润在60万至100万元时的奖金*/ else bonus=bon10+(i-1000000)*0.01; /*利润在100万元以上时的奖金*/ printf(”奖金是%10.2f\n",bonus); } 此题的关键在于正确写出每一区间的奖金计算公式。例如利润在10万元至20万时,奖金应由两部分组成:①利润为10万元时应得的奖金。即100000ⅹ0.1;②10万元以上部分应得的奖金。即(num-100000)ⅹ0.075。同理,20万~40万这个区间的奖金也应由两部分组成:①利润为20万元时应得的奖金,即100000ⅹ0.1ⅹ10万ⅹ0.075;②20万元以上部分应得的奖金,即(num-200000)ⅹ0.05。程序中先把10万、20万、40万、60万、100万各关键点的奖金计算出来,即bon1、bon2、bon4、bon6、hon10;然后再加上各区间附加部分的奖金。 (2) 用switch语句编程序。 输入利润i,确定相应的提成等级branch 根据branch确定奖金值 0 奖金=i*0.1 1 奖金=bon1+(i-105)*0.075 2 奖金=bon2+(i-2*105)*0.05 3 4 奖金=bon4+(i-4*105)*0.03 5 6 奖金=bon6+(i-6*105)*0.015 7 8 9 10 奖金=bon10+(i-106)*0.01 输出奖金 #include 《stdio.h》 main() { long i; float bonus, bon1, bon2, bon4, bon6, bon10; int c; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; printf("请输入利润i:"); scanf("%ld",&i); c=i/100000; if(c》10) c=10; switch(c) { case 0: bonus=1*0.1;break; case 1: bonus=bon1+(i-100000)*0.075;break; case 2 : case 3: bonus=bon2+(i-200000)*0.05; break; case 4: case 5: bonus=bon4+(i-400000)*0.03;break; case 6: case 7: case 8: case 9: bonus=bon6+(i-600000)*0.015;break; case 10: bonus=bon10+(i-1000000)*0.01; } printf("奖金是%10.2f",bonus); } 5.9 输入4个整数,要求按由大到小的顺序输出。 解:此题采用依次比较的方法排出其大小顺序。在学习了循环和数组以后,可以有更多的排序方法。 #include 《stdio.h》 main() { int t,a,b,c,d; printf("请输入4个整数:"); scanf("%d,%d,%d,%d",&a,&b,&c,&d); printf("\n a=%d,b=%d,c=%d,d=%d\n",a,b,c,d); if(a》b) {t=a; a=b; b=t;} if(a》c) {t=a; a=c; c=t;} if(a》d) {t=a; a=d; d=t;} if(b》c) {t=a; b=c; c=t;} if(b》d) {t=b; b=d; d=t;} if(c》d) {t=c; c=d; d=t;} printf("排序结果如下:\n"); printf("%d, %d, %d, %d\n",a,b,c,d); } 5.10 有4个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1。这4个塔的高度分别为10m。塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。 程序如下: #include 《stdio.h》 main() { int h=10; float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=-2,y4=-2,x,y,d1,d2,d3,d4; printf("请输入一个点(x,y):"); scanf("%f,%f",&x,&y); d1=(x-x1)*(x-x1)+(y-y1)*(y-y1); /*求该点到各中心点的距离*/ d2=(x-x2)*(x-x2)+(y+y2)*(y+y2); d3=(x+x3)*(x+x3)+(y-y3)*(y-y3); d4=(x+x4)*(x-x4)*(y+y4)*(y+y4); if(d1》1&&d2》1&&d3》1&&d4》1) h=0; /*判断该点是否在塔外*/ printf("该点高度为%d\n",h); } 第六章 第六章 循环控制 6.1输入两个正整数m和n,求其最大公约数和最小公倍数。 main() {long m,n,i=1,j,s; scanf("%ld,%ld",&m,&n); for(;i《=m&&i《=n;i++) {if(m%i==0&&n%i==0) s=i;} if(m》=n) j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); printf("s=%ld,j=%ld\n",s,j); } 6.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 #include"stdio.h" main() {char c;int i=0,j=0,k=0,l=0; while((c=getchar())!=’\n’) {if(c》=65&&c《=90||c》=97&&c《=122) i++; else if(c》=48&&c《=57) j++; else if(c==32) k++; else l++;} printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l); } 6.3求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。 #include"math.h" main() {int n,sum=0,i=1,s=2; scanf("%d",&n); while(i《=n) {sum=sum+s;s=s+2*pow(10,i); i++;} printf("sum=%d\n",sum); } 6.4 求 ,(即求1!+2!+3!+4!+5!+…+20!) main() {int n,i=1;long sum=0,s=1; scanf("%d",&n); while(i《=n) {s=s*i;sum=sum+s;i++;} printf("sum=%ld\n",sum); } 6.5 求 main() {double i=1,j=1,k=1,s1=0,s2=0,s3=0,sum; for(;i《=100;i++) s1=s1+i; for(;j《=50;j++) s2=s2+j*j; for(;k《=10;k++) s3=s3+1/k; sum=s1+s2+s3; printf("sum=%f\n",sum); } 6.6打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 #include"math.h" main() {int x=100,a,b,c; while(x》=100&&x《1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf("%5d",x);x++;} } 6.7一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。编程序找出1000之内的所有完数,并按下面格式输出其因子: 6 its factors are 1、2、3 main() {int m,i,j,s; for(m=6;m《10000;m++) {s=1; for(i=2;i《m;i++) if(m%i==0) s=s+i; if(m-s==0) {printf("%5d its fastors are 1 ",m);for(j=2;j《m;j++) if(m%j==0) printf("%d ",j);printf("\n");} } } 或 main() {int m,i,j,s; for(m=6;m《1000;m++) {s=m-1; for(i=2;i《m;i++) if(m%i==0) s=s-i; if(s==0) {printf("%5d its fastors are 1 ",m);for(j=2;j《m;j++) if(m%j==0) printf("%d ",j);printf("\n");} } } 6.8有一分数序列: 求出这个数列的前20项之和。 main() {int i=1,n;double t,x=1,y=2,s,sum=0; scanf("%ld",&n); while(i《=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;} printf("%f\n",sum); } 6.9一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高? main() {int i,n;double h=100,s=100; scanf("%d",&n); for(i=1;i《=n;i++) {h*=0.5;if(i==1) continue;s=2*h+s;} printf("h=%f,s=%f\n",h,s); } 6.10猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。 main() {int i=1,sum=0; for(;i《=10;sum=2*sum+1,i++); printf("sum=%d\n",sum); } 6.11用迭代法求 。求平方根的迭代公式为: 要求前后两次求出的得差的绝对值少于0.00001。 #include"math.h" main() {float x0,x1,a; scanf("%f",&a); x1=a/2; do {x0=x1;x1=(x0+a/x0)/2;} while(fabs(x0-x1)》=0.00001); printf("%.3f\n",x1); } 6.12 用牛顿迭代法求方程在1.5附近的根。 main() {double x,y;x=1.5; do{y=2*x*x*x-4*x*x+3*x-6; x=x-y/(6*x*x-8*x+3);} while(y!=0); printf("x=%.3f\n",x); } 6.13用二分法求方程在(-10,10)之间的根 main() {double x1,x2,y1,y2;x1=-10;x2=10; do{y1=2*x1*x1*x1-4*x1*x1+3*x1-6; x1=x1-y1/(6*x1*x1-8*x1+3);} while(y1!=0); do {y2=2*x2*x2*x2-4*x2*x2+3*x2-6; x2=x2-y2/(6*x2*x2-8*x2+3);} while(y2!=0); printf("x1=%.3f,x2=%.3f\n",x1,x2); } 6.14打印以下图案 * * * * * * * * * * * * * * * * * * * * * * * * *

《JAVA程序设计》考题急求答案,急求java试题简答,java课后习题答案.(拒绝打酱油)

对几个容易错的稍微注解下,1 D2 C final修饰3 B4 B5 C6 B7 C8 C9 B JAVA里面都是写作null的,而不是NULL10 A: String.substring()大小写问题11 C12C13A14C15A16B17C18C19D20D管道流,此流一般用于多线

文章分享结束,java程序设计教程慕课版课后答案和智慧树知到《JavaWeb程序设计》2022见面课答案的答案你都知道了吗?欢迎再次光临本站哦!