for(i=1;i<9;i+=1)
时间: 2023-06-08 11:05:51 浏览: 43
这段代码有什么问题?
这段代码的问题是循环中的 i=1 语句将导致循环无限执行下去,因为每次循环时 i 都被赋值为 1,而不是递增。应将 i 初始化为一个大于等于 1 的值,或者将循环条件更改为 i < 9。
相关问题
以下for语句,书写错误的是A.for(i=1;i<5;i=i+2) B.for(i=1,i<5,)i++; C.for(i=1,i<5,i++) D.i=1;for(i<5;i++)
### 回答1:
选项 B. `for(i=1,i<5,)i++;` 是书写错误的。
在 for 循环中,括号内的三个表达式分别表示循环变量的初始化、循环条件和循环变量的更新。这三个表达式之间使用分号 `;` 分隔。因此,选项 A、C、D 中的 for 循环语句都是正确的。
而选项 B 中的 for 循环语句中,第二个表达式缺少了分号,应该改为 `for(i=1; i<5; ) i++;`,或者在第二个表达式中增加一个逗号 `,`,表示省略了循环条件,例如 `for(i=1, ; i<5; ) i++;`。
### 回答2:
错误的是C.for(i=1,i<5,i)。正确的写法应该是C.for(i=1;i<5;i)。
在for循环语句中,有三个部分组成:初始化部分、循环条件部分和迭代部分。在本题中,A、B和D三个选项都存在写法错误。
A选项中,迭代部分应该是"i=i+2"而不是"i 2",表示每次循环后i的值增加2。
B选项中,逗号用于分隔多个初始值或迭代部分的表达式,但在i<5后的逗号后没有写入新的初始值或迭代表达式,应该删除该逗号。
D选项中,应该使用for循环的标准格式,即将初始值的赋值操作移动到循环语句之前,正确写法应该是"for(i=1;i<5;i++)",表示循环开始前i的初始值为1,每次循环后i的值增加1。
因此,错误的是C选项,应该改为C.for(i=1;i<5;i)。
### 回答3:
正确答案是B.for(i=1,i<5,)i ;
for语句的基本形式为:for (初始化; 循环条件; 循环表达式)。在选项B中,循环条件后没有分号,同时逗号应该作为分隔符,用于分隔初始化和循环表达式。所以选项B的for语句书写错误。修正后的正确形式应为:for(i=1; i<5; i++)。
封装成函数: for(int i = 8; i <= 15; i++){ num[index++] = a4[i]; } for(int i = 8; i <= 15; i++){ num[index++] = a3[i]; } for(int i = 8; i <= 15; i++){ num[index++] = a2[i]; } for(int i = 8; i <= 15; i++){ num[index++] = a1[i]; } for(int i = 0; i <= 7; i++){ num[index++] = a1[i]; } for(int i = 0; i <= 7; i++){ num[index++] = a2[i]; } for(int i = 0; i <= 7; i++){ num[index++] = a3[i]; } for(int i = 0; i <= 7; i++){ num[index++] = a4[i]; } for(int i = 23; i >= 16; i--){ num[index++] = a1[i]; } for(int i = 23; i >= 16; i--){ num[index++] = a2[i]; } for(int i = 23; i >= 16; i--){ num[index++] = a3[i]; } for(int i = 23; i >= 16; i--){ num[index++] = a4[i]; } for(int i = 24; i <= 31; i++){ num[index++] = a4[i]; } for(int i = 24; i <= 31; i++){ num[index++] = a3[i]; } for(int i = 24; i <= 31; i++){ num[index++] = a2[i]; } for(int i = 24; i <= 31; i++){ num[index++] = a1[i]; } for(int i = 40; i <= 47; i++){ num[index++] = a4[i]; } for(int i = 40; i <= 47; i++){ num[index++] = a3[i]; } for(int i = 40; i <= 47; i++){ num[index++] = a2[i]; } for(int i = 40; i <= 47; i++){ num[index++] = a1[i]; } for(int i = 39; i >= 32; i--){ num[index++] = a1[i]; } for(int i = 39; i >= 32; i--){ num[index++] = a2[i]; } for(int i = 39; i >= 32; i--){ num[index++] = a3[i]; } for(int i = 39; i >= 32; i--){ num[index++] = a4[i]; } for(int i = 55; i >= 48; i--){ num[index++] = a1[i]; } for(int i = 55; i >= 48; i--){ num[index++] = a2[i]; } for(int i = 55; i >= 48; i--){ num[index++] = a3[i]; } for(int i = 55; i >= 48; i--){ num[index++] = a4[i]; } for(int i = 56; i <= 63; i++){ num[index++] = a4[i]; } for(int i = 56; i <= 63; i++){ num[index++] = a3[i]; } for(int i = 56; i <= 63; i++){ num[index++] = a2[i]; } for(int i = 56; i <= 63; i++){ num[index++] = a1[i]; }
可以将这段代码封装成一个函数,函数的输入参数为四个数组 a1, a2, a3, a4,输出为一个长度为 64 的一维数组 num。代码如下:
```c++
void arrangeArray(int a1[], int a2[], int a3[], int a4[], int num[]) {
int index = 0;
for(int i = 8; i <= 15; i++) {
num[index++] = a4[i];
}
for(int i = 8; i <= 15; i++) {
num[index++] = a3[i];
}
for(int i = 8; i <= 15; i++) {
num[index++] = a2[i];
}
for(int i = 8; i <= 15; i++) {
num[index++] = a1[i];
}
for(int i = 0; i <= 7; i++) {
num[index++] = a1[i];
}
for(int i = 0; i <= 7; i++) {
num[index++] = a2[i];
}
for(int i = 0; i <= 7; i++) {
num[index++] = a3[i];
}
for(int i = 0; i <= 7; i++) {
num[index++] = a4[i];
}
for(int i = 23; i >= 16; i--) {
num[index++] = a1[i];
}
for(int i = 23; i >= 16; i--) {
num[index++] = a2[i];
}
for(int i = 23; i >= 16; i--) {
num[index++] = a3[i];
}
for(int i = 23; i >= 16; i--) {
num[index++] = a4[i];
}
for(int i = 24; i <= 31; i++) {
num[index++] = a4[i];
}
for(int i = 24; i <= 31; i++) {
num[index++] = a3[i];
}
for(int i = 24; i <= 31; i++) {
num[index++] = a2[i];
}
for(int i = 24; i <= 31; i++) {
num[index++] = a1[i];
}
for(int i = 40; i <= 47; i++) {
num[index++] = a4[i];
}
for(int i = 40; i <= 47; i++) {
num[index++] = a3[i];
}
for(int i = 40; i <= 47; i++) {
num[index++] = a2[i];
}
for(int i = 40; i <= 47; i++) {
num[index++] = a1[i];
}
for(int i = 39; i >= 32; i--) {
num[index++] = a1[i];
}
for(int i = 39; i >= 32; i--) {
num[index++] = a2[i];
}
for(int i = 39; i >= 32; i--) {
num[index++] = a3[i];
}
for(int i = 39; i >= 32; i--) {
num[index++] = a4[i];
}
for(int i = 55; i >= 48; i--) {
num[index++] = a1[i];
}
for(int i = 55; i >= 48; i--) {
num[index++] = a2[i];
}
for(int i = 55; i >= 48; i--) {
num[index++] = a3[i];
}
for(int i = 55; i >= 48; i--) {
num[index++] = a4[i];
}
for(int i = 56; i <= 63; i++) {
num[index++] = a4[i];
}
for(int i = 56; i <= 63; i++) {
num[index++] = a3[i];
}
for(int i = 56; i <= 63; i++) {
num[index++] = a2[i];
}
for(int i = 56; i <= 63; i++) {
num[index++] = a1[i];
}
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![js](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)