选择结构练习
1. if单分支语句练习
从终端中输入学生分数,判断学生分数等级,(要求只用if单分支语句)
2. if双分支语句练习
判断年份是闰年还是平年,
闰年是能被4整除不能被100整除或者能被400整除的年份
3.多分支结构练习
1)输入月份, 判断该月是属于哪个季节
//2 3 4 春季
//5 6 7 夏季
//8 9 10 秋季
//11 12 1冬季
2)用多分支结构判断学生成绩情况
4. if语句的嵌套练习
男生女生对不同口味的巧克力选择, 判断其恋爱性格
(1)酒心巧克力 (2)扇贝巧克力 (3)果仁巧克力
男生: 1) 您是一个恋爱高手, 很会讨女孩子喜欢
2)您是一个胆小的人, 总是担心自己不够好
3)您对女孩子一心一意, 但是她总是感觉不到
4)您输入了一个错误选项
女生: 1)在恋爱中, 您往往处于劣势
2)您是一个浪漫的人, 恋爱中能够很好的调节气氛
3)您是一个女强人, 恋爱中总是忽略对方的感受
4)您输入了一个错误选项
5. 复杂分支嵌套
如果一个大学生的月消费在1-500元之间为低消费, 501-1000元之间为中等消费,1000元以上为高消费, 0元表示零消费, 0元以下为负消费用程序实现
6. switch练习
1)输入月份判断季节
2)模拟四则运算
1表达式(立方)编写程序,计算该数的立方
2表达式(取值操作)输入4个数,若第一个数第二个数相等,第三个数和第四个数的和与第一个数和第二个数的和相等,输出1,否则输出0
3流程控制(数值比较1)定义两个整型变量x,y,从键盘初始化变量值,判断两个变量的大小,将较大的值赋给变量max,将max输出,注意输入使用scanf输入
4流程控制(数值比较2)定义三个整型变量x,y,z,从键盘初始化变量值,判断三个变量的大小,将较大的值赋给变量max,将max输出,注意输入使用scanf输入
5流程控制(月份天数判断)输入一个月数,然后输出对应月份有多少天(不考虑闰年),将天数输出,注意输入使用scanf输入
\
比如:
\
\输入 6 输出为30
\
\输入 2 输出为28
\
6流程控制(闰年问题)输入一个年份,判断该年份是平年还是闰年:
7流程控制(绝对值)输入两个整数,打印两数之差的绝对值。
8流程控制(水仙花数)输入一个3位数,判断该数是否是水仙花数(即该数的值等于该数各位数字的立方和):
9表达式(整数判断)输入一个数字, 判断这个数是否是正数(是,输出YES,不是输出NO)
10表达式(判断3的倍数)输入一个数字, 判断这个数是否是3的倍数,如果是,输出YES,如果不是输出NO
11表达式(判断是否是偶数)输入一个数, 判断是否是偶数,如果是偶数,输出YES,如果是奇数.输出NO
12表达式(判断成绩是否及格)输入一个成绩, 判断是否及格, 及格输出YES,不及格输出NO(及格分在60分以上,需要加入输入检测)
\
13表达式(判断年龄是否正确)输入年龄, 然后检测输入的年龄是否在有效的范围, 如果是则输出YES,如果不在这个范围输出NO (0-150)之内?
14表达式(判断空气是否被污染)北京的空气污染程度可以使用空气污染指数来表示,一般0到100之内说明空气质量优良,而大于100说明空气有污染,输入一个数, 表示空气污染指数,然后检测是否污染, 如果被污染,输出YES,如果没有污染,输出NO
\
15表达试(检测是否是80后)输入一个人的年份, 检测这个是否是80后,如果是输出YES,如果不是输出NO(1980-1989年)
\
16表达式(判断是否缴纳个人所得税)个人所得税的缴纳最低标准为3500元,输入一个人每月的薪资, 检测这个人是否需要缴纳个人所得税,如果是,输出YES,如果不是输出NO
17表达式(判断平年或闰年)输入一个年份, 判断是是否为闰年,如果是闰年输出YES,如果不是,输出NO
\
\
注: 闰年就是第二个月有29天的那一年,能被4整除但是不能被100整除的是闰年,或者能被400整除的也是闰年
18表达式(判断点是否则某个区域之内)有一个矩形的坐标是(0,10), (10,10), (10,0), (0,0),请问如何判断一个点(x,y)是否处于这个四边形之内,如果是输出YES, 如果不是输出NO
19选择和判断(计算绝对值)输入一个数, 输出该数的绝对值, 即输出一个正数,直接输出该数,如果输入负数, 输出负数的相反数
20选择和判断(输出两数之差的绝对值)输入两个数, 输出两数之差的绝对值
21选择和判断(判断两数的关系)输入两个数, 判断第一个数是否大于第二个数, 如果是,输出YES,如果不是,输出NO
22选择和判断(找到两个数中的最大值)输入两个数, 输出最大的数
23选择和判断(判断水仙花数)判断一个三位数是否是水仙花数,如果是,输出YES,如果不是,输出NO\
\
说明: 水仙花就是一个数的每个数字的立方和等于它本身的数,例如 153就是一个水仙花数 1*1*1+5*5*5+3*3*3=153
24选择和判断(分数转化器)西方国家常使用ABCDE五级制表示一个人的成绩,输入ABCDE中的一个值,输出对应的分数范围\\ (考察switch)
说明:
\
如果输入A, 输出90-100
\
如果输入B, 输出80-89
\
如果输入C, 输出70-79
\
如果输入D, 输出60-69
\
如果输入E, 输出0-59
\
如果输入其他的字符,输出ERROR
25选择和判断(ABCDE转为对应的分数)输入一个成绩, 输出该成绩对应的ABCDE中的级别\(使用else-if结构)
说明:
\
输入90-100中的数,输出A
\
输入80-89中的数,输出B
\
输入70-79中的数,输出C
\
输入60-69中的数,输出D
\
输入0-59中的数,输出E
\
输入其他数,输出ERROR
26选择和判断(计算数学表达式的值)数学表达式求值
\
\\ 当x<0时\\ y=x*x, 输出y的值
\
\\ 当0=<x<5时\y=2x+1, 输出y的值
\
\\ 当x>=5时\\ y=3x-12, 输出y的值
27选择和判断(判断是否是5位数)输入一个数, 判断这个数是否是5位数,如果这个数大于9999且小于100000,那么肯定是个5位数,如果是输出YES,如果不是,输出NO
28选择和判断(判断一个数的某一位)输入一个数, 判断从低位开始的第三位是否是3, 例如123的第三位就是1,不是3,如果是输出YES,如果不是输出NO
29选择和判断(计算下一秒的时间)输入一个时间, 输出时间的下一秒
\
\
例如输入的是10 20 59, 表示是10点20分59秒,下一秒就是10点21分0秒
30选择和判断(按顺序输出三个数)输入三个数, 按从小到大的顺序输出
31选择和判断(大小写转换)输入一个字符, 如果字符是大写字母, 转化为小写字母输出,如果是小写字母, 转化为大写字母输出,否则直接输出该字符
32选择和判断(判断第几天)输入一个日期年月日, 计算这一天是一年中的第几天(考虑闰年)
33IP地址判断时候合法问题输入一个IP地址,判断时候ip地址合法
ip地址由4位0-255组成中间使用 . 隔开
合法的ip地址是:
21.45.34.112
是合法的
第一位不能为全0
0.45.34.112
是不合法的
每一位不能超过255
34 编写程序输入月份和日期,给出对应的星座。下面是星座计算表:(****)
3月21日~4月20日 白羊
4月21日~5月20日 金牛
5月21日~6月20日 双子
6月21日~7月22日 巨蟹
7月23日~8月22日 狮子
8月23日~9月22日 处女
9月23日~10月22日 天秤
10月23日~11月22日天蝎
11月23日~12月22日人马
12月23日~1月20日摩羯
1月21日~2月20日 宝瓶
2月21日~3月20日 双鱼
/*
35.
输入一个日期(2013 1 1)输出这一天是这一年的第几天;(输出:这是2013年的第1天)
提示:
***************
闰年:可以整除4并且不能整除100;或者可以整除400;闰年2月有29天;平年28天;
1 3 5 7 8 10 12 有31天
4 6 9 11 有30天
*/
循环练习
1.循环(输出n个整数)输入一个整数n, 输出从1到n共n个数
2. 循环(计算阶乘)输入一个数为n, 计算这个数的阶乘, 例如一个数为5,则5的阶乘为 1*2*3*4*5=120
3.循环(计算某个数的位数)输入一个正整数, 计算这个正整数的位数
4. 循环(逆序输出某个数)整数逆序输出, 例如输入一个整数12345,输出5 4 3 2 1
5. 循环(统计字符个数)输入多个字符, 以回车符结束, 统计输入的字母个数
6.循环(计算10个数的平均值)输入10个数,计算这十个数的平均值
###7.循环(判断素数/质数)输入一个数, 判断这个数是否为素数,如果是素数输出YES,如果不是输出NO。
素数/质数就是除了1和它本身之外不能被其他数整除的数,从2开始的素数有 2,3,5,7,11,13等等
8.循环(二进制输出整数)从键盘输入一个数, 使用二进制形式输出该数, 例如输入4,输出二进制形式为100,输入10,输出的二进制形式为1010
###//9流程控制(数值序列2)输出数字序列2/1,3/2,5/3,8/5,13/8,21/13...,输出个数由键盘输入。注意输入使用scanf输入
\
比如:
输入 3输出为
2/1
3/2
5/3
输入 4 输出为
2/1
3/2
5/3
8/5
\
\
###10.流程控制(数值序列3)输出数字序列 1,2,3,5,8,13,21...,输出个数由键盘输入。注意输入使用scanf输入
\
比如:
\
输入 3输出为
1
2
3
输入 4 输出为
1
2
3
5
###//求最大公约数
###11.(输出两分数和)输入两个分数,输出两分数之和(要求约分)
输入 3/5 7/8
输出:
59/40
输入:2/8 5/12
输出:
2/3
###12. 流程控制(for求阶乘的和 )输入n(int类型),打印1!+2!+3!+4!+5!+。。。+n!的值
比如:
输入:2
输出:
3
输入:3
输出:
9
13. 打印九九乘法表
###14. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
15. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
************************************************
16.循环(输出矩阵)输入一个整数n, 输出n行n列每个字符为*的矩阵
17.循环(输出图案)打印以下图案, 该图案的行数由输入的数n来控制
A
AA
AAA
18.流程控制(数值序列1)输出数字序列,a,aa,aaa,aaaa.....输出个数与显示数字由键盘输入。每个数以整数形式输出。注意输入使用scanf输入
\
比如:
输入 5 2输出为
2
22
222
2222
22222
\ 输入 4 3输出为
3
33
333
3333
19.流程控制(for循环)输入一个大写字母,如F
输入:F
输出:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
###20.流程控制(for循环)输入一个大写字母,如 F,输出
输入:F
输出:
F
EFE
DEFED
CDEFEDC
BCDEFEDCB
ABCDEFEDCBA
###21.流程控制(for循环)输入一个大写字符,如F
比如:
输入:F
输出:
FEDCBA
EDCBAB
DCBABC
CBABCD
BABCDE
ABCDEF
22.使用嵌套循环产生下列图案:
*
**
***
****
*****
*
***
*****
*******
F
FE
FED
FEDC
FDECB
FDECBA
###输入一个大写字符,如F
比如:
输入:F
输出:
FEDCBA
EDCBAB
DCBABC
CBABCD
BABCDE
ABCDEF
输入 B
输出:
BA
AB
###输入一个大写字母,如F
比如:
输入:F
输出:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
输入:C
输出:
A
ABA
ABCBA
编程题:
第一题:输入若干个字符,它的终止符是’#’,计算输入的字符中字母’a’出现的次数(包括大小写)。
- 在屏幕上输出 10 行内容,每行的内容都是“*”。
- 在屏幕上输出 10 行内容,每行的内容都是“*****”。
- 在屏幕上输出
10 行内容,每行的内容都不一样,第1
行一个星号,第 2 行
2 个星号,
依此类推第 10 行 10 个星号。 - 在屏幕上输出 10 行内容,每行的内容都是“1”。
- 在屏幕上输出 10 行内容,每行的内容都不一样,第1 行输出“1”,第
2 行输出“2”,依此类推第10 行输出“10”。
6. 在屏幕上输出以下内容:
A
AB
ABC
ABCD
ABCDE
ABCDEF
7. 在屏幕上输出以下内容:
12345
1234
123
12
1
- 计算 10 个 99 相加后的值并输出。
- 计算从 1 加到 100 的值并输出。
- 计算 10 的阶乘(1x2x3x4x5x6x7x8x9x10)。
- 计算2的20次方。
- 计算从 1 到 1000 以内所有奇数的合并输出。
- 计算从 1 到 1000 以内所有能被 3 或者 17 整除的数的合并输出。
- 计算从 1 到 1000 以内所有能同时被 3,5和 7 整除的数的合并输出。
- 计算 1 到 100 以内能被 7 或者3 整除但不能同时被这两者整除的数的个数。
- 计算 1 到 100 以内能被 7 整除但不是偶数的数的个数。
- 计算从
1 到
100 之间临近两个整数的合并依次输出。比如第一次输出
3(1+2),第二
次输出 5(2+3),最后依次输出199(100+99)。 - 计算从
1 加到
100 中途的所有数值的合,比如第一次输出
1,第二次输出 1+2 的合,
第 3 次输出 1+2+3 的合,最后一次输出 1 到 100 所有数相加之后的合。
- //19.一球从
100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第
10 次落地时,共经过多少米? - 20.将某个 8 位的整数所有位的数值加在一起并输出。
- 21.给定一个
5 位的整数,将该数按照10
进制位逆置,例如给定 12345
变成 54321,12320
变成 2321。 -
22.输入一个数a,求s=a+aa+aaa+aaaa+aa...a
的值,其中 a
是一个数字(1-9之间)计算的数据的个数
是 5。例如2+22+222+2222+22222。 -
//实例代码
#include<stdio.h>
//goto
//无条件跳转语句
//通常跟if语句配合使用
//goto跳转,只能在当前函数内跳转
//int main(int argc, const char * argv[])
//{
// int n;
// scanf("%d",&n);
//number:
// printf("hello world\n");
//
// if (n<10) {
// n++;
// goto number;
// }
//
// return 0;
//}
//求1~100的和
//int main(int argc, const char *argv[])
//{
// int i=1,sum=0;
//number:
// sum+=i;
// i++;
// if (i<=100) {
//
// goto number;
// }
//
// printf("sum = %d\n", sum);
// return 0;
//}
//void print(void)//错误写法
//{
//
//number:
// printf("hello world\n");
//}
//
//
//int main(int argc, const char *argv[])
//{
// int i;
// scanf("%d",&i);
// if (i<10) {
//
// goto number;
// }
// return 0;
//}
//while(条件表达式)
//{
//循环体语句列表;
//}
//判断表达式是否成立,表达式为真,则执行循环语句体,直到表达式为假,退出循环
//int main(int argc, const char *argv[])
//{
// int i;
// scanf("%d",&i);
// while (i<10) {
// printf("hello world\n");
// i++;
// }
// return 0;
//}
//int main(int argc, const char *argv[])
//{
// int i=1,sum=0;
//
// while (i<=100)
// {
// sum+=i;
// i++;
// }
// printf("i==%d\n",i);
// printf("sum=%d\n",sum);
//
// return 0;
//}
//统计输入字符个数
//ahangxueming\n
//int main(int argc, const char *argv[])
//{
// char ch;
// int count=0;
// while (scanf("%c",&ch),ch!='\n') {
// count++;
// }
// printf("count = %d", count);
// printf("%c",ch);
// return 0;
//}
//int main(int argc, const char *argv[])
//{
// int count=0;
// while (getchar()!='\n') {
// count++;
// }
// printf("count = %d\n",count);
//
// return 0;
//}
//23输出Y a输出N
//int main(int argc,const char *argv[])
//{
// int num;
// int ret;
// ret = scanf("%d",&num);
// if (ret) {
// printf("Y\n");
// }
// else
// {
// printf("N\n");
// }
// return 0;
//}
//do
//{
// 循环体语句列表;
//
//}while(条件表达式);
//先执行循环语句体,再判断表达式是否成立,表达式成立,则继续执行循环语句体,直到表达式不成立,退出循环
//求1-100以内的奇数的和(do while做)
//int main(int argc,const char *argv[])
//{
// int i=1,sum=0;
// do{
// if (i%2)
// {
// sum+=i;
// }
// i++;
// }while (i<100);
//
// printf("sum = %d\n", sum);
//
// return 0;
//}
//for (初始化表达式;条件表达式;自增自减表达式) {
// 循环语句体;
//}
//1~100的和
//int main(int argc,const char *argv[])
//{
// int i;
// int sum=0;
// for (i=0; i<=100; i++)
// {
// sum+=i;
// }
// printf("%d\n", sum);
//
// return 0;
//}
//判断一个数是否为素数
//素数只能被1和本身整除的数
//2 3 5 7
//int main(int argc,const char *argv[])
//{
// int n;
// scanf("%d", &n);
// if (n<2) {
// printf("输入错误\n");
// return -1;
// }
// int i;
// for (i=2; i<n; i++)
// {
// if (n%i==0)
// {
// break;//break只能跳出一层循环
// }
// }
// if (i==n) {
// printf("YES\n");
// }
// else
// {
// printf("NO\n");
// }
// return 0;
//}
//打印1~100内所有的奇数
//int main(int argc, const char *argv[])
//{
// int i;
// for (i=1; i<=100; i++) {
// if (i%2) {
// printf("%d ", i);
// }
// }
// putchar('\n');//输出一个字符
//
// return 0;
//}
//输入一个整数,求他的各位数字之和.如:178,数字之和为1+7+8 = 16
//int main(int argc,const char *argv[])
//{
// int num;
// int sum=0;
// scanf("%d", &num);
//
// for (; num!=0; )
// {
// sum+=num%10;
// num/=10;
// }
// printf("sum = %d\n", sum);
// return 0;
//}
//for( ; ; ;)
//int main(int argc,const char *argv[])
//{
// int i=0;
// for (; ; )
// {
// if (i<10)
// {
// printf("hello world\n");
// }
// else
// {
// break;
// }
// i++;
// }
// return 0;
//}
//break, continue
//continue :结束当次循环,继续执行下一次循环
//break:跳出当前对应的整个循环,但是只能跳出一层循环
//int main(int argc,const char *argv[])
//{
// for (int i=0; i<10; i++)
// {
// if (i==5) {
// continue;
// //break;
// }
// printf("i = %d ",i);
// printf("hello world\n");
// }
// putchar('\n');
//
// return 0;
//}
//for(;;)
//{
// for(;;)
// {
// for(;;)
// {
//
// }
// }
// for(;;)
// {
// for(;;)
// }
// while()
// {
// for(;;)
// {
//
// }
// }
//}
//*********
//*********
//*********
//*********
//int main(int argc,const char *argv[])
//{
// int i,j;
// for (i=0; i<4; i++) {
// for (j=0; j<9; j++) {
// printf("*");
// }
// putchar('\n');
// }
// return 0;
//}
//10.输出下列4*5的数字矩阵
//1 2 34 5
//2 4 68 10
//3 6 912 15
//4 8 1216 20
//int main(int argc,const char *argv[])
//{
// int i, j;
// for (i=1; i<=4; i++) {
// for (j=1; j<=5; j++) {
// printf("%4d",i*j);
// }
// printf("\n");
// }
// return 0;
//}
//1*1=1
//1*2=2 2*2=4
//1*3=3 2*3=6 3*3=9
//1*4=4 2*4=8 3*4=12 4*4=16
//1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
//1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
//1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
//1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
//1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72
//int main(int argc, const char *argv[])
//{
// int i, j;
// for (i=1; i<=9; i++) {
// for (j=1; j<=i; j++) {
// printf("%d*%d=%2d ",j,i,j*i);
// }
// printf("\n");
// }
// return 0;
//}
//求1~100内所有的素数
//int main(int argc,const char *argv[])
//{
// int i,j;
// for (i=1; i<=100; i++) {
// //判断i是否为素数
// for (j=2; j<i; j++) {
// if (!(i%j)) {
// break;
// }
// }
// if (j!=i) {
// continue;
// }
// printf("%d ",i);
// }
// printf("\n");
//
// return 0;
//}
//多重循环练习
//字母金字塔
//输入:F
//\
//输出:
// F
// EFE
// DEFED
// CDEFEDC
// BCDEFEDCB
//ABCDEFEDCBA
intmain(intargc,constchar*argv[])
{
charch;
scanf("%c",&ch);
inti,j;
for(i=0; i<ch-'A'+1; i++) {
for(j=ch-'A'-i; j>0; j--)
{
printf(" ");
}
for(j=i; j>=0; j--) {
printf("%c",ch-j);
}
for(j=0; j<i; j++) {
printf("%c", ch-1-j);
}
printf("\n");
}
return0;
}
//9流程控制(数值序列2)输出数字序列2/1,3/2,5/3,8/5,13/8,21/13...,输出个数由键盘输入。注意输入使用scanf输入
//\
//比如:
//
//输入3输出为
//
//2/1
//3/2
//5/3
//
//输入4输出为
//2/1
//3/2
//5/3
//8/5
//int a=1,b=1;
//a=2,b=1
//a=3,b=2
//
//int main(int argc, const char * argv[])
//{
// int n;
// int a=1,b=1;
// scanf("%d", &n);
//
// for (int i=0; i<n; i++) {
// printf("%d/%d ",a+b,a);
// int temp;
// temp = a;
// a=a+b;
// b=temp;
// }
// putchar('\n');
// return 0;
//}
//a=3 b=5
//a=5 b=3;
//temp = a;
//a=b;
//b=temp;
//不借助第三个变量交换两个变量的值
//int main(int argc, const char *argv[])
//{
// int a=3, b=5;
//
// a=a+b;//a=8;
// b=a-b;//b=3;
// a=a-b;//a=5;
// printf("a=%d b=%d\n",a, b);
// return 0;
//}
//10.流程控制(数值序列3)输出数字序列1,2,3,5,8,13,21...,输出个数由键盘输入。注意输入使用scanf输入
//\
//比如:
//\
//输入3输出为
//
//1
//2
//3
//
//输入4输出为
//1
//2
//3
//5
// a=1,b=0 1
// a=1,b=1 2
// a=2,b=1 3
// a=3,b=2 5
// a=5,b=3 8
//int main(int argc,const char *argv[])
//{
// int a=1,b=0;
// int n;
// scanf("%d",&n);
//
// for (int i=0; i<n; i++) {
// printf("%d ", a+b);
// int temp;
// temp = a;
// a=a+b;
// b=temp;
// }
// putchar('\n');
// return 0;
//}
//12. 流程控制(for求阶乘的和)输入n(int类型),打印1!+2!+3!+4!+5!+。。。+n!的值
//比如:
//
//输入:2
//输出:
//3
//
//输入:3
//
//输出:
//9
//6! = 6*5! = 6*5*4!;
//temp =1
//temp =2!=2*temp
//temp =3!=3*temp
//temp =4!=4*temp
//int main(int argc,const char *argv[])
//{
// int Sn=0;
// int n;
// int temp=1;
// scanf("%d",&n);
//
// for (int i=1; i<=n; i++)
// {
// temp=i*temp;
// Sn+=temp;
// }
// printf("Sn = %d\n", Sn);
//
// return 0;
//}
//19.流程控制(for循环)输入一个大写字母,如F
//\
//比如:
//\
//输入:F
//\
//输出:
//
// A
// ABA
// ABCBA
// ABCDCBA
// ABCDEDCBA
//ABCDEFEDCBA
//int main(int argc,const char *argv[])
//{
// char ch;
// scanf("%c", &ch);
//
// for (int i=0; i < ch-'A'+1; i++) {
// for (int j = ch-'A'-i; j>0; j--) {
// printf(" ");
// }
// for (int j=0; j<=i; j++) {
// printf("%c",'A'+j);
// }
// for (int j=i; j>0; j--) {
// printf("%c",'A'+j-1);
// }
// printf("\n");
// }
//
//
// return 0;
//}
//###20.流程控制(for循环)输入一个大写字母,如F,输出
//\
//比如:
//\
//输入:F
//\
//输出:
// F
// EFE
// DEFED
// CDEFEDC
// BCDEFEDCB
//ABCDEFEDCBA
//int main(int argc,const char *argv[])
//{
// char ch;
// scanf("%c", &ch);
//
// for (int i=0; i<ch-'A'+1; i++)
// {
// for (int j=0; j<ch-'A'-i; j++)
// {
// printf(" ");
// }
// for (int j=i; j>=0; j--) {
// printf("%c",ch-j);
// }
// for (int j=0; j<i; j++) {
// printf("%c",ch-1-j);
// }
// printf("\n");
// }
// return 0;
//}
//21.流程控制(for循环)输入一个大写字符,如F
//\
//比如:
//
//输入:F
//
//输出:
//
//FEDCBA
// EDCBAB
// DCBABC
// CBABCD
// BABCDE
// ABCDEF
//int main(int argc, const char *argv[])
//{
// char ch;
// scanf("%c",&ch);
//
// for (int i=0; i<ch-'A'+1; i++) {
// for (int j=i; j>0; j--) {
// printf(" ");
// }
// for (int j=i; j<ch-'A'+1; j++) {
// printf("%c", ch-j);
// }
// for (int j=0; j<i; j++) {
// printf("%c",'A'+1+j);
// }
// printf("\n");
// }
// return 0;
//}
//输入一个大写字母,如F
//比如:
//输入:F
//输出:
//A
//ABA
//ABCBA
//ABCDCBA
//ABCDEDCBA
//ABCDEFEDCBA
//
//输入:C
//输出:
//A
//ABA
//ABCBA
//int main(int argc,const char *argv[])
//{
// char ch;
// scanf("%c",&ch);
// for (int i=0; i<ch-'A'+1; i++) {
// for (int j=0; j<=i; j++) {
// printf("%c", 'A'+j);
// }
// for (int j=i; j>0; j--) {
// printf("%c",'A'+j-1);
// }
// printf("\n");
// }
// return 0;
//}
//输入年月日,判断是一年中的第多少天1.31 2.9
//int main(int argc,const char *argv[])
//{
// int year, month, day;
// int totalday=0;
// scanf("%d%d%d",&year, &month,&day);
// for (int i=1; i<month; i++) {
// int temp;
// switch (i) {
// case 1:
// case 3:
// case 5:
// case 7:
// case 8:
// case 10:
// case 12:
// temp=31;
// break;
// case 4:
// case 6:
// case 9:
// case 11:
// temp=30;
// break;
// case 2:
// if ((year%4==0&&year%100!=0)|| (year%400==0)) {
// temp=29;
// }
// else
// temp=28;
// break;
// default:
// break;
// }
// totalday+=temp;
// }
// totalday+=day;
// printf("%d\n", totalday);
// return 0;
//}
//用辗转相除法求最大公约数
//
// 15 5
//
//a b
//319 377 --- 319
//a b
//377 319 --- 58
//a b
//319 58 --- 29
//a b
//58 29 --- 0
//a b
//29 0
// 300 480 300
// 480 300 180
// 300 180 120
// 180 120 60
// 120 60 0
// 60 0
//int main(int argc, const char *argv[])
//{
// int a, b;
// scanf("%d%d",&a,&b);
// while (b!=0) {
// int temp;
// temp = a%b;
// a=b;
// b=temp;
// }
// printf("最大公约数%d\n",a);
//
// return 0;
//}
//19.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第
//10次落地时,共经过多少米?
//int main(int argc, const char *argv[])
//{
// float Sn=100;
// float s=100;
// for (int i=1; i<4; i++) {
// Sn+=s;
// s/=2;
// }
// printf("%.2f\n",Sn);
// return 0;
//}
//倒序输出两个大写字母之间的字母序列。注意输入使用scanf输入
//比如:
//输入U Y
//输出为
//Y
//X
//W
//V
//U
//输入V X输出为
//X
//W
//V
//#include <stdio.h>
//#include <stdlib.h>
//
//int main(int argc,const char *argv[])
//{
// char ch1,ch2;
// scanf("%c %c",&ch1,&ch2);
// for (int i=0; i< abs(ch1-ch2)+1; i++) {
// if (ch1>ch2) {
// printf("%c ",ch1-i);
// }
// else
// {
// printf("%c ",ch2-i);
// }
// }
// printf("\n");
//
// return 0;
//}
//将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
//10 = 2*5
//
// 10 2 --- 0
// 5 2 ----
// 5 3 ----
// 5 4 ---
// 5 5 == 0
//90 2 ---- 0
//45 2 ----
//45 3 ---- 0
//15 3 --- 0
//5 3 ---
//5 4 ---
//5 5 --- 0
//1
//int main(int argc, const char *argv[])
//{
// int n;
// scanf("%d",&n);
//
// printf("%d=",n);
// for (int i=2; n!=1; i++)
// {
// //加一个判断是否质数的条件
// if (n%i==0)
// {
// n==i?printf("%d",i):printf("%d*",i);
// n/=i;
// i--;
// }
// }
// printf("\n");
// return 0;
//}
//21.给定一个5位的整数,将该数按照10进制位逆置,例如给定12345变成//54321,12320
//变成2321。
//int main(int argc,const char *argv[])
//{
// int num;
// scanf("%d",&num);
// if (num<10000 || num >99999)
// {
// return -1;
// }
// while (num%10==0)
// {
// num/=10;
// }
// while (num)
// {
// int temp = num%10;
// printf("%d",temp);
// num/=10;
// }
// printf("\n");
// return 0;
//}
//输入一个自然数n,统计n!末尾有多少个0?
//5! 1 120 5*4*3*2*1
//10! 2 2*5*9*8*7*6*5*4*3*2*1
//15! 5 10 15 3
//25! 5 10 15 20 25 6
/*int main(int argc,const char *argv[])
{
int n;
int count=0;
scanf("%d", &n );
for (int i=n/5; i>0; )
{
// int temp=i;
// while (!(temp%5))
// {
// count++;
// temp/=5;
// }
count+=i;
i/=5;
}
printf("%d\n", count);
return 0;
}
*/
//编写程序,找到1000以内的所有”完数”,所谓完数是指一个数是其所有因子之和如: 6 = 1+2+3; 6 28 496
//int main(int argc, const char *argv[])
//{
// for (int i=1; i<=1000; i++) {
// int sum=0;
// for (int j=1; j<i; j++) {
// if (i%j==0) {
// sum+=j;
// }
// }
// if (sum==i) {
// printf("%d ",i);
// }
// }
// printf("\n");
// return 0;
//}