循环实现
在(3)中我们首次引入了循环这一概念。下面我用几道题来帮助大家更好的理解C语言中的循环
1.使用for循环打印直角三角形
#include <stdio.h>
int main() {
int n;
// 获取用户输入的高度
printf("请输入直角三角形的高度: ");
scanf("%d", &n);
// 使用嵌套的 for 循环打印直角三角形
for (int i = 1; i <= n; i++) {
for (int j = 0; j < i; j++) {
printf("*");
}
printf("\n"); // 换行
}
2.使用for循环打印金字塔
#include <stdio.h>
int main() {
int n;
// 获取用户输入的高度
printf("请输入金字塔的高度: ");
scanf("%d", &n);
// 使用嵌套的 for 循环打印金字塔
for (int i = 1; i <= n; i++) {
// 打印空格
for (int j = i; j < n; j++) {
printf(" ");
}
// 打印星号
for (int k = 1; k <= (2 * i - 1); k++) {
printf("*");
}
printf("\n"); // 换行
}
return 0;
}
3.使用for循环打印下三角九九乘法表
#include <stdio.h>
int main() {
// 使用嵌套的 for 循环打印下三角九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
printf("%d*%d=%-2d ", j, i, i * j); // %-2d 用于对齐输出
}
printf("\n"); // 换行
}
return 0;
}
4.使用for循环打印上三角九九乘法表
#include <stdio.h>
int main() {
// 使用嵌套的 for 循环打印上三角九九乘法表
for (int i = 1; i <= 9; i++) {
// 打印空格
for (int j = 1; j < i; j++) {
printf(" "); // 每个位置占7个字符宽度
}
// 打印星号和乘法表达式
for (int k = i; k <= 9; k++) {
printf("%d*%d=%-2d ", i, k, i * k); // %-2d 用于对齐输出
}
printf("\n"); // 换行
}
return 0;
}
5打印字母图形
#include <stdio.h>
int main() {
char A1 = 'F';
int rows = 6; // 总共有6行
// 使用嵌套的 for 循环打印字母图形
for (int i = 0; i < rows; i++) {
// 打印_
for (int j = 0; j < i; j++) {
printf("_");
}
// 打印字母
for (int k = 0; k <= i; k++) {
printf("%c", A1 - k);
}
printf("\n"); // 换行
}
return 0;
}
6求3-100中的所有质数(只能被1和数本身整除的数)
#include <stdio.h>
// 判断一个数是否为质数的函数
int panduan(int n) {
if (n <= 1) return 0; // 0表示假
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return 0; // 0表示假
}
return 1; // 1表示真
}
int main() {
printf("3到100之间的质数有:\n");
for (int num = 3; num <= 100; num++) {
if (panduan(num)) {
printf("%d ", num);
}
}
printf("\n");
return 0;
}
7求1000-10000中的所有四叶玫瑰数(个位^4+十位^4+百位^4+千位^4==数本身)
#include<stdio.h>
int main()
{
int a1,a2,a3,a4,b=0;
for(int i=1000;i<10000;i++)
{
a1=i%10;
a2=i/10%10;
a3=i/100%10;
a4=i/1000;
if(a1*a1*a1*a1+a2*a2*a2*a2+a3*a3*a3*a3+a4*a4*a4*a4==i)
{
printf("%d,",i);
b++;
}
}
printf("是四叶玫瑰数,一共有%d个",b);
}