在C语言中,可以使用不同的数据类型来表示正整数,并根据需要选择合适的数据类型。以下是一些常见的方法和示例代码:
使用`int`类型
`int`类型用于表示范围在-2147483648到2147483647之间的整数,因此可以用来表示正整数。
示例代码:
```c
include int main() { int n; printf("请输入一个正整数: "); scanf("%d", &n); printf("你输入的正整数是: %d\n", n); return 0; } ``` `unsigned int`类型用于表示范围在0到4294967295之间的无符号整数,因此可以用来表示正整数。 示例代码: ```c include int main() { unsigned int n; printf("请输入一个正整数: "); scanf("%u", &n); printf("你输入的正整数是: %u\n", n); return 0; } ``` `unsigned long int`类型用于表示范围在0到4294967295之间的无符号长整数,因此可以用来表示更大的正整数。 示例代码: ```c include int main() { unsigned long int n; printf("请输入一个正整数: "); scanf("%lu", &n); printf("你输入的正整数是: %lu\n", n); return 0; } ``` `unsigned long long int`类型用于表示范围在0到18446744073709551615之间的无符号长整数,因此可以用来表示非常大的正整数。 示例代码: ```c include int main() { unsigned long long int n; printf("请输入一个正整数: "); scanf("%llu", &n); printf("你输入的正整数是: %llu\n", n); return 0; } ``` 示例:求一个正整数的阶乘 ```c include int factorial(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } int main() { int n; printf("请输入一个正整数: "); scanf("%d", &n); int fact = factorial(n); printf("%d的阶乘是: %d\n", n, fact); return 0; } ``` 示例:输出从2到n间的全部完数 ```c include void print_perfect_numbers(int n) { for (int i = 2; i <= n; i++) { int sum = 1; for (int j = 1; j < i; j++) { if (i % j == 0) { sum += j; } } if (sum == i) { printf("%d ", i); } } printf("\n"); } int main() { int n; printf("请输入一个正整数: "); scanf("%d", &n); print_perfect_numbers(n); return 0; } ``` 示例:判断一个正整数是否为素数使用`unsigned int`类型
使用`unsigned long int`类型
使用`unsigned long long int`类型