C语言输出100以内所有能被3整除但不能被5整除的正整数,按每行5个数的形式输出。
时间: 2023-05-21 13:01:36 浏览: 157
以下是代码:
```c
#include <stdio.h>
int main() {
int count = 0;
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 5 != 0) {
printf("%d ", i);
count++;
if (count % 5 == 0) {
printf("\n");
}
}
}
return 0;
}
```
输出结果为:
```
3 6 9 12 18
21 24 27 33 36
39 42 48 51 54
57 63 66 69 72
78 81 84 87 93
96 99
```
相关问题
用c语言编写程序,输入一个3位正整数,输出的范围在【100,x】的不能被3整除的非水仙花数,每行输出10个数字。水仙花数指每个位上的数字的3次幂之和等于它本身的3位数
在 C 语言中,你可以编写如下的程序来完成这个任务。首先,我们需要定义几个函数:判断是否为水仙花数、判断是否能被3整除以及输出序列。以下是整个程序的大致结构:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为水仙花数
bool is_armstrong_number(int num) {
int sum = 0, original_num, remainder;
original_num = num;
while (original_num != 0) {
remainder = original_num % 10;
sum += remainder * remainder * remainder;
original_num /= 10;
}
return sum == num;
}
// 判断是否能被3整除
bool is_divisible_by_3(int num) {
return num % 3 == 0;
}
// 输出10个符合条件的数字
void print_numbers_in_range(int start, int end) {
for (int i = start; i <= end && i % 10 != 0; i++) {
if (!is_armstrong_number(i) && !is_divisible_by_3(i)) {
printf("%d ", i);
if (--count == 9) { // 当计数器达到9时换行
printf("\n");
count = 0;
}
} else {
++count; // 如果是3的倍数或水仙花数,跳过并增加计数
}
}
}
int main() {
int input;
printf("请输入一个3位正整数: ");
scanf("%d", &input);
int lower_bound = 100;
int upper_bound = input;
print_numbers_in_range(lower_bound, upper_bound);
return 0;
}
```
在这个程序中,用户输入一个3位正整数作为上限,然后从100开始到这个上限,按每行打印10个符合条件(不是水仙花数且不能被3整除)的数字。
从键盘输入M,求[1,M]范围内能被7或11整除,但不能同时被7和11整除的整数。按每行8个数,每个数占5个字符且以左对齐的格式进行输出,可以用c语言循环嵌套的方法表示吗
你好!感谢您使用ChitGPT与我对话。
针对您的问题,可以用C语言中的循环嵌套和判断语句来实现。具体代码如下:
```c
#include <stdio.h>
int main()
{
int m;
printf("请输入一个正整数M:");
scanf("%d", &m);
int count = 0;
for (int i = 1; i <= m; i++) {
if ((i % 7 == 0 || i % 11 == 0) && i % 77 != 0) {
printf("%-5d", i);
count++;
if (count % 8 == 0) {
printf("\n");
}
}
}
return 0;
}
```
以上程序可以实现从键盘输入M,输出[1,M]范围内能被7或11整除,但不能同时被7和11整除的整数,并按每行8个数,每个数占5个字符且以左对齐的格式进行输出。
希望对您有所帮助!如果您还有其他问题,欢迎继续向我提问。
阅读全文