编写程序,由键盘输入一个整数n,按照每行5个数的形式输出n之前(不包括n)连续20个不能被6整除的偶数,并输出这些数之和。其中,-200≤n≤200。
时间: 2024-03-03 08:52:57 浏览: 58
好的,我可以帮你编写这个程序。以下是代码实现:
```python
n = int(input("请输入一个整数n:"))
count = 0 # 记录输出的偶数个数
sum = 0 # 记录偶数之和
for i in range(n - 1, n - 21, -1): # 倒序输出前20个偶数
if i % 2 == 0 and i % 6 != 0: # 如果是偶数且不能被6整除
print(i, end='\t') # 输出偶数
count += 1
sum += i
if count % 5 == 0: # 每输出5个偶数换行
print()
print("\n偶数之和为:", sum)
```
请注意,这段代码中使用了循环和条件判断,可以根据输入的n倒序输出前20个符合条件的偶数,并且每行输出5个偶数,同时计算输出的偶数之和。
相关问题
c语言编写程序,由键盘输入一个整数n,按照每行5个数的形式输出n之前(不包括n)连续20个不能被6整除的偶数,并输出这些数之和。其中,-200≤n≤200。
好的,以下是C语言的实现代码:
```c
#include <stdio.h>
int main() {
int n, count = 0, sum = 0;
printf("请输入一个整数n:");
scanf("%d", &n);
for (int i = n - 1; i >= n - 20; i--) { // 倒序输出前20个偶数
if (i % 2 == 0 && i % 6 != 0) { // 如果是偶数且不能被6整除
printf("%d\t", i); // 输出偶数
count++;
sum += i;
if (count % 5 == 0) { // 每输出5个偶数换行
printf("\n");
}
}
}
printf("\n偶数之和为:%d\n", sum);
return 0;
}
```
这段代码与Python的实现类似,使用循环和条件判断,可以倒序输出前20个符合条件的偶数,并且每行输出5个偶数,同时计算输出的偶数之和。
检查代码是否有误 编写程序,由键盘输入一个整数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; }
在程序中,有以下几个问题:
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;
}
```
阅读全文