在C语言中,要编程输出尾数不为7的数,可以使用多种方法。以下是几种不同的实现方式:
方法一:使用嵌套循环
```c
include
int main() {
int a, b;
for (a = 0; a < 10; a++) {
for (b = 0; b < 10; b++) {
if (a != 7 && b != 7 && (a * 10 + b) % 7 != 0) {
printf("%d ", a * 10 + b);
}
}
}
printf("100"); // 100与7无关
return 0;
}
```
方法二:使用多个if语句
```c
include
int main() {
int i0, i1, i2, i3, i4, i5, i6;
for (i0 = 1; i0 <= 30; i0++) {
for (i1 = 2; i1 <= 30; i1++) {
for (i2 = 3; i2 <= 30; i2++) {
for (i3 = 4; i3 <= 30; i3++) {
for (i4 = 5; i4 <= 30; i4++) {
for (i5 = 6; i5 <= 30; i5++) {
for (i6 = 7; i6 <= 30; i6++) {
if (i0 == i1 || i0 == i2 || i0 == i3 || i0 == i4 || i0 == i5 || i0 == i6 ||
i1 == i2 || i1 == i3 || i1 == i4 || i1 == i5 || i1 == i6 ||
i2 == i3 || i2 == i4 || i2 == i5 || i2 == i6 ||
i3 == i4 || i3 == i5 || i3 == i6 ||
i4 == i5 || i4 == i6 || i5 == i6) {
continue;
}
printf("%d ", i0 * 1000 + i1 * 100 + i2 * 10 + i3 * 10 + i4 * 10 + i5 * 10 + i6);
}
}
}
}
}
}
}
return 0;
}
```
方法三:使用哈希表
```c
include include bool isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; } int countPrimes(int n) { bool prime; int count = 0; for (int i = 2; i <= n; i++) { if (isPrime(i)) { prime[i] = true; } } for (int i = 2; i <= n; i++) { if (prime[i]) { if (!prime[num - i]) { count++; } } } return count; } int main() { int n; scanf("%d", &n); printf("%d\n", countPrimes(n)); return 0; } ``` 方法四:输出两个数之间的素数,尾数为7的省略