nba2k14阿德托昆博面补:请教C++的问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 07:31:49
一,由用户输入一组数,如12345。要求输出时数字键间加了空格,如1 2 3 4 5。
二,编写一个程序删除注解
可以详细点吗?把核心几句话写出来吧。
是/* */或//这个。代码由令一个程序里读取

ifstream f1( "f:/text1.txt", ios::in | ios::nocreate );
ofstream f2( "f:/text2.txt", ios::out );
if( !f1 )
{
cerr << "error!" << endl;
exit(1);
}

char in;
while ( in != EOF )
{
f1.get(in);
if ( in == '/' )
{
f1.get(in);
if ( in == '/' )
while ( in != '\n' )
{
f1.get(in);
}
if ( in == '*' )
{
char in2;
f1.get(in);
f1.get(in2);
while( in2 != '*' && in != '/' )
{
if( in == '*' )
{
in2 = in;
f1.get(in);
}
f1.get(in);
}
f1.get(in);
}
}
if ( in == '\n')
{
cout << "\n";
f2.put( '\n' );
}
else if( in != EOF )
{
cout << in;
f2.put( in );
}
}
cout << "\nOK!" << endl;
f1.close();
f2.close();
这种方法比较麻烦……尚待改进……

第一个 可以定义一个数组接收用户输入的数,
然后转到第二个数组,转的时候可以用i=2i-1来确定位置,如a[i]里的数转到b[2i-1]里其他位置则是空格。

这是一种比较好的解题思想哦 我同意

#include<iostream>
#include<string>
using namespace std;
void main()
{
cout <<"Enter a string: \n";
string a;
cin>>a;
for( int i = 0; a[i] !='\0'; i++)
cout << a[i]<<" ";
cout << endl;
}

还有道不会哦....精怪

第一个 可以定义一个数组接收用户输入的数,
然后转到第二个数组,转的时候可以用i=2i-1来确定位置,如a[i]里的数转到b[2i-1]里其他位置则是空格。
第二个 不明白什么意思,何为注解?指的是注释吗?
那是否需要用户输入一段代码?
如果是的话,可以在碰到//和/*时稍微分析一下,就可以了。

第一个可以定义一个数组A[n]接收用户输入的数,输出的时候可以cout<<a[i]<<" ";
第二个我同意huangyinvhai说的,在碰到//后,将其与\n之前的字符删除,碰到/*时往后寻找*/,将他们其中的DD删掉