编写一个函数sum(,将输入的整形参数i ( i>0 )的各位求和,返回求和结果。在main)函数中测试此函数,从键盘输入整数n (n∈[1,20]), 然后再输入n个非负整数,对于每一个非负整数调用sum函数求各位数和,将结果输出到屏幕。 [输入形式] 从键盘输入一一个正整数n,然后再输入n个非负整数。 [输出形式] 在屏幕上分别输出n个非负整数的各位之和,并用一个空格隔开各个整数的和。[输入样例]
时间: 2024-02-11 16:06:48 浏览: 17
这是一个完整的C++程序,包括sum函数和main函数,可以满足你的需求:
```c++
#include<iostream>
using namespace std;
int sum(int i){ //定义sum函数
int s = 0;
while(i){
s += i % 10;
i /= 10;
}
return s;
}
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; i++){
int num;
cin >> num;
cout << sum(num) << " ";
}
return 0;
}
```
注意:本程序只能处理非负整数,不能处理负数。
相关问题
编写一个函数sum(i),将输入的整形参数i(i≥0)的各位求和,返回求和结果。在main()函数中测试此函数,从键盘输入整数n(n∈[1,20]),然后再输入n个非负整数,对于每一个非负整数调用sum函数求各位数和,将结果输出到屏幕。
### 回答1:
编写一个函数sum(i),将输入的整形参数i(i≥0)的各位求和,返回求和结果。在main()函数中测试此函数,从键盘输入整数n(n∈[1,20]),然后再输入n个非负整数,对于每一个非负整数调用sum函数求各位和,将结果输出到屏幕。
### 回答2:
在使用C++编程时,实现一个可以计算整数各位数和的函数sum(i)是非常简单的。我们可以使用循环和取模的方式来实现该函数。具体实现如下。
int sum(int i)
{
int sum = 0; // sum用于存储各位数的和
while (i > 0)
{
sum += i % 10;
i /= 10;
}
return sum;
}
在上述代码中,使用while循环计算了整数i的各个位数之和,循环体内部的语句都是很简单的,就是计算i的末位数字并将其累加到sum变量中,然后将i除以10,使得它的末位数字被去掉。最后,返回sum就完成了计算。
为了测试这个函数,我们还需要编写一个main()函数,用于从键盘中读取输入,并对输入的整数进行求和操作。该main()函数实现如下。
int main()
{
int n; // n用于存储需要计算各位数的整数的数量
cin >> n;
while (n-- > 0)
{
int i; // i用于存储需要计算各位数的整数
cin >> i;
cout << sum(i) << endl; // 输出计算结果
}
return 0;
}
在上述代码中,首先从键盘中读取整数n,表示需要计算各位数的整数的数量。接下来,在while循环中,读取每一个需要计算各位数的整数i,并将其传递给sum函数进行计算,然后将计算结果输出到屏幕上。最后,整个程序结束,main函数返回0。
通过以上程序,我们就可以轻松地实现一个可以计算整数各位数和的函数,并且可以测试该函数的功能。
### 回答3:
编写一个函数 sum(i),实现将输入的整形参数i(i≥0)各位数字的求和,返回求和的结果。在 main() 函数中测试此函数,从键盘输入整数 n( n ∈[1,20] ),然后再输入 n 个非负整数,对于每一个非负整数调用 sum 函数求各位数和,将结果输出到屏幕。
1.函数的实现
sum 函数的实现如下:
```
int sum(int i)
{
int digitsum = 0; // 初始化各位数字的和为0
while(i > 0)
{
digitsum += i % 10; // 取每一位数字,并累加到digitsum中
i /= 10;
}
return digitsum; // 返回各位数字的和
}
```
2.main 函数的实现
在 main 函数中,先从键盘输入整数 n,并用一个循环来读取 n 个非负整数。对于每一个非负整数,调用 sum 函数求它的各位数和,并将结果输出到屏幕上。
```
int main()
{
int n;
cout << "请输入整数个数n(n∈[1,20]):";
cin >> n;
if(n < 1 || n > 20)
{
cout << "输入的n超出范围!" << endl;
return 0;
}
cout << "请输入" << n << "个非负整数:";
int a;
for(int i = 0; i < n; i++)
{
cin >> a;
if(a < 0)
{
cout << "输入的整数必须非负!" << endl;
return 0;
}
int digitsum = sum(a);
cout << a << "的各位数字之和为:" << digitsum << endl;
}
return 0;
}
```
3.完整代码如下
```
#include <iostream>
using namespace std;
int sum(int i)
{
int digitsum = 0; // 初始化各位数字的和为0
while(i > 0)
{
digitsum += i % 10; // 取每一位数字,并累加到digitsum中
i /= 10;
}
return digitsum; // 返回各位数字的和
}
int main()
{
int n;
cout << "请输入整数个数n(n∈[1,20]):";
cin >> n;
if(n < 1 || n > 20)
{
cout << "输入的n超出范围!" << endl;
return 0;
}
cout << "请输入" << n << "个非负整数:";
int a;
for(int i = 0; i < n; i++)
{
cin >> a;
if(a < 0)
{
cout << "输入的整数必须非负!" << endl;
return 0;
}
int digitsum = sum(a);
cout << a << "的各位数字之和为:" << digitsum << endl;
}
return 0;
}
```
c++定义一个求和函数,包含三个参数,给三个参数分别给定默认值,main函数
如何调用该函数?
以下是一个求和函数的C++定义,包含三个参数并给三个参数分别给定默认值:
```c++
int sum(int a = 0, int b = 0, int c = 0) {
return a + b + c;
}
```
在main函数中,调用该函数并将参数设置为默认值:
```c++
int main() {
// 调用函数,使用默认值
int result1 = sum(); // result1 = 0
int result2 = sum(1); // result2 = 1
int result3 = sum(1, 2); // result3 = 3
int result4 = sum(1, 2, 3); // result4 = 6
return 0;
}
```
在调用sum函数时,如果不提供参数则会使用默认值。如果提供了部分参数,则使用提供的参数覆盖默认值,未被提供的参数会使用默认值。