1. 首页 > 文化

循环结构打印年月日? pdca循环案例日常生活

循环结构打印年月日?pdca循环案例日常生活

循环嵌套:输入年月日打印出该天是那年的第几天

// 输入年月日打印出该天是那年的第几天

#include <stdio.h>

int main(int argc, char *argv[])

{

// 年,月,日

unsigned int year,month,day;

// daysOfMonth[i] 表示第 i 个月的天数

unsigned int daysOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

// 指定年过去的天数

unsigned int passedDays;

// 标记输入的月份,天是否正确

unsigned int isMonthError,isDayError;

unsigned int m;

printf("输入年,月,日(输入格式:yyyy-mm-dd):");

// 按 ctrl+z 停止输入

while(scanf("%d-%d-%d",&year,&month,&day)!=EOF)

{

if(year%4==0&&year%100!=0 || year%400==0)

// 闰年的二月份天数

daysOfMonth[2]=29;

else

// 平年的二月份天数

daysOfMonth[2]=28;

isMonthError = isDayError = 0;

if(month == 0 || month >12)

{// 检查输入的月份

isMonthError = 1;

}

if(day == 0 || day > daysOfMonth[month])

{// 检查输入的天

isDayError = 1;

}

if(isMonthError || isDayError)

{// 输出出错

if(isMonthError && isDayError)

printf("输入的月份,天都不正确,请从新输入!\n\n");

else if(isMonthError)

printf("输入的月份不正确,请从新输入!\n\n");

else

printf("输入天不正确,请从新输入!\n\n");

}

else

{// 输入正确

passedDays = 0;

for(m=1;m<month;m++)

// 统计 1~(month-1) 月的总天数

passedDays += daysOfMonth[m];

// 加上最后一个月的天数

passedDays += day;

printf("%4d-%02d-%02d 是 %4d 年的第 %3d 天。\n\n",

year,month,day,year,passedDays);

}

printf("输入年,月,日(输入格式:yyyy-mm-dd):");

}

return 0;

}

/*

测试数据:

2012-14-2

2012-12-32

2012-0-100

2012-1-1

2012-2-29

2012-5-1

2012-12-31

*/

、从键盘上输入年、月、 日,计算自当年元旦到这个日期一共有多少天并输出。用C语言循环结构

#include "stdio.h"

#include "stdlib.h"

int main()

{

int year,month,day;

int isrunnian=0;//0不是闰年,1是闰年

scanf("%d,%d,%d",&year,&month,&day);//输入年月日

int days[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};

 //非闰年12个月份天数

//闰年12个月天数

if(year%4==0&&year%100!=0)

isrunnian=1;

else if(year%400==0)

isrunnian=1;

int sumdays=0;

for(int i=0;i<month-1;i++)

sumdays=sumdays+days[isrunnian][i];

sumdays=sumdays+day;

printf("%d\n",sumdays);

}

Java输入月份 循环打印出该月的天数 比如1月1日,1月2日,1月3日......1月31日

import java.util.Scanner;

public class P {

public static void main(String[] args) {

final int[] month={31,28,31,30,31,30,31,31,30,31,30,31};

int y,m,s;

Scanner sc=new Scanner(System.in);

System.out.print("请输入年、月(以空格分隔,如2016 8)");

y=sc.nextInt();

m=sc.nextInt();

s=month[m-1];

if(2==m && (0==y%400 || (0==y%4 && 0!=y%100)))

s+=1;

for(int i=1;i<s;i++)

System.out.print(""+m+"月"+i+"日,");

System.out.println(""+m+"月"+s+"日");

sc.close();

}

}

使用shell语言循环打印出规定的时间

#!/bin/bash

i=1

while [ $i -lt 25 ]

do

j=1

while [ $j -lt 61 ]

do

k=1

while [ $k -lt 31 ]

do

if [ $i -lt 10 ];then

ii=0$i

else

ii=$i

fi

if [ $j -lt 10 ];then

jj=0$j

else

jj=$j

fi

if [ $k -lt 10 ];then

kk=0$k

else

kk=$k

fi

echo 20150201${ii}${jj}${kk}

k=`expr $k + 1`

done

j=`expr $j + 1`

done

i=`expr $i + 1`

done