當前位置:編程學習大全網 - 編程語言 - c語言編程初學。用c語言寫:計算從出生到現在壹***多少天?要用到switch 語句或for循環。

c語言編程初學。用c語言寫:計算從出生到現在壹***多少天?要用到switch 語句或for循環。

樓主,妳會JAVA嗎?我剛用JAVA寫了壹個,語法可能和妳的C語言不壹樣,但算法應該可以看懂

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

//計算出生了多少天

public class Tian {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int year=0,month=0,day=0;

int tianshu;

Scanner scanner = new Scanner(System.in);

System.out.print("請輸入年");

year = scanner.nextInt();

System.out.print("請輸入月");

month = scanner.nextInt();

System.out.print("請輸入日");

day = scanner.nextInt();

tianshu=manyday(year , month , day );

System.out.println("您生活了:"+tianshu+"天");

}

//輸入年月日,輸出天數

private static int manyday(int year,int month,int day){

int shu = 0;

int todayyear,todaymonth,todayday;

String sNow = "";

int sheng=0; //某日期到年底的天數

Date today = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

sNow = sdf.format(today);

todayyear = Integer.parseInt(sNow.substring(0,4));

todaymonth = Integer.parseInt(sNow.substring(4,6));

todayday = Integer.parseInt(sNow.substring(6));

//System.out.println(year + " . " + month + " . " + day + " . " + todayyear + " . " + todaymonth + " . " + todayday);

for(int i = year + 1;i < todayyear;i ++){

if (i % 4 == 0) {

shu = shu + 366;

} else {

shu = shu + 365;

}

}

sheng=howday(year, month, day);

if(year % 4 == 0){

sheng = 366 - sheng ;

}else {

sheng = 365 - sheng;

}

shu = shu + sheng + howday(todayyear, todaymonth, todayday);

return shu;

}

//輸入年月日 返回該年的天數

private static int howday(int year,int month,int day){

int da[] = {1,3,5,7,8,10,12};

int xiao[] = {4,6,9,11};

int tian = 0;

if(month == 1){

tian = day;

}

else{

for(int i = 1;i < month;i++){

if(panduan(da, i)){

tian = tian + 31;

}

else if(panduan(xiao, i)){

tian = tian + 30;

}

else if ((i == 2)&&(year%4 == 0)) {

tian = tian + 29;

}else if ((i == 2)&&(year%4 != 0)) {

tian = tian + 28;

}

}

tian = tian + day;

}

return tian;

}

//判斷變量是否屬於數組

private static boolean panduan(int[] a,int bianliang){

boolean boo = false;

for(int i = 0;i < a.length;i ++){

if(a[i] == bianliang){

boo = true;

break;

}

}

return boo;

}

}

  • 上一篇:初壹下政治題帶答案
  • 下一篇:如何使用平板電腦
  • copyright 2024編程學習大全網