程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 從屏幕輸入一行數字,以空格分隔,如何分別存放到數組中

從屏幕輸入一行數字,以空格分隔,如何分別存放到數組中

編輯:C++入門知識

要求:

在屏幕中,輸入一行數字,以空格分隔,其中每個數字的長度不一定一樣,要求將這些數字分別存放到數組中。

例如:

輸入:1 123 1234 22 345 25 5

對應的數組的值應該為a[0]=1,a[1]=123,a[2]=1234,a[3]=22,a[4]=345,a[5]=25,a[6]=5;

輸入:2345 23 124 2

對應的數組的值應該為a[0]=2345,a[1]=23,a[2]=124,a[3]=2;


這個問題的難點是如何在輸入的一串字符中找到連續的數字作為一個數值,然後保存到數組中。

方法一:

利用getchar函數和ungetc函數,通過getchar函數判斷回車,以及判斷時候為數字,然後通過ungetc函數,將通過getchar函數獲得的字符送回緩沖區,再通過cin函數取出作為int型數組。

程序代碼:

#include
using namespace std;
int main()
{
	int a[50];
	int i = 0;
	char c;
	while((c=getchar())!='\n')
	{
		if(c>='0'&&c<='9')
		{
			ungetc(c,stdin);
			cin>>a[i++];
		}
	}
	for(int j=0;j

\


方法二:<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+yrnTw9fWt/u0rrGjtObBrND4tcTK/dfWo6zS1LvxtcPN6tX7tcTV+8r9o6zDv7Wx0/a1vb/VJiMyNjY4NDu1xMqxuvKjrHN0cmluZ7Hkwb++zcflv9WjrMi7uvO009DCu/HIodK7uPbBrND4tcTK/dfWoaO/ydLUzai5/XN0cmluZ7XEY19zdHK6r8r9vatzdHJpbmex5MG/16q7r86qY2hhctDNtcSjrMi7uvPNqLn9YXRvabqvyv3U2dequ6/Oqsr919ahozwvcD4KPHA+PHByZSBjbGFzcz0="brush:java;">#include #include using namespace std; int main() { int a[50]; int i = 0; char c; string str = ""; while((c=getchar())!='\n') { if(c>='0'&&c<='9') { str += c; } else if(c ==' ') { a[i++] = atoi(str.c_str()); str = ""; } } for(int j=0;j


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved