检查代码是否有误 编写程序,由键盘输入一个整数n,按照每行5个数的形式输出n之前(不包括n)连续20个不能被6整除的偶数,并输出这些数之和。其中,-200≤n≤200。 #include<stdio.h> #include<conio.h> int main() { int i,n,sum=0,cout=0; scanf("%d",&n); if(n<=-200 || n>=200) printf("输入的数值超出指定范围!\n"); else for(i=0;i<n;i++) { if(i%6!=0) sum+=i; cout+=1; printf("%-5d",i); if(cout=20) break; printf("%d\n",sum); } getch(); return 0; }
时间: 2023-12-04 22:05:52 浏览: 39
在程序中,有以下几个问题:
1. 在第9行,应该将条件判断符号由“<=”改为“<”,以符合题意。
2. 在第13行,应该将“i%6!=0”改为“i%6==0”,才能输出20个不能被6整除的偶数。
3. 在第15行,应该将“cout+=1;”放在“if(i%6==0)”的后面,才能正确计数。
4. 在第16行,应该将“cout=20”改为“cout==20”,才能正确判断循环次数。
5. 在第18行,应该将“printf("%d\n",sum);”放在“if(cout==20)”的后面,才能正确输出结果。
下面是修改后的代码:
```c
#include<stdio.h>
#include<conio.h>
int main() {
int i, n, sum = 0, count = 0;
scanf("%d", &n);
if (n <= -200 || n >= 200)
printf("输入的数值超出指定范围!\n");
else {
for (i = 0; i < n; i++) {
if (i % 6 != 0 && i % 2 == 0) {
sum += i;
count += 1;
printf("%-5d", i);
if (count == 20) {
printf("\n%d\n", sum);
break;
}
}
}
}
getch();
return 0;
}
```