C++한 줄 의 숫자(음수 포함)를 입력 하여 배열 에 저 장 된 사례

1987 단어 C++숫자.배열
일부 블 로 그 를 본 결과 C++에 대한 입력 수 를 배열 로 가 져 오 는 중 오류 가 발생 한 것 은 C 를 불 러 오 는 표준 라 이브 러 리 가 없 기 때 문 입 니 다.
사실 다음 코드 는 C 언어 를 사용 하 는 것 이 더욱 합 리 적 이지 만 C 의 입 출력 이 너무 번 거 로 워 서 C++로 썼 다.
코드 기능:
입력 한 숫자 를 가 져 와 배열 에 저장 합 니 다.숫자 는 양수 와 음 수 를 포함 하고 스페이스 바 와 줄 바 꿈 자 를 입력 하지 않 습 니 다.
코드 세그먼트:

#include<iostream>
#include <stdio.h>
using namespace std;
int main()
{ int i=0;
 int a;
 int num_in[40];
 char c;
 cin>>a; //         
 while(i<a)
 {
  c=getchar(); //      
  if((c>='0'&&c<='9')||c=='-') //     、   
 {
 ungetc(c,stdin);
 cin>> num_in[i++];
 }
 }
  for(int j=0;j<i;j++)
  {
   cout<<"a["<<j<<"]:"<<num_in[j]<<endl;
  }
  return 0;
 }
결 과 는 다음 그림 과 같다.

추가 지식:C++입력 한 쉼표 로 구 분 된 숫자 를 배열 에 저장 합 니 다.
필요:
일련의 숫자 를 입력 하고 숫자 사이 의 쉼표 를 분리 하여 숫자 를 배열 이나 벡터 에 저장 합 니 다.
코드:

#include <iostream>
#include <string>
#include <vector>
#include "stdio.h"
using namespace std;
int main ()
{
 string s;
 while(cin>>s){
  vector<int>nums;
  char *str = (char *)s.c_str();//string --> char
  const char *split = ",";
  char *p = strtok (str,split);//        
  int a;
  while(p != NULL) {
   sscanf(p, "%d", &a);//char ---> int
   nums.push_back(a);
   p = strtok(NULL,split);
  }
  //printf
  for (int i=0; i<nums.size(); i++) {
   printf ("%d
",nums[i]); } } return 0; }
이상 의 C++한 줄 의 숫자(음수 포함)를 입력 하여 배열 에 저장 한 사례 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 많은 응원 을 바 랍 니 다.

좋은 웹페이지 즐겨찾기