函数——系统函数(c++)

发布时间:2024年01月04日

二维数组结束,就到函数了。函数,就相当于scratch中的自制积木,需要自己定义其作用,让代码更简洁、一目了然。但是,与scratch不同的是,c++中,系统就给出了一些函数,如:sizoef、strlen等。这些都叫系统函数,系统已经定义了它的作用。这次,让我们先来看看系统函数吧!

主要的一些系统函数:

(a和b为变量名,c为字符串名)

?名称? ? ? ? ? ? ? 用法? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用处

strlen? ? ? ??? ?strlen(c)? ? ? ? ? ? ?找到字符串c的长度

system? ?? ?system("cls")? ? ? ? ? ? ? ? ? ? 清屏

swap? ? ? ?? ?swap(a,b)? ? ? ? ? ?? ?交换两个数的值

sizoef? ? ? ? ? sizoef(c)? ? ? ? ? ?找到c的所占空间大小

max? ? ? ? ?? ?max(a,b)? ? ? ? ? ? ?找到a和b中的较大数

min? ? ? ? ? ? ? min(a,b)? ? ? ? ? ? ?找到a和b中的较小数

?......? ? ? ? ? ? ? ?......? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ......

(注:有些系统函数要加其他头文件)

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[100][100];
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cin>>a[i][j];
		}
	}
	
	cout<<endl;
	for(int i = 0;i<n;i++)
	{
		int ma = -999999;
		for(int j = 0;j<n;j++)
		{
			ma = max(ma,a[i][j]);
		}
		cout<<ma<<" ";
	}
	cout<<endl;
	for(int i = 0;i<n;i++)
	{
		int ma = -999999;
		for(int j = 0;j<n;j++)
		{
			ma = max(ma,a[j][i]);
		}
		cout<<ma<<" ";
	}
	return 0;
}

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[100][100];
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cin>>a[i][j];
		}
	}
	
	cout<<endl;
	for(int i = 0;i<n;i++)
	{
		int ma = -999999;
		int mi = 999999;
		int mai;
		int mii;
		for(int j = 0;j<n;j++)
		{
			if(ma<a[i][j])
			{
				ma = a[j][i];
				mai = j;
			}
			if(mi>a[i][j])
			{
				mi = a[j][i];
				mii = j;
			}
		}
		swap(a[mai][i],a[mii][i]);
	}
	
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[1000] = {0};
	int b[1000] = {0};
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
		int t = a[i];
		while(t!=0)
		{
			b[i] = b[i]+t%10;
			t = t/10;
		}
	}
	
	for(int i = 0;i<n;i++)
	{
		cout<<b[i]<<" ";
	}
	cout<<endl;
	for(int i = 0;i<n-1;i++)
	{
		for(int j = 0;j<n-1-i;j++)
		{
			if(b[j]<b[j+1])
			{
				swap(a[j],a[j+1]);
				swap(b[j],b[j+1]);
			}
			else if(a[i]<a[i+1])
			{
				swap(a[j],a[j+1]);
				swap(b[j],b[j+1]);
			}
		}
	}
	
	for(int i = 0;i<n;i++)
	{
		cout<<a[i]<<" ";
	}
	return 0;
}

数组k位之后逆序重放
描述
将一个数组中的值k到最后一位逆序重新存放。
例如,原来的顺序为8,6,5,4,1。要求将其第三位之后的值逆序,变为8 6 1 4 5。
输入
输入为3行:第一行数组中元素的个数n(1<n<100)
第二行是n个整数,每两个整数之间用空格分隔。
第三行整数n,表示从哪里开始逆序
输出
输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
样例输入
9
1 2 3 4 5 6 7 8 9
6
样例输出
1 2 3 4 5 9 8 7 6
#include <iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int k;
	int a[1000] = {0};
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
	}
	cin>>k;
	k = k-1;
	
	int j = n-1;
	int i = k;
	while(i<=j)
	{
		swap(a[i],a[j]);
		j--;
		i++;
	}
	
	cout<<endl;
	for(int i = 0;i<n;i++)
	{
		cout<<a[i]<<" ";
	}
	return 0;
}

矩阵交换列
描述
给定一个a*a的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),
将第n列和第m列交换,输出交换后的结果。
输入
第1行一个整数a,代表矩阵规模
后面a行,每行a个整数,代表矩阵的内容
之后两个整数m、n,以一个空格分开。(1 <= m,n <= 5)
输出
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
样例输入
5
1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5
样例输出
2 2 2 1 1
3 6 7 8 5
3 3 0 5 9
6 2 1 4 7
4 0 8 2 3
#include <iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[100][100] = {0};
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cin>>a[i][j];
		}
	}
	int i1;
	int i2;
	cin>>i1>>i2;
	i1 = i1-1;
	i2 = i2-1;
	
	for(int i = 0;i<n;i++)
	{
		swap(a[i][i1],a[i][i2]);
	}
	
	cout<<endl;
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<n;j++)
		{
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	int a[110][110];
	int n,m;
	m = 5;
	n = 5;
	
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<m;j++)
		{
			cin>>a[i][j];
		}
	}
	
	
	for(int i = 0;i<n;i++)
	{
		for(int j = 0;j<m;j++)
		{
			bool f =true;
			for(int k = 0;k<n;k++)
			{
				if(a[i][j]>a[k][j])
				{
					f = false;
					break;
				}
			}
			for(int h = 0;h<m;h++)
			{
				
				if(f==false)
				{
					break;
				}
				if(a[i][j]<a[i][h])
				{
					f = false;
					break;
				}
			}
			if(f==true)
			{
				cout<<i+1<<" "<<j+1<<" "<<a[i][j];
				return 0;
			}
		}
	}
	
	
	cout<<"no found";
	
	
	return 0;
}

文章来源:https://blog.csdn.net/mmz1207/article/details/135374231
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。