day4:C语言语法结构的分支结构和循环结构

if分支结构与循环结构常见例题:

1、输入一个数,分别输出它的个位、十位、百位

#include 

int main(int argc, const char *argv[])
{
	int a=0;
	int g=0;
	int s=0;
	int b=0;
	printf("请输入一个三位数:");
	scanf("%d",&a);
	g=a%10;
	s=a/10%10;
	b=a/100;
	printf("个位:%d   十位:%d   百位%d   :",g,s,b);
	return 0;
}

2、求1到100内所有质子数之和

#include 
#include 
#include 

int main(int argc, const char *argv[])
{
	int i=0;
	int sum=0;
	while(i<=100){
		if(i%2==1){
			sum+=i;
		}
		i++;
	}
	printf("%d\n",sum);
	return 0;
}

3、求三位数的水仙花数有哪些,并输出

#include 
#include 
#include 

int main(int argc, const char *argv[])
{
	int i=100;
	int g=0;
	int s=0;
	int b=0;
	while(i<1000)
	{
		g=i%10;
		s=i/10%10;
		b=i/100;
		if(i==g*g*g+s*s*s+b*b*b)
		{
			printf("%d是水仙花数\n",i);
		}
		i++;
	}
	return 0;
}

4、找1到100能被3和7同时整除的数

#include 
#include 
#include 

int main(int argc, const char *argv[])
{
	int i=1;
	while(i<=100)
	{
		if(i%3==0&&i%7==0)
		{
			printf("%d既能被3整除,也能被7整除\n",i);
		}
		i++;
	}
	return 0;
}

5、判断闰年和超级闰年(能被400整除)

#include 
#include 
#include 

int main(int argc, const char *argv[])
{
	int year=0;
	scanf("%d",&year);
	if(year%4==0&&year%100!=0||year%400==0)
	{
		if(year%400==0){
			printf("%d是超级闰年\n",year);	
		}else{
			printf("%d是闰年\n",year);
		}
	}else{
		printf("%d不是闰年\n",year);
	}
	return 0;
}

6、判断是否构成三角形,并判断是什么类型的三角形

#include 
int main(int argc, const char *argv[])
{
	int a=0;
	int b=0;
	int c=0;
	scanf("%d%d%d",&a,&b,&c);
	if(a+b>c &&a-b

7、简易计算器

#include 
int main(int argc, const char *argv[])
{
	int a=0;
	char b=0;
	int c=0;
	scanf("%d%c%d",&a,&b,&c);
	switch(b){
		case '+':
			printf("%d+%d=%d\n",a,c,a+c);
			break;
		case '-':
			printf("%d-%d=%d\n",a,c,a-c);
			break;
		case '*':
			printf("%d*%d=%d\n",a,c,a*c);
			break;
		case '/':
			printf("%d/%d=%d\n",a,c,a/c);
			break;
		case '%':
			printf("%d%%%d=%d\n",a,c,a%c);
			break;
	}
	return 0;
}

8、判断成绩等级

#include 
int main(int argc, const char *argv[])
{
	int cj=0;
	scanf("%d",&cj);
	switch(cj/10){
		case 10:
		case 9:
			printf("A\n");
			break;
		case 8:
			printf("B\n");
			break;
		case 7:
			printf("C\n");
			break;
		case 6:
			printf("D\n");
			break;
		default:
			printf("不及格\n");
			break;
	}
	return 0;
}

9、判断三位数的完数

#include 

int main(int argc, const char *argv[])
{
	int a=0;
	int i=0;
	int sum=0;
	for(a=2;a<=999;a++)
	{
		for(i=1;i

10、输入年月日,输出是这一天是这一年的第几天

#include 
#include 
#include 

int main(int argc, const char *argv[])
{
	int y;
	int m;
	int d;
	int count=0;
	scanf("%d%d%d",&y,&m,&d);
	if(y%4==0&&y%100!=0||y%400==0)
	{
		count=1;
	}
		switch(m){
			case 12:
				d+=30;
			case 11:
				d+=31;
			case 10:
				d+=30;
			case 9:
				d+=31;
			case 8:
				d+=31;
			case 7:
				d+=30;
			case 6:
				d+=31;
			case 5:
				d+=30;
			case 4:
				d+=31;
			case 3:
				d+=28+count;
			case 2:
				d+=31;
			case 1:
				d=d;
				break;
		}
		printf("%d\n",d);

	return 0;
}

11、打印倒三角

#include 
#include 
#include 

int main(int argc, const char *argv[])
{
	int i=1;
	int j=2;
	int ret=0;
	scanf("%d",&ret);
	while(i

归纳总结:if分支结构可以使用多个else if分支判断,也可以与while这些循环一起嵌套使用,如果else不用,用else if来代替,但是else使用时应有一个if与之对应。在面对不同的固定格式输出时需要通过不同条件限制实现输出,如打印直接三角形时外循环控制行,内循环控制列,内循环需要满足j

switch case使用的都是判断switch后的值,而合理的利用switch case击穿可以优化代码,比如在计算输入年月日来判断并输出第几天这题,就可以运用break击穿实现每个月份的叠加。

while循环是通过i满足()内条件时进入循环,通过自增自减后改变至不满足条件再条件循环,以此来实现例如循环输出或者计算字符串长度等目的。

拓展题:

day4:C语言语法结构的分支结构和循环结构_第1张图片

#include 
#include 
#include 
int main(int argc, const char *argv[])
{
	int i;
	int j;
	int hangji;
	int lieji;
	int temp;
	int n=0;
	int m=0;
	scanf("%d%d",&n,&m);
	int A[n][m];
	int x[n][m];
	for(i=0;i

 作业:

1、思维导图:有道云笔记

2、九九乘法表:有道云笔记

你可能感兴趣的:(c语言)