C++实验二源码

发布于 2018-04-08  7 次阅读


  1. 有一函数:y=    用cin语句输入x的值,求y的值。运行程序,输入x的值(分别为),检查输出的y值是否正确。
  2. 有3个整数a,b,c,由键盘输入,输出其中的最大数。
  3. 给出一个不多于5位的正整数,求出它是几位数。


/*1.	有一函数:
y=      
用cin语句输入x的值,求y的值。
运行程序,输入x的值(分别为 ),检查输出的y值是否正确。
2.	有3个整数a,b,c,由键盘输入,输出其中的最大数。
3.	给出一个不多于5位的正整数,求出它是几位数。
*/
#include <iostream>
using namespace std;
//备注:主函数(main)作为主要选择分支,故未在这里写出
void shiyan21();
void shiyan22();
void shiyan23();

void shiyan2()
{
	int xuanze;
	cout << "请输入数字以选择你想进行的运算" << endl;
	cout << "1.计算特定的一个函数" << endl;
	cout << "2.给定三个数输出最大数" << endl;
	cout << "3.给出一个不多于5位的正整数,求出它是几位数" << endl;
	cout << endl;
	cout << "请输入你想进行的运算:";
	cin >> xuanze;
	cout << endl;
	//1.计算特定的一个函数
	if (xuanze == 1)
	{
		shiyan21();
	}
	//2.给定三个数输出最大数
	else if (xuanze == 2)
	{
		shiyan22();
	}
	//"3.给出一个不多于5位的正整数,求出它是几位数"
	else if (xuanze == 3)
	{
		shiyan23();
	}
	//给定1,2,3以外的字符
	else
	{
		cout << "请输入1-3之间的数字!" << endl << endl << endl;
		getchar();
	}
}
void shiyan21()
{
	float x, y;
	cout << "您选择了求一个特定函数的值" << endl << "该特定函数是:" << endl;
	cout << "    ╭ x           x<1" << endl;
	cout << "    │" << endl;
	cout << "y = ┼ 2x-1        1≤x<10" << endl;
	cout << "    │" << endl;
	cout << "    ╰ 3x-11       x≥10" << endl << endl;
	cout << "请给定x的值:";
	cin >> x;
	cout << endl;
	if (x < 1)
	{
		y = x;
	}
	else if (x < 10)
	{
		y = 2 * x - 1;
	}
	else
	{
		y = 3 * x - 11;
	}
	cout << "y的值是:" << y << endl;
}
//void shiyan22()
//{
//	cout << "您选择了给定n个数,输出最大值" << endl;
//	int i;
//	float x[3], big;
//	for (i = 0; i < 3; i++)
//	{
//		cout << "请输入第" << i + 1 << "个数,共3个数" << endl;
//		cin >> x[i];
//	}
//	for (i = 0; i < 3; i++)
//	{
//		cout << x[i] << "     ";
//	}
//	cout << endl;
//	big = x[0];
//	for (i = 0; i < 2; i++)
//	{
//		if (big < x[i + 1])
//		{
//			big = x[i + 1];
//		}
//	}
//	cout << "最大的数为:" << big << endl;
//}


void shiyan22()
{
	cout << "您选择了给定n个数,输出最大值" << endl;
	getchar();//这个是用来消除“BUG”的,具体什么BUG,实在是不知道了喵
	int i,j;
	float x[100], big;

	for (i = 0; i < 100; i++)
	{
		cout << "请输入第" << i + 1 << "个数,最多100个数,输入最后一个数后,输入“空格”键再按“回车”键结束" << endl;
		cin >> x[i];
		while (getchar() == ' ')//当检测到用户输入空格后,主动停止循环语句
		{
			j = i + 1;//记录数据的多少
			i = 999;//停止循环
		}
	}

	cout << "你给出的数组是:" << endl;
	for (i = 0; i < j; i++)
	{
		cout << x[i] << "     ";//列举用户输入的所有值
	}
	cout << endl;

	big = x[0];//先取第一个数作为最大的数,然后再依次和后续的所有数做比较
	for (i = 0; i < j; i++)
	{
		if (big < x[i + 1])//如果发现第[x+1]个数比第[x]个数大,则把[x+1]的数值赋值给big
		{
			big = x[i + 1];
		}
	}
	cout << "最大的数为:" << big << endl;
}


void shiyan23()
{
	cout << "您选择了输入一个数字,求其位数功能" << endl;
	int x,i,wei=1;
	cout << "请输入您想判断的数字:";
	cin >> x;
	if (x < 0)
	{
		x = ~x;
	}
	else if (x == 0)
	{
		cout << "抱歉,我也不知道“0”是几位数……" << endl;
	}
	if (x > 0)
	{
		for (i = 0; i < 20; i++)
		{
			if (x >= wei && x < wei * 10)
			{
				cout << "您输入的数" << x << "是" << i + 1 << "位数" << endl;
				i = 999;
			}
			else
			{
				wei = wei * 10;
			}
		}
	}
	
}

运算结果:


无聊的并不是这段时光,而是与别人相似的自己。