本文共 2197 字,大约阅读时间需要 7 分钟。
只是换成了markdown,防止质疑原创,帖个之前这篇文章的后台数据
提醒一句: 平台不同,编译器不同。 CB编译的c++采用的头文件是,而VC++ 引用的头文件是,以下程序采用CB编写。 但是现在C++11统一头文件之后貌似这个问题不大。#include#define N 101010using namespace std;int main(){ char s[N],b[N]; cout<<"请输入字符串:\n"; while(~scanf("%s",s)){ int i = 0; while((b[i] = s[i])!='\0') i++; cout<<"字符串复制如下:\n"; puts(b); cout<<"请输入字符串:\n"; } return 0;}
样例:输入中有空格,自动划分成了两个字符串
#include#define N 101010using namespace std;int main(){ //char s[N],b[N]; string s,b; cout<<"请输入字符串:\n"; while(getline(cin,s)){ b = s; cout<<"字符串复制如下:\n"; // puts(b); cout< <
样例:可以读入空格,以’\n’结束
用逗号间隔,输入字符串#include#define N 101010using namespace std;int main(){ string s; cout<<"请输入字符串:\n"; cin>>s; stringstream input(s); int k = 0, a[N]; while(getline(input, s, ',')){ // 逗号间隔输出 a[k] = stoi(s); k += 1; } cout<<"转化为整数输出:\n"; for(int i = 0;i < k;i++) cout< <
#include#define N 101010using namespace std;int main(){ char s[N],b[N]; cout<<"请输入字符串:\n"; while(gets(s)) { int i = 0; while((b[i] = s[i])!='\0') i++; cout<<"字符串复制如下:\n"; puts(b); cout<<"请输入字符串:\n"; } return 0;}
样例: 可读入空格
#include#define N 101010using namespace std;int main(){ char s[N],b[N]; int i = 0; cout<<"请输入字符串:\n"; while((s[i] = getchar())!='\n')///模仿getline { b[i] = s[i]; i++; } cout<<"字符串复制如下:\n"; puts(b); return 0;}
样例:按回车之前,可以保存所有的输入
但是有这么一种用法,输入可变长数组,以回车结束输入。
#include#define N 101010using namespace std;int main(){ int n; int p[N]; int i = 0; cout<<"开始输入字符:\n"; while(1){ cin>>n; p[i] = n; i += 1; char s = cin.get(); // 用s来接收是不是按了回车 if(s == '\n'){ break; } } cout<<"输出结果为:\n"; for(int j = 0 ;j < i;j++) cout< <<" "; cout<
样例:输出未知长度数组,以回车结束输入。