计算机程序设计C++(第5周基础练习)

计算机程序设计C++ MOOC

测试与作业C++基础练习100题

##第五周基本练习

本周为函数的使用

  1. 求两个数的和
    在这里插入图片描述
#include "iostream"

using namespace std;

double mysum(double a,double b)
{
	return a + b;
}

int main()
{
	double a, b;
	cin >> a >> b;
	cout << mysum(a, b) << endl;
	return 0;
}
  1. 求绝对值的函数
    在这里插入图片描述
#include "iostream"

using namespace std;

double myfabs(double a)
{
	if (a >= 0)
		return a;
	else
		return -a;
}

int main()
{
	double a;
	cin >> a;
	cout << myfabs(a) << endl;
	return 0;
}
  1. x的k次方
    在这里插入图片描述
#include "iostream"

using namespace std;

double mypow(double a,int n)
{
	double pow = 1;
	if (a == 0) return 0;
	if (n > 0)
	{
		while (n != 0)
		{
			pow = pow*a;
			n--;
		}
		return pow;
	}
	else if (n == 0)
	{
		return 1;
	}
	else
	{
		return 1/mypow(a, -n);
	}
}

int main()
{
	double a;
	int n;
	cin >> a >> n;
	cout << mypow(a, n) << endl;
	return 0;
}
  1. 求n!的函数
    在这里插入图片描述
#include "iostream"

using namespace std;

int Factorial(int n)
{
	if (n == 0) return 1;
	int fac = 1,i=1;
	while (n != 0)
	{
		fac = fac*i;
		i++;
		n--;
	}
	return fac;
}

int main()
{
	int n;
	cin >> n;
	cout << Factorial(n) << endl;
	return 0;
}
  1. 输入数组元素
    在这里插入图片描述
#include "iostream"

using namespace std;

int input(int a[])
{
	int i = 0,n;
	while (1)
	{
		cin >> n;
		if (n != -9999)
		{
			a[i] = n; 
			i++;
		}
		else
		{
			break;
		}
	}
	return i;
}

int main()
{
	int a[100],n,i;
	n = input(a);
	for (i = n - 1; i > 0; i--)
	{
		cout << a[i] << " ";
	}
	cout << a[i];
	return 0;
}
  1. 输出数组元素值
    在这里插入图片描述
#include "iostream"

using namespace std;

int input(int a[])
{
	int i = 0,n;
	while (1)
	{
		cin >> n;
		if (n != -9999)
		{
			a[i] = n; 
			i++;
		}
		else
		{
			break;
		}
	}
	return i;
}

void output(int a[],int n)
{
	int i = 0;
	for (i = 0; i < n-1; i++)
	{
		cout << a[i] << " ";
	}
	cout << a[i];
}

int main()
{
	int a[100],n;
	n=input(a);
	output(a, n);
	return 0;
}
  1. 将数组元素逆序
    在这里插入图片描述
#include "iostream"

using namespace std;

int input(int a[])
{
	int i = 0,n;
	while (1)
	{
		cin >> n;
		if (n != -9999)
		{
			a[i] = n; 
			i++;
		}
		else
		{
			break;
		}
	}
	return i;
}

void output(int a[],int n)
{
	int i = 0;
	for (i = 0; i < n-1; i++)
	{
		cout << a[i] << " ";
	}
	cout << a[i];
}

void reverse(int a[], int n)
{
	int i = 0;
	int mid,temp;
	mid = int(n / 2.0 + 0.5);
	for (i = 0; i < mid; i++)
	{
		temp = a[i];
		a[i] = a[n - i - 1];
		a[n - i - 1] = temp;
	}
}

int main()
{
	int a[100],n;
	n=input(a);
	reverse(a,n);
	output(a, n);
	return 0;
}
  1. 求数组元素的和
    在这里插入图片描述
#include "iostream"

using namespace std;

int input(int a[])
{
	int i = 0,n;
	while (1)
	{
		cin >> n;
		if (n != -9999)
		{
			a[i] = n; 
			i++;
		}
		else
		{
			break;
		}
	}
	return i;
}

int sum(int a[], int n)
{
	int i = 0, s = 0;
	for (i = 0; i < n; i++)
		s = s + a[i];
	return s;

}

int main()
{
	int a[100],n;
	n=input(a);
	cout << sum(a, n);
	return 0;
}
  1. 求字符串的长度的函数
    在这里插入图片描述
#include "iostream"

using namespace std;

int len(char a[])
{
	int i=0;
	while (a[i]!='\0')
	{
		i = i++;
	}
	return i;
}

int main()
{
	char a[100];
	cin >> a;
	cout << len(a) << endl;
	return 0;
}
  1. 字符串转大写
    在这里插入图片描述
#include "iostream"

using namespace std;

void upp(char a[])
{
	int i=0;
	while (a[i]!='\0')
	{
		if (a[i] > 'a'&&a[i] < 'z')
		{
			a[i] = char(a[i] + 'A' - 'a');
		}
		i++;
	}
}

int main()
{
	char a[100];
	cin >> a;
	upp(a);
	cout << a;
	return 0;
}
  1. 字符串复制函数
    在这里插入图片描述
#include "iostream"

using namespace std;

void mystrcpy(char a[], char b[])
{
	int i = 0;
	while (a[i]!='\0')
	{
		b[i] = a[i];
		i++;
	}
	b[i] = '\0';
}

int main()
{
	char a[100],b[100];
	cin.getline(a, 100);
	mystrcpy(a, b);
	cout << b;
	return 0;
}
  1. 字符串比较函数
    在这里插入图片描述
#include "iostream"

using namespace std;

int compare(char a[], char b[])
{
	int i = 0;
	while (a[i]!='\0'||b[i]!='\0')
	{
		if (a[i] == b[i])  i++;
		else if (a[i] > b[i]) return 1;
		else return -1;
	}
	if (a[i] == '\0'&& b[i] != '\0') return -1;
	else if (a[i] == '\0'&& b[i] == '\0') return 0;
	else return 1;
}

int main()
{
	char a[100],b[100];
	cin >> a >> b;
	cout << compare(a,b);
	return 0;
}

以上为第五周的基本练习。

猜你喜欢

转载自blog.csdn.net/qq_35779286/article/details/83903503