c语言正整数怎么编程

时间:2025-01-25 19:06:57 网络游戏

在C语言中,可以使用不同的数据类型来表示正整数,并根据需要选择合适的数据类型。以下是一些常见的方法和示例代码:

使用`int`类型

`int`类型用于表示范围在-2147483648到2147483647之间的整数,因此可以用来表示正整数。

示例代码:

```c

include

int main() {

int n;

printf("请输入一个正整数: ");

scanf("%d", &n);

printf("你输入的正整数是: %d\n", n);

return 0;

}

```

使用`unsigned int`类型

`unsigned int`类型用于表示范围在0到4294967295之间的无符号整数,因此可以用来表示正整数。

示例代码:

```c

include

int main() {

unsigned int n;

printf("请输入一个正整数: ");

scanf("%u", &n);

printf("你输入的正整数是: %u\n", n);

return 0;

}

```

使用`unsigned long int`类型

`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`类型

`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;

}

```

示例:判断一个正整数是否为素数