【Educoder】【综合练习—C&C++循环结构】
【综合练习—C&C++循环结构】
C和C++中的循环结构是程序设计中非常重要的一部分,它们允许代码块在特定条件下重复执行。这些循环结构主要有以下几种:
for循环:for循环允许你对一个计数器进行操作,可以指定初始值、执行条件和计数器的增量。它在满足指定条件的情况下重复执行语句块。在C++中,for循环的基本语法如下:for(initialization; condition; increment) { statements; },其中,initialization设置计数器的初始值,condition表示执行循环的条件,increment是每次循环完成后计数器增加的值,statements则是要执行的语句块。
while循环:while循环在循环入口处判断循环条件,当条件为真时执行循环体,即先判断再循环。
do…while循环:do…while循环先执行一次循环体,然后在循环出口处判断循环条件,当条件为真时继续循环,即先循环一次再判断。
此外,C语言还提供了一种goto循环,但一般不提倡使用,因为强制改变程序的顺序可能会给程序的运行带来不可预料的错误。
在实际编程中,我们通常会根据具体的需求来选择使用哪种循环结构。例如,如果需要在循环开始前就知道循环的次数,那么for循环可能是个好的选择;如果循环的次数依赖于循环体内部的某些操作,那么while或do…while循环可能更为合适。
除了基本的循环结构外,C和C++还提供了循环控制语句,如break和continue,用于改变循环的执行顺序。break语句用于在循环中跳出当前循环,而continue语句则用于跳过剩下的循环体语句,直接进行循环条件判断,开始下一轮循环。
总的来说,循环结构是C和C++编程中的重要组成部分,它们可以帮助我们处理重复的任务,提高程序的效率和可读性。
循环输出英文字母
#include <iostream>
using namespace std;
int main()
{
/********* Begin *********/
char letter;
cin >> letter;
if (letter != 'a' && letter != 'A')
cout << "Error";
else if (letter == 'a')
{
for (int variable = 0;variable <= 25;variable++)
cout << (char)(letter + variable);
}
else
{
for (int variable = 0;variable <= 25;variable++)
cout << (char)(letter + variable);
}
/********* End *********/
return 0;
}
水仙花数
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
/********* Begin *********/
for (int narcissistic = 100;narcissistic < 1000;narcissistic+=1)
{
int sum{}, transfer = 0;
transfer = narcissistic;
for (int warehouse = 1;warehouse <=3 ;warehouse++)
{
sum += pow((narcissistic % 10), 3);
narcissistic /= 10;
}
if (sum == transfer)
cout << transfer<<" ";
narcissistic = transfer;
}
/********* End *********/
return 0;
}
完数
#include <iostream>
using namespace std;
int main()
{
/********* Begin *********/
for (int perfect = 1;perfect <= 1000;perfect++)
{
int sum=0,i=1;
while (i < perfect)
{
if (perfect % i == 0)
sum += i;
i++;
}
if (sum == perfect)
cout << perfect << " ";
}
/********* End *********/
return 0;
}
求整数位数
#include <iostream>
using namespace std;
int main()
{
/********* Begin *********/
int integer;
int variable = 1;
cin >> integer;
if (integer < 0)
cout << "Error";
else
{
for (;integer / 10 != 0;variable++)
{
integer /= 10;
}
cout << variable;
}
/********* End *********/
return 0;
}
字符菱形
#include <iostream>
using namespace std;
int main() {
int n, i, j, space;
cin >> n;
space = n - 1;
// 上半部分
for (i = 0; i < n; i++)
{
for (j = 0; j < space; j++)
cout << " ";
space--;
for (j = 0; j <= i; j++)
cout << (char)('A'+j);
for (int m=1;m <= i;m++)
cout << (char)(('A'+j)-(m+1));
cout << endl;
}
space = 1;
// 下半部分
for (i = n - 1; i >= 0; i--)
{
for (j = 0; j < space; j++)
cout << " ";
space++;
for (j = 0; j <= i - 1; j++)
cout << (char)('A'+j);
for (int m = 1;m < i;m++)
cout << (char)(('A' + j) - (m + 1));
cout << endl;
}
return 0;
}