函数——系统函数(c++)
2024-01-08 14:03:53
二维数组结束,就到函数了。函数,就相当于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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!