各个语言的标准输入输出(C++,Python,Go,MATLAB)
标准输入和输出
C/C++
cin
,cout
,getline()
进行输入输出
#include<bits/stdc++.h> using namespace std; int main(){ //输入 `123 12 31` int a,b,c; cin>>a>>b>>c; cout<<a<<b<<c<<endl; //输出1231231 并换行(endl代表换行) //输入 `zpa zz` string s; cin>>s; cout<<s;//只会输出`zpa` 后面因为存在空格作为分隔符所以 `zz` 会被放入cin的缓冲区内等待下一个接收 //输入 `zpa 666 zhang!` string x; getline(cin,x); cout<<x;//输出 `zpa 666 zhang!` getline()函数会读入一整行数据 return 0; }
cin
读入的数据不是一行,会以空白字符为分隔符,剩下的字符会被存在缓冲区内
如果想要读取用户输入的一整行数据可以用getline()
函数
可用ctrl + z
强制结束cin
的输入
#include<bits/stdc++.h> using namespace std; int main(){ int a; while(cin>>a)cout<<"sss";//这时的cin会不断的读取数据可用ctrl + z 强制结束cin的输入 cout<<"aaa";//ctrl+z 后会打印输出 `aaa` return 0; }
scanf()
和printf()
进行输入和输出
#include<bits/stdc++.h> using namespace std; int main(){ int a,b; pritf("tips"); scanf("%d",&a,&b); printf("%d",a,b); //格式化输出%d为占位符 return 0; }
scanf()
和prinf()
输入和输出的速度比cin
,cout
更快
go
fmt.Scan()
,fmt.Print()
进行输入和输出
package main import ( "fmt" ) func main() { var a string var b string var c string //输入 `zpa 666 zzz` fmt.Print("tips") fmt.Scan(&a, &b, &c) // Scan()会以空白字符为分隔符,类似c++中的cin fmt.Print(a) // 输出不换行 `zpa` fmt.Println(a, b, c) // 输出`zpa 666 zzz` Println()会自动在变量之间添加空格 fmt.Printf("格式化输出 %s%s%s", a,b,c)// 输出`zpa666zzz` 不会自动添加空格 }
因为Scanf()
包在fmt
里面且不是main的子包,所以使用时Scanf()
首字母要大写,其他函数同理也要大写
Python
input()
,print()
进行输入和输出
a=input()#输入`zpa 666` b=input()#输入`777` print(a,b) #输出 `zpa 666 777` print()会自动在变量之间添加空格,与go的类似 print(f"sss{a}{b}")#输出 `ssszpa 666 777` print()会自动在变量之间添加空格 print("%s%d" % (a,int(b))#格式化输出 `zpa 666777` print("Name: {1}, Nms: {0}".format(a, b))#格式化输出Name: zpa, Nms: 666
input()
读入的数据全部默认为string类型,一般要转类型再使用,也可用eval(input())
可将字符串“231313”
转为int231313
input()
是读取的一整行数据,与C++中的getline(cin,s)
类似
!!!默认情况下,print()
函数会在输出后添加一个换行符,可通过end
来进行更换
a=input()#输入 `zpa` b=input()#输入 `666` print(a,end=" ")#end=" " 指定在输出的字符串末尾应该添加空白字符 print(b,end=" ") #最后输出 `zpa 666`
end=" " 指定在输出的字符串末尾应该添加空白字符
如果想要像cin
那样对一行的数据进行分别读取可以使用map()
+split()
来实现
a,b=map(int,input().split())#输入`123 666` input().split()将字符串按空格分割,将每个子串给int函数进行强制转换为int类型 print(a,b)#`a=123` `b=666` 输出`123 666` print()会自动加空格分开
语法map(一个函数,一个可迭代对象) !!!map()
返回的是一个迭代器并不是返回多个数
map 函数会将可迭代对象中的每个元素作为参数传递给指定的函数
input().split()输入的按空格分割,split()默认的是按空白字符分割
Matlab
input(),disp()
进行输入和输出
num = input('请输入一个数字: '); %输入`123` num会是int类型 disp(x);% x可为数组即矩阵,等其他数据 fprintf(' %.2d\n', x);%格式化输出`123` `\n`进行换行 disp(['sss', num2str(num)]);%输出 `sss 123` %字符串拼接 [ ]里面为数组 num2str()转字符串函数
num2str()
数字转字符串函数
Matlab
中的input()
会根据用户输入的数据类型进行自动转换 与 Python
中的input()
不同
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统