c语言刷题系列(一)

本系列随着我的C语言系列而更新,我会讲解我在学习中碰到的问题,都是基础,都是干货。非常适用于新手,还请各位看官支持一下吧!

1.判断一个数是否为奇数

int main()
{
	int n = 0;
	scanf("%d", &n);
	if (0 != n % 2)
		printf("这个数为奇数\n");
	return 0;
}

2.输出1-100之间的奇数

int main()
{
	int i = 1;
	while (i < 100)
	{
		if (0 != i % 2)
			printf("%d ", i);
		i++;
	}
	return 0;
}

这两个应该来说非常简单的,这是关于 if 语句的题目。

3.输入1-5,输出的是weekday,输入6-7,输出的是weekend.

int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	    case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			printf("weekday\n");
			break;
		case 6:
		case 7:
			printf("weekend\n");
			break;		
	}
	return 0;
}

这是关于switch语句的题目。首先,我们要知道在switch语句中,我们没办法直接实现分支,只有搭配break才可以实现真正的分支,break的作用实际效果就是把语句列表划分为不同的分支部分。题目中的1-5,6-7 就是两个分支。

4.在屏幕上打印1-10的数字(while 循环)

int main()
{
	int i = 1;
	while (i <= 10)
	{
		printf("%d ", i);
		i++;
	}
	return 0;
}

这是关于while循环的题目。 

5.在屏幕上打印1-10的数字(for 循环)

int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		printf("%d ", i);
	}
	return 0;
}

6.只打印数字字符,跳过其他字符

int main()
{
	char ch = '\0';
	while ((ch = getchar()) != EOF)
	{
		if (ch < '0' || ch >'9')
			continue;
		putchar(ch);
	}
	return 0;
}

getchar读一个字符,就把它放到ch里面,如果放到ch里面的字符在0-9中,则打印出来,反之则执行continue语句,不打印。

7.请问下面这个循环要循环多少次?

int main()
{
	int i = 0;
	int k = 0;
	for (i = 0, k = 0; k = 0; i++, k++)
		k++;
	return 0;
}

答案是0次,因为for循环的判断部分恒为假,循环根本就没有进去,自然也就是0次了。

你可能感兴趣的:(C语言题目总结,c语言)