【GESP 1-4】do-while循环

do-while循环;格式化输出printf();格式化输入scanf()

一、do-while循环

do{
    循环体;
}while(条件);
do{
    语句1;
    语句2;
    ……
    语句n;
}while(条件表达式);

说明:
循环体部分可以由多个语句构成,应由一对花括号括起来,构成一个语句块的形式。

do-while语句执行过程:
1. 执行一遍循环体;
2. 求出作为循环条件的条件表达式的值,若为逻辑值真则自动转向第1步,否则结束do循环体的执行过程,继续执行其后面的语句;
3. 在do语句的循环体中也可以使用break语句,用它来非正常结束循环的执行。

注意要点:
1. 建议将循环体用{ }括起来,如果循环体只有一条语句,则可以省去{ }
2. 循环体采用缩进格式;
3. while(条件表达式)行末有分号;
4. 为避免死循环,循环体中至少包含一条改变循环条件的语句条件表达式

二、格式化输出 printf()
需要头文件 cstdio

printf("格式字符串", 表达式1, 表达式2, ...)

例如:printf("a=%d,a=%4d",a,a);,若a=1,则这个语句的结果是a=1,a= 1
三、格式化输入 scanf()
需要头文件 cstdio

scanf(格式控制符,地址列表)

例如,输入两个整数a、b,中间用空格分隔

int a,b;
scanf("%d %d",&a,&b)

功能相当于:

int a,b;
cin>>a>>b;

四、格式控制输入输出的类型

%d    //整型 int
%ld    //长整型 long
$lld    //长整型 long long
%f    //单精度实型 float
%lf    //双精度实型 double
%c    //字符型 char
%s    //字符串型 string

%ms:输出的字符串占m列。若大于m则全部输出,若小于m则右对齐,左边补空格
%-ms:同上,但左对齐,右边补空格
%m.nf:输出浮点数,占m列,其中有n位小数,如果数值长度小于m,则左边补空格
%-m.nf:同上,但左对齐,右边补空格

未参加训练计划时您不能查看题目详情。

章节 1. for循环复习2

开放

题目 递交 % AC 难度
P1014 7的倍数之和 RP+75 122 26 6
P1034 求算式中的三位数 RP+87 35 46 4
P1035 输出菱形 RP+88 41 34 5

章节 2. while循环复习1

开放

题目 递交 % AC 难度
P1036 互质的对数 RP+91 25 44 5
P1037 莱布尼兹级数计算圆周率 RP+92 55 16 7

章节 3. do-while循环

开放

题目 递交 % AC 难度
P1038 密码检测 RP+100 23 0 10
P1039 回文数判断 RP+87 36 42 5
P1040 统计字母和数字的个数 RP+92 23 39 6
P1041 阶乘之和 RP+88 58 24 6
P1042 数字出现的次数 RP+89 39 33 5

章节 4. do-while循环复习【GESP 3-4】

开放

题目 递交 % AC 难度
P1105 输出10个数中的指定数 RP+100 0 ? (无)
P1006 判断组成三角形 RP+73 111 32 5
P1007 商店促销活动 RP+75 132 24 6
P1011 高斯求和 RP+75 146 22 7
P1101 分数求和 RP+100 2 0 10
P1102 求整数的阶乘 RP+100 3 0 10
P1041 阶乘之和 RP+88 58 24 6
P1108 求正数和负数之和 RP+100 0 ? (无)
P1030 求最大公约数 RP+85 36 50 4
P1109 找出指定的最小的10个数 RP+100 0 ? (无)
P1110 余料最少问题 RP+100 0 ? (无)
 
参加人数
24
创建人