第一:填空
1.以下程序的功能是求一个二维数组中每行的最大值和每行的和。
样例">输入
3
1 2 3
6 5 4
7 9 8
输出样例
1 2 3 3 6
6 5 4 6 15
7 9 8 9 24
代码如图:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int a[][]=new int[n][n];
int b[]=new int[n];
int c[]=new int[n];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=sc.nextInt();
}
}
int max,s;
for(int i=0;i<a.length;i++){
max=a[i][0];
s=0;
for(int j=0;j<a[i].length;j++){
if(a[i][j]>max){
max=a[i][j];
}
s+=a[i][j];
}
b[i]=max;
c[i]=s;
}
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.printf("%3d",a[i][j]);
}
System.out.printf("%3d%3d",b[i],c[i]);
System.out.println();
}
}
}
2.
以下程序中函数fun的功能是:根据整型形参m的值,计算如下公式的值。
import java.util.Scanner;
public class Tiankong {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//int n=sc.nextDouble();//此行语句有错误,改正后填到下侧空格内
//int 类型对应的为nextInt;//
int n=sc.nextInt();
double x=fun(n);
System.out.printf("%f",x);
}
//public static void fun(int m)//此行语句有错误,改正后填到下侧空格内
//此处错在该方法有返回值,且返回值类型为double;//
public static double fun (int m)
{
double t=1;
int i;
//for(i=2;i<m;i++)//此行语句有错误,改正后填到下侧空格内
//循环包括m//
for(i=2;i<=m;i++)
{
//t=t-1/(i*i);//此行语句有错误,改正后填到下侧空格内
t=t-1.0/(i*i);
//t为double类型,而1和i为整形,我们将1改为1.0,转换后类型统一;//
}
//return i;//此行语句有错误,改正后填到下侧空格内
return t;
}
}
3.输入一行字符,请分别统计出英文字母、数字、空格和其他字符个数。
import java.util.Scanner;
public class Tiankong {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
char x[]=str.toCharArray();
int a=0;
int b=0;
int c=0;
int d=0;
for(int i=0;i<x.length;i++)
{
char ch=x[i];
if(ch>='a'&ch<='z'|ch>='A'&ch<='z')
a++;
//判断是否为字母包括大小写//
else if(ch>='0'&&ch<='9')
b++;
//判断是否为数字//
else if(ch==' ')
c++;
//判断是否为空格//
else
d++;
}
System.out.println("letters="+a);//输出英文字母个数
System.out.println("digits="+b);//输出数字个数
System.out.println("spaces="+c);//输出空格个数
System.out.println("others="+d);//输出其他字符个数
}
}
4.功能:求1!+2!+3!+4!+5!。
public class Main {
public static void main(String[] args) {
fun();
}
public static void fun(){
int n,j;
//float s=0.0,t=1.0;//此行语句有错误,改正后填到下侧空格内
float s=(float)0.0,t=(float)1.0;
for(n=1;n<=5;n++){
//s=1;//此行语句有错误,改正后填到下侧空格内
s=0;
for(j=1;j<=n;j++){
//t=t*n;//此行语句有错误,改正后填到下侧空格内
t=(t*j);
}
//s+t=s;//此行语句有错误,改正后填到下侧空格内
s+=t;
}
System.out.printf("jiecheng=%.0f\n",s);
}
}
5.
功能:计算正整数num的各位上的数字之积。
例如:输入252,则输出应该是20。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//int n=sc.next();//此行语句有错误,改正后填到下侧空格内
int n=sc.nextInt()
;
//System.out.println(fun(int n));//此行语句有错误,改正后填到下侧空格内
System.out.println(fun(n))
;
}
//public int fun(int num)//此行语句有错误,改正后填到下侧空格内
public static int fun (int num)
{
//int k;//此行语句有错误,改正后填到下侧空格内
int k=1
;
do{
k=k*(num%10);
//num\=10;//此行语句有错误,改正后填到下侧空格内
num=num/10
;
}while(num>0);
return k;
}
}
第二:编程
1.人口统计
本题运行时要求键盘输入10个人员的信息(每一个人信息包括:姓名,性别,年龄,民族),要求同学实现一个函数,统计民族是“汉族”的人数。
函数接口定义:
public static int numofHan(String data[])
其中 data[]
是传入的参数。 data[]
中的每一个元素都是一个完整的人员信息字符串,该字符串由“姓名,性别,年龄,民族”,各项之间用英文半角的逗号分隔。函数须返回 值是汉族的人数。
输入样例:
Tom_1,男,19,汉族
Tom_2,女,18,汉族
Tom_3,男,20,满族
Tom_4,男,18,汉族
Tom_5,男,19,汉族人
Tom_6,女,17,汉族
Tom_7,男,19,蒙古族
汉族朋友_1,男,18,汉族
Tom_8,male,19,老外
Tom_9,female,20,汉族
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
final int HUMANNUM=10;
String persons[]=new String[HUMANNUM];
Scanner in=new Scanner(System.in);
for(int i=0;i<persons.length;i++)
persons[i]=in.nextLine();
int result=numofHan(persons);
System.out.println(result);
}
/*在此处给出函数numofHan()*/
public static int numofHan(String data[])
{String s="汉族";
int sum=0;
for(int i=0;i<data.length;i++)
{
if(data[i].indexOf(s)>=0)
// 如果要检测的字符串没有出现,则返回-1//
{
sum++;
}
}
return sum;
}
}
输出样例:
7