如何将输入字符串巧妙处理,直接转换成数组元素?
- 内容介绍
- 文章标签
- 相关推荐
本文共计626个文字,预计阅读时间需要3分钟。
最近在处理输入时遇到一个让人头疼的问题,今天解决了并与家人分享了一下:例如题目要求输入一行数,数与数之间用空格隔开,数的个数未知,数也有正负:+1
最近在做题的时候在处理输入时遇到一个令人头疼的问题,今天解决了和大家分享一下:
比如题目要求的输入为一行数,数与数之间用空格间隔开,数的个数未知,数也有正有负:
11 -2 65 7
那么如何把这个输入保存到数组a中,且数组a中的值为a[0]=11,a[1]=-2,a[3]=65,a[4]=7呢?
先看代码:
#include <iostream> #include <stdio.h> using namespace std; int main() { int a[20]; int i = 0; cin>>a[i++]; while(getchar()!='\n') { cin>>a[i++]; } for(int j=0;j<i;j++) { cout<<"a["<<j<<"]:"<<a[j]<<endl; } }
关于getchar()函数:
该函数返回输入流的每一个字符,在这段程序中当该函数判断当前字符不是换行符时,则输入流cin向数组写入一个数字。
本文共计626个文字,预计阅读时间需要3分钟。
最近在处理输入时遇到一个让人头疼的问题,今天解决了并与家人分享了一下:例如题目要求输入一行数,数与数之间用空格隔开,数的个数未知,数也有正负:+1
最近在做题的时候在处理输入时遇到一个令人头疼的问题,今天解决了和大家分享一下:
比如题目要求的输入为一行数,数与数之间用空格间隔开,数的个数未知,数也有正有负:
11 -2 65 7
那么如何把这个输入保存到数组a中,且数组a中的值为a[0]=11,a[1]=-2,a[3]=65,a[4]=7呢?
先看代码:
#include <iostream> #include <stdio.h> using namespace std; int main() { int a[20]; int i = 0; cin>>a[i++]; while(getchar()!='\n') { cin>>a[i++]; } for(int j=0;j<i;j++) { cout<<"a["<<j<<"]:"<<a[j]<<endl; } }
关于getchar()函数:
该函数返回输入流的每一个字符,在这段程序中当该函数判断当前字符不是换行符时,则输入流cin向数组写入一个数字。

