只需编写一些代码来使用冒泡排序对数组进行排序,但在开始时我甚至无法定义数组并将其打印出来。
代码:
#include <stdio.h>
int main () {
int test[] = {9,9,9,9,9}; //define array
test[2] = 3;
bool checker = false; //is it sorted?
int i = 0;
for(int i = 0; i<=4; i++) //set random numbers for array
{
int g;
g = 4+i;
test[i] = g;
i++;
}
for (int i = 0; i <= 4; ++i ) //print array as normal
{
printf(", ", test[i]);
}
执行时总是输出:
, , , ,
所以数组是空的?或者我打印错了?还是什么?
答案 0 :(得分:4)
你打印错了。
您要打印的行应为printf("%d, ", test[i]);
也不是说您已将问题标记为C ++,而是使用C相关术语。您的#include <stdio.h>
应替换为#include <iostream>
,您应该使用cout
代替printf
来输出数据。
答案 1 :(得分:0)
您的代码中存在两个问题。
首先,初始'for'循环使用'i'作为其计数器变量,并且您的增量条件为'i ++'。这意味着'i'会在每次循环迭代中自动递增;但是在循环中,你指定'i ++',意味着每次传递你都会看到'i'的值两次。消除无关的增量。
其次,您正在错误地打印数组。您需要添加一个格式限定符,例如'%d',以告诉printf使用第一个参数作为该说明符的替代。
最后,你已经为这段代码指出了C ++,但事实并非如此。这是经典的C。