在C ++中将整数变量附加到char变量

时间:2013-04-04 19:56:59

标签: c++ visual-c++

我是C ++的新手,我有一个小项目, 我应该从用户那里得到10个数字然后显示在结果中。

所以我写了这段代码:

#include<stdio.h>
int main() {
    int counter=1,
        allNumbers;
    float score;
    while(counter <= 10) {
        scanf("%f",&score);
        counter++;
    }

    printf("Your entered numbers are : %s\n",allNumber);
}

例如用户输入2 3 80 50 ...我想在结果中显示2,3,80,50,...

但我不知道该怎么做!

2 个答案:

答案 0 :(得分:4)

我不知道你正在使用什么书,但作者似乎在进入C ++之前教你C语言。在讨论他们的动机之前,在讨论理想的C ++解决方案之前,我会写一个类似于你的代码风格的答案。

  • 您需要一个数组来存储您的号码:double score[10]
  • 数组从零开始编入索引,因此将counter更改为从0开始并转到9(而不是从1开始,然后转到10,就像现在一样)
  • 由于score是一个数组,因此在调用&score[count]
  • 时使用scanf
  • 要打印十个数字,您还需要一个循环。您需要一个标志,告诉您在打印的数字后是否需要逗号。循环后添加printf("\n")

就“理想的”C ++解决方案而言,它应该看起来很接近这个:

istream_iterator<double> eos;
istream_iterator<double> iit(cin); 
vector<double> score;
copy(iit, eos, back_inserter(score));
ostream_iterator<double> oit (cout, ", ");
copy(score.begin(), score.end(), oit);

但是,在研究C ++标准库及其迭代器的使用之前,讨论它仍然很难。

答案 1 :(得分:0)

您可以通过声明十个数字的数组来完成此操作。 你的代码在这里:

#include <stdio.h>
int main() {
int counter=0;
float allNumbers[10];
while(counter < 10) {
    scanf("%f",&allNumbers[counter]);
    counter++;
        }

printf("Your entered numbers are : \n");
counter=0;
while(counter < 10) {
    printf("%f , ",allNumbers[counter]);
    counter++;
        }
}