标签:最大 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