暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C++笔记 | for

chkl 2025-07-01
119

使用for循环输出1到100

for(  int i=1 ; i<=100 ;   i++ )  //  控制变量初始化表达式 、循环条件表达式、增量表达式
{
      cout << i << “ ”;
}

1750990354029.png

break关键字

break:中断所在循环体,跳出本层循环

continue关键字

continue:跳出当前循环,继续执行下一次循环

完全数

由题中数据范围可知,最大测试数据时间可达10的8次方100 那就是100亿了 肯定超时了;使用数学函数,sqrt 作为限制循环次数的条件,而另外一个约数则由输入数x除以当前的循环的约数,即可求得另一约数;优化过后,复杂度为O(10^4100) 100万。

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int n,x,sum=0;
    cin >> n;
    for(int i=0;i<n;i++)
    {
        cin >> x;
        if(x==1) cout << x << " is not perfect" << endl;
        else
        {
            sum+=1;
            for(int j=2;j<=sqrt(x);j++) 
            {
                if(x%j==0)
                {
                    int y=x/j;
                    if(y==j) sum=sum+j;
                    else sum=sum+j+x/j;
                }
            }
            if(sum==x) cout << x << " is perfect" << endl;
            else cout << x << " is not perfect" << endl;
        }
        sum=0;
    }
    return 0;
}

循环嵌套

一个循环的循环体内包含另外一个循环语句,这样的编程方式称之为“循环的嵌套”。循环嵌套时,外层循环执行一次,内层循环从头到尾执行一遍。3种循环(while循环、do-While循环和for循环)不仅可以自身嵌套,而且还可以互相嵌套。
外层循环控制行,内层循环控制列,总循环次数=内层循环次数*外层循环次数
输出5行星星组成的三角形

#include <iostream>
using namespace std;
int main()
{
  for(int i=1;i<=5;i++)
  {
  	 for(int j=1;j<=i;j++)
  	 {
  	 	cout<<"*"<<" ";
	   }
      cout<<endl;
  }
}

打印菱形

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(abs(i-n/2)+abs(j-n/2)>n/2) cout<<" ";
            else cout<<"*";
        }
        cout<<endl;
    }
}
最后修改时间:2025-07-01 08:47:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论