初学C++,自己写的几个小程序。
金字塔:程序代码:
#include <iostream> #include <string> using namespace std; int main() { for (int i = 1; i <= 5; i++) { for (int j = 1; j<=5-i; j++) { cout << " "; } for (int k = 1; k<=i*2-1; k++) { cout << "*"; } cout << endl; } return 0; }
秒转化时分秒
程序代码:
#include <iostream> int main() { int iSecond = 32432 , iTest = 0 , iMark = 0 , iHour = 0; iHour = iSecond / 3600; //求小时 iTest = iSecond % 3600; //小时余下来的秒 if (iTest >= 60) //如果大等于60秒就计算分 { iMark = iTest / 60; iSecond = iTest % 60; } else { iSecond = iTest; } printf("%d小时" , iHour); printf("%d分钟" , iMark); printf("%d秒" , iSecond); return 0; }
九九乘法表
程序代码:
#include <iostream> int main() { for (int i = 1; i <= 9; i++) { for (int k = 1; k<=i; k++) { printf("%2d" , k); printf("*"); printf("%2d" , i); printf("="); printf("%2d" , k * i); } printf("\n"); } return 0; }
知道1900.1.1是星期一求输入的年月日的星期数
程序代码:
#include <iostream> void WeenDay(int Wday); //求星期函数 bool Runyear(int iyear); //判断闰年函数 int YearCount(int Syear , int Lyear , int Month , int Day); //求天数函数 int iMonth[12] = {31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31}; //月数 int main() { int iStarYear = 1900 , iStarMonth = 1 , iStarDay = 1 , iStarWeenday = 1; int iLastYear , iLastMonth , iLastday; printf("请输入年:"); scanf("%d" , &iLastYear); printf("请输入月:"); scanf("%d" , &iLastMonth); printf("请输入日:"); scanf("%d" , &iLastday); int iDaynum = YearCount(iStarYear , iLastYear , iLastMonth , iLastday); //调出天数 WeenDay(iDaynum); //调出星期数 return 0; } bool Runyear(int iyear) { if ((iyear % 4 == 0 && iyear % 100 != 0) || (iyear % 100 ==0 && iyear % 400 == 0)) { return true; //闰年 } return false; //平年 } void WeenDay(int Wday) { int iWday[7] = {1 , 2 , 3 , 4 , 5 , 6 , 7}; //用一个数组来显示星期数 int iDay = iWday[Wday % 7]; //用总共的天数除7得余数赋给变量iday printf("星期%d\n",iDay); } int YearCount(int Syear , int Lyear , int Month , int Day) { int iYearnum = 0; int iDayCount; for (int i = Syear ; i < Lyear ; i++) //用一个循环得出除了最后一年的所有的天数 { if (Runyear(i)) //如果是闰年那么今年总共有366天 { iDayCount = 366; } else { iDayCount = 365; //如果是平年那么今年总共有365天 } iYearnum += iDayCount; } if (Runyear(Lyear)) //如果是闰年那么二月份总共有29天 { iMonth[1] = 29; } else //如果是平年那么二月份总共有28天 { iMonth[1] = 28; } for ( i = 0 ; i < Month - 1 ; i++) //用循环算出除了最后一个月的所有天数 { iYearnum += iMonth[i]; } iYearnum += Day; //最后加上最后一个月的天数 return iYearnum-1; //注:这个地方减一是因为数组iWday[7]是从0开始的 }