.计算并打印从1到一个给定整数 n 的所有整数的平方和。 (使用 for /while/do while循环分别实现) (输入一个正整数n,输出一个正整数的结果) (如果输入负数或非整数需要提示输入错误并提示重新输入) 用c语言
时间: 2024-09-20 22:09:39 浏览: 75
NumericalSequence:打印平方小于给定n的数字
在C语言中,你可以使用for、while和do-while循环来计算并打印从1到给定整数n的所有整数的平方和。下面是一些示例代码:
1. 使用`for`循环:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
// 输入验证
printf("请输入一个正整数: ");
if(scanf("%d", &n) != 1 || n <= 0) { // 检查是否输入的是正整数
printf("输入错误,请重新输入。\n");
return 1;
}
for(int i = 1; i <= n; i++) {
sum += i * i; // 计算平方和
}
printf("1到%d的所有整数的平方和为: %d\n", n, sum);
return 0;
}
```
2. 使用`while`循环:
```c
#include <stdio.h>
int main() {
int n = 0, sum = 0, input;
// 输入验证
while(1) {
printf("请输入一个正整数: ");
scanf("%d", &input);
if(input > 0 && scanf("%d", &n) == 1) { // 检查输入
break;
} else {
printf("输入错误,请重新输入。\n");
continue;
}
}
int i = 1;
while(i <= n) {
sum += i * i;
i++;
}
printf("1到%d的所有整数的平方和为: %d\n", n, sum);
return 0;
}
```
3. 使用`do-while`循环:
```c
#include <stdio.h>
int main() {
int n = 0, sum = 0, input;
// 输入验证
do {
printf("请输入一个正整数: ");
scanf("%d", &input);
} while(input <= 0); // 直到得到正整数
n = input;
int i = 1;
do {
sum += i * i;
i++;
} while(i <= n);
printf("1到%d的所有整数的平方和为: %d\n", n, sum);
return 0;
}
```
在这三个例子中,用户会被提示输入一个正整数,然后程序会计算并打印出相应的平方和。如果输入无效,程序会提示用户重新输入。
阅读全文