2011软件设计大赛
生活随笔
收集整理的這篇文章主要介紹了
2011软件设计大赛
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
1.????? 代碼填空(滿分3分) 以下程序打印出0~9的數(shù)字,請補(bǔ)充缺少的代碼。 public class MyTest { public static void f(int begin, int end) {?
?????????????????????????????? ______ if(begin>end) return; ____________; System.out.println(begin); f(begin+1, end);??? } public static void main(String[] args) { f(0,9); } } 這個其實(shí)問的是遞歸函數(shù)的出口問題,每個遞歸函數(shù)都要有一個出口,這道題的出口就是判斷begin是否比end大。 2.????? 代碼填空(滿分4分) 如果要把兩個整型變量a、b的值交換,一般要采用一個中間變量做過渡,但也可以在不借助任何其它變量的情況下完成。試填寫缺失的代碼。 a = a ^ b; b = _________; a = _________;?
a=a^b;?
b=b^a;?
a=a^b; 3.????? 代碼填空(滿分3分) 許多人都曾經(jīng)玩過“拍七”游戲。規(guī)則是:大家依次從1開始順序數(shù)數(shù),數(shù)到含有7或7的倍數(shù)的要拍手或其它規(guī)定的方式表示越過(比如:7,14,17等都不能數(shù)出),下一人繼續(xù)數(shù)下面的數(shù)字。違反規(guī)則者受罰。下面的程序模擬這個過程,拍7的情況輸出“*”,請完善之。 for(int i=1; i<100; i++) { if(i % 7 == 0) printf("*\n"); else if(___________________) printf("*\n");? else printf("%d\n", i); } else if(i/10==7 || i%10==7)//判斷十位和個位上有沒有包含7 4.????? 代碼填空(滿分5分) 下面的靜態(tài)方法的目的是求出某個日期是該年度的第幾天。試完善之。 如果傳入:year=1980,month=1, day=1 則返回 1 如果傳入:year=1980,month=2, day=1 則返回 32 public static int getDayOfYear(int year, int month, int day) { int [][]days=_____________________; int flag =(year%4==0 && year%100!=0) || year%400 == 0 ? 1 : 0; int sum = day ; for(int i=0;i<month;i++)??? { sum += days[flag][i]; }?????? return sum;???? }?
public class MyDate {?
public static int getDayOfYear(int year, int month, int day)?
{?
?? int [][]days=new int[][]{{0,31,29,31,30,31,30,31,31,30,31,30,31},{0,31,28,31,30,31,30,31,31,30,31,30,31}};?
?? int flag =(year%4==0 && year%100!=0) || year%400 == 0 ? 1 : 0;?
?? int sum = day ;?
?? for(int i=0;i<month;i++) {?
??? sum += days[flag][i];?
?? }??
???return sum;??
?}?
public static void main(String[] args) {?
?int l = getDayOfYear(1991, 2, 1);?
?System.out.println(l);?
}?
} 5.????? 代碼填空(滿分2分) 下列方法的目的是,找出1~n之間所有的平方數(shù)。試補(bǔ)全缺失的代碼。 當(dāng)n=10時,輸出結(jié)果是: 1 4 9 當(dāng)n=100時,輸出結(jié)果是: 1 4 9 16 25 36 49 64 81 public static void showSqure(int n) { for(int i=0; i<n; i++) { for(int j=1; j<=i; j++) { if(i==_j*j____________) System.out.print(i + " "); } } System.out.println(); } 6.????? 代碼填空(滿分9分) (a+b)的n次冪的展開式中各項(xiàng)的系數(shù)很有規(guī)律,對于n=2,3,4時分別是:1 2 1, 1 3 3 1,1 4 6 4 1。這些系數(shù)構(gòu)成了著名的楊輝三角形: 1 1?? 1 1?2?1 1?3?? 3?? 1 1?4?? 6?? 4?? 1 1?5?10?10?? 5?? 1 下列的程序給出了計算第m層的第n個系數(shù)的計算方法,試完善之(m,n都從0算起)。 public static int f(int m, int n) { if(m==0) return 1; if(n==0 || n==m) return 1;?
?????????????????????????????? return ___f(m-1,n-1)+f(m-1,n) _______________________; } 7.????? 代碼填空(滿分4分) 下面的代碼將數(shù)組中的元素的位置顛倒過來: 比如:原來的元素是 [1,2,3] 則顛倒后變?yōu)?#xff1a;[3,2,1] public static void reverse(int[] arrs) { for (int i = 0, j = arrs.length - 1; i <_________ ; i++, j--) { int temp = arrs[i]; arrs[i] = arrs[j]; arrs[j] = temp; } } 8.????? 程序設(shè)計(滿分15分) 從鍵盤輸入一個整數(shù)(1~20) 則以該數(shù)字為矩陣的大小,把1,2,3…n*n 的數(shù)字按照順時針螺旋的形式填入其中。例如: 輸入數(shù)字2,則程序輸出: 1 2 4 3 輸入數(shù)字3,則程序輸出: 1 2 3 8 9 4 7 6 5 輸入數(shù)字4, 則程序輸出: 1?2?? 3?? 4 12?13?14?5 11?16?15?6 10?? 9?8?? 7?
import java.util.Scanner;?
??
public class T {?
private int maxNum;?
??
public T(int maxNum) {?
?this.maxNum = maxNum;?
}?
??
public void print() {?
?for (int i = 1; i <= maxNum; i++) {?
?? for (int j = 1; j <= i; j++) {?
??? System.out.print(j);?
??? System.out.print("*");?
?? ?System.out.print(i);?
??? System.out.print("=");?
??? System.out.print(i * j);?
??? System.out.print("\t");?
?? }?
?? System.out.println();?
?}?
}?
??
public static void main(String[] args) {?
?System.out.print("錄入一個整數(shù):");?
?Scanner input = new Scanner(System.in);?
?// 沒有考慮判斷輸入的是否是整數(shù)。?
?int maxNum = input.nextInt();?
?new T(maxNum).print();?
}?
} 9.????? 程序設(shè)計(滿分9分) 從鍵盤輸入一個日期,格式為yyyy-M-d 要求計算該日期與1949年10月1日距離多少天 例如: 用戶輸入了:1949-10-2 程序輸出:1 用戶輸入了:1949-11-1 程序輸出:31 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");???????? Date d= new Date();
???????? Date a = sf.parse("1949-10-11");
???????? long x = d.getTime()-a.getTime();
???????? System.out.println(x/1000/(24*60*60)); import java.util.Date;
import java.text.*;
import java.util.*;
public class time {
???? /**
????? * @param args
????? */
???? public static void main(String[] args) {
???????? // TODO Auto-generated method stub
???????? SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
???????? Date d= new Date();
???????? Date a= new Date();
???????? Date a = sf.parse("1949-10-11");
???????? Scanner input = new Scanner(System.in);
???????? long x = d.getTime()-a.getTime();
???????? System.out.println(x/1000/(24*60*60));
???? }
????
}
轉(zhuǎn)載于:https://blog.51cto.com/3065505/730737
總結(jié)
以上是生活随笔為你收集整理的2011软件设计大赛的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搞点啥
- 下一篇: KlayGE 4.0中Deferred