当前位置: 首页 > article >正文

【python2C】1. 输入 (补)

基础的前文已备,不再赘述。

这里举两类特别的题。

1.矩阵题

输入
第一行为正整数n
第二行开始的n行,连续n个字符,代表不同的意义,无间隔字符!

Python

n=int(input())
data=[input().split("") for _ in range(n)]

C++

int n; cin>>n;
char data[n][n];
for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>data[n][n];

也可以

int n; cin>>n;
char data[n][n];
for(int i=0;i<n;i++) cin >> data[i];

特别地,如果需要保留围墙,从下标1开始接收数据

for (int i=1;i<=n;i++) cin >> data[i]+sizeof(char);

2. 无尾行

尾无终止符,单行不知数

比如 洛谷 P2415 集合求和

 Python

data=input().split()

C++

传统的c用scanf

int s[30],cnt = 0;
while (scanf("%d", &s[cnt])==1 && cnt<30) cnt++;

或者用cin

int s[30],tmp,cnt = 0;
while(cin>>tmp){s[cnt++]=tmp;}

还可以自己写个分割函数,解决特殊间隔字符的情况

int splt(int d[],string ss,char sep,int nmax){ 
    //自己写个split()
	int cnt=0;string s="";
	for(int i=0;i<ss.size()&&cnt<nmax;i++){
		if(ss[i]==sep){
			if(s!=""){d[cnt++]=stoi(s);s="";}
		}else s+=ss[i];
	}
	if(s!="")d[cnt++]=stoi(s);
	return cnt;
}

int s[30];
string ss; getline(cin,ss);
int cnt=splt(s,ss,' ',30);

小结

一句话两种做法:类型匹配挨个读,整行读入自己分。


http://www.kler.cn/a/303711.html

相关文章:

  • Mac解压包安装MongoDB8并设置launchd自启动
  • 【代码审计】常见漏洞专项审计-业务逻辑漏洞审计
  • CentOS网络配置
  • uniapp在app模式下组件传值
  • Java结合ElasticSearch根据查询关键字,高亮显示全文数据。
  • 基于海思soc的智能产品开发(两个图像处理来源)
  • Ai产品经理
  • 网络搜索记录会被监控吗?一文带你看懂【打工人必看】
  • 新书速览|循序渐进Vue.js 3.x前端开发实践
  • 上海证券交易所特定参与者接口规格说明书(托管银行卷)1.35 版
  • GitHub Copilot Issue in Visual Studio Code “Status Ready (disabled)“
  • SpringBoot开发——整合Redis
  • 鸿蒙NEXT(API 12)【蓝牙设置】 网络开发
  • 基于SpringBoot+Vue+MySQL的笔记记录分享网站
  • “阡陌云旅”黄河九省文化旅游平台
  • solidity-19-fallback
  • LeetCode之二叉搜索树
  • uniapp登录页面( 适配:pc、小程序、h5)
  • Leetcode面试经典150题-349.两个数组的交集
  • 设计模式 -- 单例设计模式
  • 新能源汽车 BMS 学习笔记篇—BMS 基本定义及分类
  • Kubernetes+Minio+Velero:终极备份解决方案
  • 汽车无钥匙启动功能工作原理
  • 产学研合作赋能产业升级新动能
  • 【单片机仿真】基于51单片机的宠物喂食系统设计
  • 8个前端库-小且美