本文介绍了为什么它没有在数组中采用正确的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在接受类似3 + 2 + 1的输入,我试图从字符串中获取整数,在排序之后将数组中的整数显示为3 + 2

我的输入:

3 + 2 + 1

输出显示3 + 2应为1 2 3 .....请帮助



我尝试了什么:



 # include   <   iostream  >  
使用 命名空间性病;

int main()
{

string a;
while (cin>> a)
{
int LEN = a.size();
int n = len / 2 + 1;
int c [n],j = 0 ;
for int i = 0 ; i< len; i ++)
{
char cd = a [i];
if (a [i] == ' 1' || a [i] == ' 2' || a [ i] == ' 3'
{
c [j] = a [i] - ' 0';
j ++;
}
}

sort(c,c + n);
for int i = 0 ; i< n; i ++)
cout<< a [i]<< endl;
}
// cout<< 你好,世界! << endl;
return 0 ;
}
解决方案






to



 sort(c,c + n); 
for int i = 0 ; i< n; i ++)>
cout<< c [i]<< endl;



i am taking a input like 3+2+1 and i was trying to get the integers from the string taking the integers in array after sorting it's showing 3+2
my input:
3+2+1
output showing 3 + 2 which should be 1 2 3.....help please

What I have tried:

#include <iostream>
using namespace std;

int main()
{

   string a;
   while(cin>>a)
   {
       int len=a.size();
       int n=len/2+1;
       int c[n],j=0;
       for(int i=0;i<len;i++)
       {
           char cd=a[i];
           if(a[i]=='1'||a[i]=='2'||a[i]=='3')
           {
               c[j]=a[i]-'0';
               j++;
           }
       }

       sort(c,c+n);
       for(int i=0;i<n;i++)
        cout<<a[i]<<endl;
   }
    //cout << "Hello world!" << endl;
    return 0;
}
解决方案




to

sort(c,c+n);
for(int i=0;i<n;i++)>
  cout<<c[i]<<endl;



这篇关于为什么它没有在数组中采用正确的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 01:03