c语言循环嵌套的练习
时间: 2024-06-13 18:09:36 浏览: 107
以下是两个C语言循环嵌套的练习:
1. 输出乘法口诀表
```c
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++)
printf("%d*%d=%d\t", j, i, j * i);
printf("\n");
}
return 0;
}
```
2. 求100以内的素数,每行输出10个
```c
#include <stdio.h>
#include <math.h>
int main() {
int i, n, k, count = 0;
n = 2;
while (n < 100) {
k = sqrt(n);
for (i = 2; i <= k; i++)
if (n % i == 0)
break;
if (i > k) {
printf("%4d", n);
if (++count % 10 == 0)
printf("\n");
}
n++;
}
return 0;
}
```
相关问题
c语言for循环嵌套题目
### C语言 For 循环嵌套练习题与示例
#### 示例一:打印矩形图案
使用双重 `for` 循环可以轻松创建各种图形。以下是一个简单的例子,用于打印由星号组成的矩形。
```c
#include <stdio.h>
int main() {
int rows = 5;
int cols = 7;
for (int i = 0; i < rows; ++i) { // 控制行数
for (int j = 0; j < cols; ++j) { // 控制列数
printf("* ");
}
printf("\n");
}
return 0;
}
```
这段代码将输出一个五行七列的矩形,每一行都充满了星号[^1]。
#### 示例二:九九乘法表
经典的编程教学案例之一就是实现九九乘法表。这不仅展示了如何利用两个嵌套的 `for` 循环来遍历二维数据集,还帮助理解了控制流的重要性。
```c
#include <stdio.h>
int main() {
for (int i = 1; i <= 9; ++i) {
for (int j = 1; j <= i; ++j) {
printf("%d*%d=%-2d ", j, i, i * j);
}
printf("\n");
}
return 0;
}
```
上述程序实现了上三角形式的九九乘法表,其中 `-2d` 是为了使输出更加整齐美观[^2]。
#### 示例三:查找最大值
假设有一个整型数组,并希望找到该数组的最大元素位置及其对应的索引。可以通过内外两层 `for` 循环完成这一任务:
```c
#include <stdio.h>
#define SIZE 6
void findMaxIndex(int arr[], size_t n);
int main(void){
int numbers[SIZE] = {-8, 34, -56, 78, 90, 1};
findMaxIndex(numbers, SIZE);
return 0;
}
// 查找并打印最大值的位置以及其数值
void findMaxIndex(int arr[], size_t n){
int maxVal = arr[0];
int index = 0;
for(size_t outer = 0; outer < n ;outer++){
if(maxVal < arr[outer]){
maxVal = arr[outer];
index = outer;
}
for(size_t inner = outer + 1;inner<n;inner++){}
// 这里故意留空,展示单重循环即可解决问题,
// 双重只是为了示范目的而存在。
printf("The largest value is %d at position %zu.\n",maxVal,index);
}
}
```
注意,在这个特定的例子中,实际上并不需要内部循环;这里只是用来说明如何构建更复杂的逻辑结构。实际应用时应当简化不必要的部分以提高性能和可读性[^3]。
输出九九乘法表 用c语言的循环嵌套
在C语言中,可以使用双重for循环来生成九九乘法表。这是一种常见的编程练习,通过嵌套循环分别控制行和列的变化,然后打印出对应的乘积。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 9; i++) { // 循环遍历1到9
for (j = 1; j <= i; j++) { // 内层循环遍历1到当前行数
printf("%d*%d=%2d ", j, i, i*j); // 打印乘积,用占位符确保对齐
}
printf("\n"); // 每打印完一行换行
}
return 0;
}
```
这个程序会输出类似这样的九九乘法表:
```
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
...
```
阅读全文
相关推荐














