标签:最大 text 去掉 格式 begin iostream nta article cin
链接地址:【C/C++题目】基础题目合集——杨辉三角;字符串大小写转换;日期及星期打印;
杨辉三角中第n行第k个数的值,也就是
#include<iostream>
#include <iomanip>
using std::cout;
using std::cin;
using std::setw;
using std::endl;
//求阶乘的函数
long long factorial(int num)
{
if (num == 0) //第一行
return 1;
else
{
long long result = 1;
for (int i = 1; i <= num; ++i)
result *= i;
return result;
}
}
//打印杨辉三角的函数
void function(int rowNum)
{
long long value;
for (int n = 1; n <= rowNum; ++n) //每一行
{
for (int i = 0; i <= rowNum - n; ++i) //打印每行前的空格
cout << setw(3 * i);
for (int k = 1; k <= n; ++k) //打印每行的每个数
{
value = factorial(n - 1) / (factorial(k - 1) * factorial(n - k)); //利用阶乘求得
cout << value << setw(6);
}
cout << endl;
}
}
int main()
{
int rowNum;
cout << "请输入要打印的行数:";
cin >> rowNum;
function(rowNum);
system("pause");
return 0;
}
?
利用ASCII码进行功能实现
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::string;
int main()
{
cout << "样例输入:";
string str;
getline(cin, str);
for (int i = 0; i < str.length(); i++)
{
if (str[i] > 65 && str[i] < 90)
str[i] += 32; //大写转小写
else if (str[i] > 97 && str[i] < 122)
str[i] -= 32; //小写转大写
}
cout << "样例输出:";
for (auto it = str.cbegin(); it != str.cend(); ++it) //打印
cout << *it;
return 0;
}
?
使用系统的时间函数
#include <iostream>
#include <time.h>
using namespace std;
#pragma warning( disable : 4996 )//去掉4996类型报错,解决localtime函数的问题
struct NowDate//创建类
{
char tmp0[16]; //年月日
char tmp1[16]; //时分秒
};
NowDate getTime()//创建类的方法
{
time_t timep;//time_t,存储从1970年到现在经过了多少秒
time(&timep); //time函数会返回自1970年1月1日0点走过的秒数,同时把这个返回值保存在传进来的那个time_t* 指向的变量timep中
NowDate date;//NowDate的一个实例化date
//strftime()函数将时间格式化为我们想要的格式 //localtime()将时间数值变换成本地时间
strftime(date.tmp0, sizeof(date.tmp0), "%Y-%m-%d", localtime(&timep));//格式%Y-%m-%d年月日
strftime(date.tmp1, sizeof(date.tmp1), "%H:%M:%S", localtime(&timep));//格式"%H:%M:%S"时分秒
return date;
}
int main()
{
NowDate time = getTime();//实例化
cout <<"年月日:"<< time.tmp0 << endl;
cout <<"时分秒:"<< time.tmp1 << endl;
return 0;
}
?
计算出迄今为止的总天数,在除以7,求余数得星期几。
#include <iostream>
using namespace std;
int main()
{
int year, month, day, n;
int a[13], sum1, sum2, sum;
cout << "输入当前年月日:";
cin >> year >> month >> day;
sum1 = 0; sum2 = day; sum = 0;
for (int i = 1970; i < year; i++)
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) //闰年天数366
n = 366;
else n = 365;
sum1 = sum1 + n; //每年天数和
}
//利用数组给每一个月确定天数
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) //闰年二月29
a[2] = 29;
else a[2] = 28;
for (int i = 1; i <= 12; i++)
{
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
a[i] = 31;
else if (i == 4 || i == 6 || i == 9 || i == 11)
a[i] = 30;
}
for (int i = 1; i < month; i++) //每月天数和
sum2 = sum2 + a[i];
sum = sum1 + sum2; //1970至今的总天数
cout << "计算结果:";
switch (sum % 7) //因为1970/1/1为星期四
{
case 0:cout << "星期三\n"; break;
case 1:cout << "星期四\n"; break;
case 2:cout << "星期五\n"; break;
case 3:cout << "星期六\n"; break;
case 4:cout << "星期日\n"; break;
case 5:cout << "星期一\n"; break;
case 6:cout << "星期二\n"; break;
default:break;
}
return 0;
}
?
如有不足之处,还望指正 [1]。
如果对您有帮助可以点赞、收藏、关注,将会是我最大的动力 ??
【C/C++题目】基础题目合集——杨辉三角;字符串大小写转换;日期及星期打印;
标签:最大 text 去掉 格式 begin iostream nta article cin
原文地址:https://www.cnblogs.com/CoutCodes/p/12807399.html