目录

C语言算数转换作业


目录

C语言算数转换作业

判断下面程序的输出结果

#include <stdio.h>
int i; // i是全局变量,不初始化,默认是0
int main(void) {
	i--; // -1
	// sizeof这个操作符,算出的结果的类型是unsigned int
	// int类型与unsigned int类型比较时将int类型转换为unsigned int类型进行比较
	if (i>sizeof(i)) { // -1<4 Error
		printf(">\n"); // √
	}
	else{
		printf("<\n");
	}
	return 0;
}

求水仙花数

#include <stdio.h>
#include <math.h>
int main(void) {
	// 判断i是否是自幂数
	for (int i = 0; i <= 100000;i++) {
		// 1.计算i的位数
		int i_size = 1;
		int temp = i;
		while (temp/10) {
			temp = temp / 10;
			i_size++;
		}
		// 2.计算i的每一位的n次方
		double result = 0;
		temp = i;
		while (temp) {
			result += pow((temp % 10), i_size);
			temp /= 10;
		}
		// 3.判断
		if (result == i) {
			printf("%d ",i);
		}
	}
	return 0;
}