用C/C++解决一些数学问题(二)

1:在日常生活中,一大堆数据,我们要求出这些数据的最大值,这里以整数为例,主要也是重新缕清一下思路

      需求:求出20个数中的最大的数,并且输出:

#include 
using namespace std;
int main()
{
	while (true)
	{
		int a[20];
		for(int i=0;i<20;i++)
		{
			cout<<"请输入第"<>a[i];
		}
		for(int j=0;j<20;j++)
		{
			if(j==0)
			{
				a[j]=a[j];
			}
			else
			{
				if(a[j]>a[j-1])
				{
					a[j]=a[j];
				}
				else
				{
					a[j]=a[j-1];
					if(j==19)
					{
						cout<<"最大的数是:"<
运行结果:

用C/C++解决一些数学问题(二)_第1张图片


         上面的代码显的过于臃肿,且执行效率不高,另外这个框架限制的条件比较死,能不能实现确定多少个数,然后再求出这些数的最大值呢

         需求更改:事先确定多少个数,然后输入指定数量的数,求出最大值,代码如下:

      

#include 
using namespace std;
int main()
{
	while (true)
	{
		int n;
		cout<<"请输入你统计的数的数量:";
		cin>>n;
		int max;
		int mm;
		for(int i=0;i>mm;
			if(i==0)
			{
				max=mm;
			}
			else
			{
				if(max
运行结果:

用C/C++解决一些数学问题(二)_第2张图片


2:有时候,一个很长的字符串,我们想将这个字符串全部倒过来,或者全部变成大小写,甚至给这个字符串加密,或者解密等等,我们该怎么处理这些字符串呢

         需求:用户输入一段字符,按指定的要求对这个字符串进行加密,然后再排列,最后将密文输出;如果用户选择解密的字符,那么用户输入密文,将密码原文输出

                   要求1:这段程序用户可以选择加密或者解密,加密执行对应的加密程序,解密执行对应的解密程序

                           2:加密过程是将字符串全部颠倒过来,然后根据颠倒过来的每个字符的ascii值,根据字符串的长度,和字符所在的位置生成密文

                           3:加密解密可以选择

        根据大致分析,代码如下:

#include 
using namespace std;
int main()
{
	while (true)
	{
		int a;
		cout<>a;
		char str[20];
		int lenth;
		char mstr[20];
		switch (a)
		{
		case 1:
			cout<<"输入要加密的字符串:";
			cin>>str;
			lenth=strlen(str);
			for(int i=0;i<=lenth;i++)
			{
				if(i>mstr;
			lenth=strlen(mstr);
			for (int i = 0; i < lenth; i++)
			{
				mstr[i]=mstr[i]-lenth+i;
			}
			for(int i=0;i<=lenth;i++)
			{
				if(i
运行结果:

用C/C++解决一些数学问题(二)_第3张图片


3:经常会查询一个字符串里一共含有指定的字符多少个

       代码如下:

#include 
using namespace std;
int fun1(char str[],char n);
int main()
{
	while(1)
	{
		char str1[300];
		char n;
	cout<<"输入字符串:";
	cin>>str1;
	cout<<"输入包含的字符:";
	cin>>n;
	int mm=sizeof(str1);
	cout<<"一共包含的个数:"<

运行结果:


用C/C++解决一些数学问题(二)_第4张图片

你可能感兴趣的:(C++基础知识片段)