c++基础算法模块(循环筛,累加器,累乘器,计次器)(for遍历循环,计次循环)

循环程序的结构设计

for语句

for遍历循环+sum(i++)累加器

【题目描述】

利用for循环。计算输出1+2+3+…+n1+2+3+…+n的和。

  • 先做for遍历循环
int n;
cin >> n;//循环的判断语句要用
			//循环变量i代表了累加的对象
for ( int i = 1; i <= n; i++ )
{			//i = 1 代表sum=0从i为1的时候开始加
    
}
  • (有限)累加器定义
 int sum = 0;
     sum += 1
   	 sum += 2
     sum += 3
     .......
  //将后面的数字替换成i
 //就可以和遍历循环结合在一起
  • 答案
int n;
cin >> n;//设置累加的终点

for ( int i = 1 ; i <= n ; i++ )
{
    int sum = 0;
    sum += i 
        //这两行代码就是所谓的累加器
        //注意:累加器初值要归零
}

for遍历循环+if循环筛

【题目描述】

按照由小到大的顺序,输出1∼n之间的所有偶数。

  • 先做for遍历循环
int n;
cin >> n;
		//i是循环变量,本题也是输入的数字对象
for ( int i = 1; i <= n ; i++)
{		//i;i++代表了由小到大输出的1、2、3...
    	//n代表了i的最大值
}
  • 再做if循环筛
if( i % 2 == 0)
{
    cout << i << " " ;//因为是多次输出,记得有空格
}
    
  • 答案
int n;
cin >> n;
for ( int = 1; i <= n; i++)
{
    if ( i % 2 == 0)
    {
        cout << i << " ";
    }
}

for遍历循环+s(i++)累乘器

【题目描述】

利用for循环,分别输出1∼n1∼n之间的所有奇数的和、偶数的和。

  • 先做for遍历循环
int n;
cin >> n;

for ( int i = 1;i <= n; i++)
{
    
}
  • 再做s累乘器
long s = 1;//累乘后有可能会超范围;最好用long
s *= 1;
s *= 2;
s *= 3
.....
    //将i把右边的1、2、3..替换掉
    //即i的初值为1
    
  • 答案
long n ;
cin >> n;
for ( int = 2 ; i <= n ; i++)
{
    s *= i;
}

for计次循环+输入n个数+累加器

【题目描述】

班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

  • 计数(次)器
int cnt =0;
cnt = cnt +1;//第一次+1		//化简写法:
cnt = cnt +1;//第二次+1		//int i = 0;
cnt = cnt +1;//第三次++		//i++
cnt = cnt +1;//第四次+1		//cout << i;
...			//第n次+1
cou  << cnt;
//此时输出的cnt 就是总共加了几次(次数)
  • for其实自带计数器
int n ;
cin >> n;
for( int i=1; i <=n; i++)//i此时代表了循环的次数
{						//循环的次数可能又有别的含义
    					
    
}
  • 输入n个数
for ( int i = 1;i <= n; i++)
{				//此处的i表示是输入age的次数
    			//n是终点
    int age
    cin >> age;
}
  • 累加器
int sum = 0;
sum += age //(这里其实就是sum++的类比使用)
 		//sum++ 其实就是sum += 1
    	//也是 sum = sum +1
cout << sum;
  • 答案(将上述算法综合即可)
int n;
cin >> n;
for(int i= 1; i <= n; i++)
{
    int age;
    cin >> age ;
    sum += age ;
}
double avg = sum *1.0 / n;
cout ........即可
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧州岑溪喜欢吃蛋糕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值