C++之循环结构/动态规划(dp)讲义

本文的原文链接

一、上一讲复习习题

(每题 1 1 1 分,共 4 4 4 分)

1.下面代码的错误有哪些?

if(n%2==0){
   
	cout<<"Is a even.";
	else{
   
		cout<<"Is a odd."
	}
}
  • n未定义,且没有初始值。
  • else语句写的位置错误,应在if语句的后面写。
  • 第四行cout<<"Is a odd."处没有分号。
  • else在C++中没有定义,压根不能用,而不是位置错。

2.这个判断闰年的核心代码,是对的还是错的?

//year表示当前年份
cin>>year;
if(n/4==0&&n%400!=0){
   
	cout<<"Is a leap.";
}
if(n%400==0){
   
	cout<<"Is a leap.";
}
else{
   
	cout<<"Is not a leap.";
}
  • 正确。
  • 错误。有_______处错误。

3.下面是洛谷 P5716的核心代码,请说出下面代码的问题。

//year表示年份,month表示月份,isleap表示是否为闰年。
cin>>year>>month;
if(year%4==0||year%400==0){
   
	isleap=true;
} 
else{
   
	isleap=false;
}
if(month=1||month=3||month=5||month=7||month=8||month=10||month=12){
   
	cout<<"31"<<endl;
}
else if(month==4&&month==6&&month==9&&month==11){
   
	cout<<"30"<<endl;
}
else if(month==2){
   
	if(isleap){
   
		cout<<"29"<<endl;
	}
	else{
   
		cout<<"28"<<endl;
	}
}
  • 答:______________________________________________________________________________________________________。

4.读程序选输出。阅读程序,选择它的正确输出。(禁止运行程序)

#include<iostream>
using namespace std;
int main(){
   
	int b=4,a=1,c=4;
	int root=b*b-4*a*c;
	if(root>0){
   
		cout<<"2"<<endl;
	}
	else if(root==0){
   
		cout<<1<<endl;
	}
	else{
   
		cout<<0<<endl;
	}
	return 0;
}
  • "1"
  • 没有输出
  • 0
  • 1
  • "2"

二、循环结构课堂讲义

引导、概念普及

概念1:程序设计结构基础三要素:顺序结构、分支结构、循环结构

概念2:程序设计基础掌握内容:顺序结构、分支结构、循环结构、一/多维数组、字符串、函数/函数递归的理解

一、for循环

我们要列举大于等于数字 1 1 1 ,小于数字 6 6 6 的数字,怎么办呢?相信同学们都已经想好怎么写了,核心代码如下:

cout<<1<<endl;
cout<<2<<endl;
cout<<3<<endl;
cout<<4<<endl;
cout<<5<<endl;

如果我们要列举 99 99 99 个数, 999 999 999 个数, 9999 9999 9999 个数, 99999 99999 99999 个甚至更多的数,用这种方法岂不太低效了?

别急,我们可以用for循环解决。列举 1 1 1 99 99 99 的数的核心代码如下:

for(int i=1;i<100;i=i+1){
   
	cout<<i<<endl;
}

这里每个部分是什么呢?

for关键字到}结束的地方称为for循环。它是一种循环结构

for后面()内三个部分由;分隔,分别表示:进入循环前执行的语句(循环初始化)循环继续执行一次的条件判断(循环条件)每一次循环执行后会执行的语句(循环后执行语句)

任务1:分别输出 1 1 1 100 , 1000 , 10000 , 100000 , 1000000 100,1000,10000,100000,1000000 100,1000,10000,100000,1000000 的连续数字,想想怎么做?提示:我们可以用for循环解决问题。( 3 3 3 分)

答案:标程链接

任务2: 100 100 100 以内的正偶数。提示:每次i不一定+1,或用if解决问题?( 3 3 3 分)

答案:标程链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值