学习C++(四)分支语句与循环语句

#include <stdio.h>
#include <cctype> 
#include <string.h> 
/*
定义:

类型转换:
1、隐式转换  低级向高级转换 编译器自动完成
	short -> int -> unsigned int -> long  -> double 
	char  ->						float -> 

2、显式转换  强制类型转换  不会修改数据结构

	a = (int)1.6



分支语句:

if (表达式)
	语句;
else if (表达式)
	语句


switch(表达式)
	case 常量表达式:
		语句;
		break;
	case 常量表达式:
		语句;
		break;
	default:
		语句;

ps : 1、switch后面只能是整型、字符型、枚举值
	  2、每个case后面都加break
	  3、default可以不出现



循环语句:
	

	条件  满足  执行语句
		  不满足	跳出执行语句

1、	while (表达式)
	{
		循环语句;
	}

2、	for(表达式1;表达式2;表达式3)
	{
		循环语句;	
	}

3、	do
	{
		循环语句;
	}
	while(表达式);

4、 死循环
	break、return
	continue
	
*/





/*
if () {}
else if () {}
else {}


test1
// 键盘输入一个字符,判断他是数字,还是小写字母 还是大写字母
	char temp = 0;
	printf("请输入一个字符\n");
	scanf("%c", &temp);
	printf("%c:" , temp);
	if (temp >= 48 && temp <= 57)
	{
		printf("是数字");	
	}
	else if (temp >= 65 && temp <= 90)
	{
		printf("是大写字母");	
	}
	else if (temp >= 97 && temp <= 122)
	{
		printf("是小写字母");	
	}


test2

// 输入年份 判断是否是闰年

	int year = 0;
	printf("请输入年份 \n");
	
	scanf("%d",&year);
	
	if(year%4 == 0){
		printf("%d是闰年!",year);
	}
	else{
		printf("%d不是闰年!",year);
	}

test3 

// a 除以 b 整除

	int a = 0;
	int b = 0;
	printf("输入整数a:\n");
	scanf("%d",&a);
	printf("输入整数b:\n");
	scanf("%d",&b);
	if(a%b == 0){ printf ("b可以整除a");}
	else {printf("b不可以整除a");}

test4

// 小写字母  输出大写字母  大写字母 原样输出
	char temp = 0;
	printf("请输入一个字符\n");
	scanf("%c", &temp);
	printf("%c:" , temp);
	if (temp >= 65 && temp <= 90)
	{
		printf("%c",temp);	
	}
	else if (temp >= 97 && temp <= 122)
	{
		printf("%c", toupper(temp));	
	}

test5

//仿造密码输入

	char pwd1[20] ;
	char pwd2[20] ;
	
	scanf("%s", pwd1);
	scanf("%s", pwd2);
	if(strcmp(pwd1,pwd2) == 0){printf("登录成功,welcome");}
	else {printf("密码错误");}


*/

/*
switch()
{
	case 1:
		{}
		break;
	case 2:
		{}
		break;
	default:
		{}
}


test1

//计算器
	int a = 0;
	int b = 0;
	char c = 0;

	scanf("%d",&a);
	scanf("%d",&b);
	getchar();
	scanf("%c",&c);
	
	switch(c)
	{
		case '+':
			printf("a + b = %d" , (a+b));
			break;
		case '-':
			printf("a - b = %d" , (a-b));
			break;
		case '*':
			printf("a * b = %d" , (a*b));
			break;
		case '/':
			printf("a / b = %f" , ((float)a/(float)b));
			break;
		default:
			printf("系统出问题了!");
	}

test2
//周一到周日
	char first = 0;
	char second = 0;
	scanf("%c",&first);

	switch (first)
	{
		case 'M':
		case 'm':
			printf("Monday");
			break;
		case 'T':
		case 't':
			printf("请输入第二个字符\n");
			getchar();
			scanf("%c",&second);
			if (second == 'u' || second == 'U'){printf("Tuesday");}
			else if (second == 'h' || second == 'H'){printf("Thursday");}
			break;
		case 'W':
		case 'w':
			printf("Wednesday");
			break;
		case 'F':
		case 'f':
			printf("Friday");
			break;
		case 'S':
		case 's':
			printf("请输入第二个字符\n");
			getchar();
			scanf("%c",&second);
			if (second == 'a' || second == 'A'){printf("Saturday");}
			else if (second == 'u' || second == 's'){printf("Sunday");}
			break;
		default:
			printf("输入不正确");
		
	}

*/


/*


// 素数
	int i = 0;
	int n = 1;
	int number = 0;
	scanf("%d",&number);
	while(number >= n){
		if(number % n == 0){i++;}
		n++;
	}
	if (i == 2){printf("%d是素数", number);}
	else {printf("%d不是素数", number);}


*/


/*
int i = 1;
	int sum = 0 ;
	while (i<100){
		sum++;
		printf("%d , 当前循环次数 \n",sum);
		i++;
	}

for (int i = 1 ; i<100; i++){printf("%d \n" , i);}

// 1-2+3.....-100
int sum = 0 ;
	for (int i = 1 ; i<101; i++)
	{
		if(i%2 == 0)
			sum = sum - i;	
		else 
			sum = sum + i ;
	}
	printf("%d \n" , sum);

//输入图形
	for (int i=1; i<=9; i++){
		for (int j=i; j<=9 ; j++)
		{printf("%d " , j);}
		printf("\n");
	}
	
// 登录

char pwd[20];
	while(true){
	

		printf("请输入密码\n");
		scanf("%s", pwd);
	
		if (strcmp(pwd,"admin") == 0)
		{
			printf("登录成功\n");
			break;
		}
		else
			printf("密码输入错误,请重新输入\n");
	
	}

//continue

	int i =0 ;
	
	while(i<101)
	{
		i++;
		if(i%3 != 0)
			{continue;}
		printf("%d ",i);
	}

//continue
	int j = 0;
	scanf("%d",&j);

	printf("1-100中能被%d整除得有\n",j);
	
	for(int i = 1; i<101; i++)
	{
		
		if(i%j != 0)
			{continue;}
		printf("%d ",i);
	}
	
	getchar();

// 鸡兔同笼 88头  244脚
	int x = 0;
	int y = 0;

	for (x = 1; x < 89; x++ ){
		if((2*x + 4*(88-x) ) == 244)
		{
			printf("鸡:%d, 兔: %d\n", x, (88-x));
			break;
		}
	}


*/


/*

test1
//1、m得n次方

	int m =0;
	int n =0;
	int sum = 1;
	
	scanf("%d",&m);
	scanf("%d",&n);
	
	for(int i=0;i<n;i++){
		sum=sum*m;
	}
	printf("%d得%d次方:%d",m,n,sum);
	
	getchar();

test2:
//韩信点兵
	int n = 0 ;
	do{
		n++;
		if(n%3==2 && n%5==3 && n%7==4)
		{
			printf("最少%d人",n);
			break;
		}
	

	}
	while(1);

test3:

//水仙花数 3位

	int a = 0;
	scanf("%d",&a);
	int b = a/100;
	int s = (a/10)%10;
	int g = a%10;
	
	if (b*b*b + s*s*s + g*g*g == a){
		printf("%d是水仙花数\n",a);
	}
	else printf("%d不是水仙花数\n",a);

test4:
//1900 - 2014得闰年
	for(int i = 1900;i<2015;i++){
		if(i%4==0){printf("%d是闰年\n",i);}
	}

test5:
char a[20];
	scanf("%s",a);
	printf("\n");
	printf("%s",a);

test6:
//找到6个数中最大得数
int n[6];
	int max = 0;
	for(int i=0;i<6;i++)
	{
		scanf("%d",&n[i]);
	}
	for(int i=0;i<6;i++)
	{
		if(max<n[i]){max=n[i];}
	}
	printf("最大值为:%d",max);
	
test7:
//打印图形自定义行数

	int n = 0;
	scanf("%d",&n);
	int m = n+1;

	for(int i=1;i<m;i++)
	{
		for(int j=0; j<(2*n-1);j++)
		{
			if(j==(m-i))
				for(int k=0;k<(2*i-1);k++)
				{
					printf("*");
				}
			printf(" ");
		}
		printf("\n");	
	}

test8:
// 100-999所有水仙花数
for (int a =100;a<1000;a++)
	{
		int b = a/100;
		int s = (a/10)%10;
		int g = a%10;

		if (b*b*b + s*s*s + g*g*g == a){
			printf("%d是水仙花数\n",a);
		}
		
	}


*/
void main(){

	
	getchar();

}

posted @ 2024-06-03 18:11  大龙挂了,公主在哪  阅读(25)  评论(0)    收藏  举报