随笔 - 223  文章 - 0  评论 - 78  阅读 - 68万

C/C++之循环结构

C语言中提供四种循环,即goto循环、while循环、do…while循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用。这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。

 

输入一个正整数n,输出n行由大写字母A开始构成的三角形字符阵列图形(字母超过“Z”从“A”开始输出)。

运行示例

Input n:7↙

A B C D E F G

H I J K L M

N O P Q R

S T U V

W X Y

Z A

B

这里给出除了goto以外的三个循环结构的示例代码。

一、for循环

复制代码
 1 #include<stdio.h>
 2 int main()
 3 {
 4     //n为行数 
 5     int i,j,n;
 6     printf("Input n:");
 7     scanf("%d",&n);
 8     for(i = 0; i < n; i++)
 9     {
10         for(j = 0; j < n-i; j++)
11             printf("%c ",(char)('A' + (i * (2 * n - i + 1)/2 + j) % 26));
12         printf("\n");
13     }
14     return 0; 
15 }
复制代码

 

二、while循环

复制代码
 1 #include<stdio.h>
 2 int main()
 3 {
 4     //n为行数 
 5     int i = 0, j, n;
 6     printf("Input n:");
 7     scanf("%d",&n);
 8     while(i < n)
 9     {
10         j = 0;
11         while(j < n - i)
12         {
13             printf("%c ",(char)('A' + (i * (2 * n - i + 1)/2 + j) % 26));
14             j++;
15         }
16         printf("\n");
17         i++;
18     }
19     return 0; 
20 }
复制代码

 

三、do...while循环

复制代码
 1 #include<iostream>
 2 using namespace std;
 3 int main(void)
 4 {
 5     //n为行数 
 6     int n;
 7     cout << "Input n:";
 8     cin >> n;
 9     int i = 0;
10     do{
11         int j = 0;
12         do
13         {
14             cout << (char)('A' + (i * (2 * n - i + 1)/2 + j) % 26) << " ";
15             j++;
16         }while(j < n - i);
17         cout << endl;
18         i++;
19     }while(i < n);
20     return 0; 
21 }
复制代码

 

 

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

posted on   Arthurian  阅读(1311)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示