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

函数——系统函数(c++)本文介绍了 C 编程中如何使用系统函数如 strlen system swap 等来处理字符串和数组操作 包括计算长度 清屏 交换数值等 并展示了如何在矩阵中交换特定列

大家好,欢迎来到IT知识分享网。

二维数组结束,就到函数了。函数,就相当于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中的较小数

 ……               ……                              ……

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

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

#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 = -; 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 = -; for(int j = 0;j<n;j++) { ma = max(ma,a[j][i]); } cout<<ma<<" "; } return 0; }

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

#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 = -; int mi = ; 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; }

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

#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; }

函数——系统函数(c++)
#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://haidsoft.com/137488.html

(0)
上一篇 2025-06-20 13:20
下一篇 2025-06-20 13:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信