1、新建一个Win32控制台程序:

求100以内的素数 水仙花数_水仙花数


2、预处理命令


3、常量、变量


4、基本数据类型:整型、浮点型、字符型、(布尔型)(占用内存的字节与cpu有关)


5、变量的声明、定义和初始化:(在内存中是否存在) 另:关键字extern


6、变量的作用域:全局作用域、局部作用域、块作用域、文件作用域(static)


7、逻辑运算符:与、或、非


8、关系运算符:>、<、>=、<=、==、!=


9、位运算:二进制


10、编程规范:二目运算符前后都空一格



课堂题目1:求100以内的素数?

void sushu()
{
	// 先假设该数为素数
	bool bFlag = true;
	for (int i = 2; i <= 100; i++)
	{
		// 先假设该数为素数
		bFlag = true;
		for(int j = 2; j <= sqrt((double)i); j++)
		{
			if(i % j == 0)
			{
				// 该数不是素数
				bFlag = false;
				break;
			}
		}

		if(bFlag)
		{
			printf("%d\t",i);
		}
	}
}



在main函数中调用该函数,运行结果如下:

求100以内的素数 水仙花数_i++_02


用while语句改写:


void sushu2()
{
	bool bFlag = true;
	int i = 2;
	while (i <= 100)
	{
		bFlag = true;
		int j = 2;
		while (j <= sqrt((double)i))
		{
			if(i % j == 0)
			{
				bFlag = false;
				break;
			}
			j++;
		}
		if(bFlag)
		{
			printf("%d\t",i);
		}
		i++;
	}
}



运行结果同上



课堂题目2:水仙花数(水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153))

void shuixianhua()
{
	// 个位、十位、百位、千位
	int ge, shi, bai, qian;

	for (int i = 100; i < 10000; i++)
	{
		// 分离出每一位的值
		ge = i % 10;
		shi = i % 100 / 10;
		bai = i % 1000 / 100;
		qian = i % 10000 / 1000;
		
		// 3位水仙花数
		if (i < 1000 && ge*ge*ge + shi*shi*shi + bai*bai*bai == i)
		{
			printf("%d\t",i);
		}
		
		// 4位水仙花数
		if (i > 1000 && pow((double)ge,4) + pow((double)shi,4) + pow((double)bai,4) + pow((double)qian,4) == i)
		{
			printf("%d\t",i);
		}
	}
}



运行结果:

求100以内的素数 水仙花数_i++_03