for( int i = 1;i <= n; ++ i )和for( int i = 1;i <= n; i++ 有什么区别)
时间: 2024-05-31 17:08:28 浏览: 11
这两个for循环的区别在于循环变量i的更新方式。
第一个for循环中,循环变量i没有被更新,因此循环条件始终为真,导致程序陷入无限循环状态,可能会导致程序崩溃或出现不可预期的结果。
第二个for循环中,循环变量i被更新为i++,每次循环i的值都会增加1,直到i的值大于n为止。这种更新方式可以保证循环会在一定的次数内结束,避免了无限循环的情况。
相关问题
#include <bits/stdc++.h> using namespace std; int bucket[1005]={0},a,cnt,n; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a; bucket[a]=1; } for(int i=0;i<=1000;i++) if(bucket[i]==1) cnt++; cout<<cnt<<endl; for(int i=0;i<=1000;i++) if(bucket[i]==1) cout<<i<<' '; cout<<endl; return 0; }给每一行代码加注释
```c++
#include <bits/stdc++.h> // 引入所有常用标准库头文件
using namespace std;
int bucket[1005]={0},a,cnt,n; // 定义桶数组,a 为输入的数,cnt 为不同数的个数,n 为输入的数的个数
int main() {
cin>>n; // 输入数的个数
for(int i=1;i<=n;i++) // 循环读入每个数,并统计到桶数组中
{
cin>>a;
bucket[a]=1;
}
for(int i=0;i<=1000;i++) // 遍历桶数组,统计不同数的个数
if(bucket[i]==1)
cnt++;
cout<<cnt<<endl; // 输出不同数的个数
for(int i=0;i<=1000;i++) // 遍历桶数组,输出不同的数
if(bucket[i]==1)
cout<<i<<' ';
cout<<endl; // 输出换行
return 0;
}
```
#include<iostream> #include<string> #include<math.h> using namespace std; int main(){ int m,n; cin>>m>>n; int a[m+5][n+5]; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) cin>>a[i][j]; int r,s; cin>>r>>s; int b[r+5][s+5]; for(int i=1;i<=r;i++) for(int j=1;j<=s;j++) cin>>b[i][j]; int minX=1; int minY=1; int min=10000000; for(int u=1;u<=m-r+1;u++) for(int v=1;v<=n-s+1;v++){ int sum=0; for(int i=1;i<=r;i++){ for(int j=1;j<=s;j++){ sum+=abs(a[u+i-1][v+j-1]-b[i][j]); } } if(sum<min){ minX=u; minY=v; min=sum; } } for(int i=1;i<=r;i++){ for(int j=1;j<=s;j++){ cout<<a[minX+i-1][minY+j-1]<<' '; } cout<<endl; } return 0; }改为c语言
把代码中的"cout"改为"printf",去掉命名空间,整体代码如下:
#include <stdio.h>
#include <string.h>
#include <math.h>
int main() {
int m, n;
scanf("%d%d", &m, &n);
int a[m + 5][n + 5];
for (int i = 1; i <= m; i++)
for (int j = 1; j <= n; j++)
scanf("%d", &a[i][j]);
int r, s;
scanf("%d%d", &r, &s);
int b[r + 5][s + 5];
for (int i = 1; i <= r; i++)
for (int j = 1; j <= s; j++)
scanf("%d", &b[i][j]);
int minX = 1;
int minY = 1;
int min = 10000000;
for (int u = 1; u <= m - r + 1; u++)
for (int v = 1; v <= n - s + 1; v++) {
int sum = 0;
for (int i = 1; i <= r; i++) {
for (int j = 1; j <= s; j++) {
sum += abs(a[u + i - 1][v + j - 1] - b[i][j]);
}
}
if (sum < min) {
minX = u;
minY = v;
min = sum;
}
}
for (int i = 1; i <= r; i++) {
for (int j = 1; j <= s; j++) {
printf("%d ", a[minX + i - 1][minY + j - 1]);
}
printf("\n");
}
return 0;
}
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.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)