计算i!×2^i的值并存入数组 a[0..n-1]的第i-1个分量中 (i=1,2,…,n)

计算i!×2^i的值并存入数组a[0…n-1]的第i-1个分量中 (i=1,2,…,n)。假设计算机中允许的整数最大值为MAXINT,则当对某个k(1≤k≤n)使k!×2^k>MAXINT时,应按出错处理。注意选择你认为较好的出错处理方法。

Status Series(int a[], int n) 
/* 求i!*2^i序列的值并依次存入长度为n的数组a;     */
/* 若所有值均不超过MAXINT,则返回OK,否则OVERFLOW */
{
     int i,sum1=1,sum2=1;
     if(n<0)
        return OVERFLOW;
     for(i=0;i<n;i++){
        sum1*=(i+1);
        sum2*=2;
        if(sum1*sum2>MAXINT)
            return OVERFLOW;
        a[i]=sum1*sum2;
     } 
     return OK;  
}
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,我们可以先输入10个整数,然后判断每个整数是否为奇数。如果是奇数,就把它存入数组a。接着,对数组a的每个奇数元素求质数,将所有质数加起来并除以元素个数,即可得到平均。最后,输出该平均即可。 ### 回答2: 首先,我们需要用一个循环来输入10个整数,并存入数组a。例如: ```python a = [] # 定义空数组a # 用循环输入10个整数,并存入数组a for i in range(10): num = int(input("请输入第{}个整数:".format(i+1))) a.append(num) ``` 接下来,我们需要用另一个循环来计算输出数组为奇数的元素的平均。具体的实现方法是,用一个变量sum来保存数组所有奇数的和,再用一个变量count来记录数组奇数的个数,最后用sum除以count就可以得到平均。例如: ```python sum = 0 # 初始化变量sum为0 count = 0 # 初始化变量count为0 # 用循环遍历数组a,计算所有奇数的和,并记录奇数的个数 for num in a: if num % 2 != 0: # 如果该元素是奇数 sum += num # 将其加入sum count += 1 # 记录奇数的个数 # 计算平均并输出结果 if count > 0: # 确保数组有奇数 avg = sum / count # 计算平均 print("数组为奇数的元素的平均为:{:.2f}".format(avg)) else: print("数组没有奇数。") ``` 通过以上代码,我们就可以输入10个整数,并存入数组a,然后计算输出数组为奇数的元素的平均。完整代码如下: ### 回答3: 首先,我们需要定义一个包含10个整数的数组a,并通过循环语句输入这10个整数。可以使用for循环或者while循环来完成这个过程。以下是一个使用for循环的例子: int a[10]; // 定义一个包含10个整数的数组a cout << "请输入10个整数:" << endl; for(int i = 0; i < 10; i++){ cin >> a[i]; // 输入10个整数,并存入数组a } 接下来,我们需要遍历数组a,找出其的奇数元素并计算它们的平均。可以使用for循环来遍历数组a,并使用if语句来判断每个元素是否为奇数。以下是一个计算奇数元素平均的例子: int sum = 0; // 定义一个变量用于存储奇数元素的和 int count = 0; // 定义一个变量用于计数 for(int i = 0; i < 10; i++){ if(a[i] % 2 != 0){ // 判断元素是否为奇数 sum += a[i]; // 如果是奇数,累加到sum count++; // 计数器加1 } } if(count == 0){ // 如果没有奇数元素 cout << "数组不存在奇数元素!" << endl; } else{ // 如果有奇数元素 double average = (double)sum / count; // 计算平均 cout << "数组奇数元素的平均为:" << average << endl; } 需要注意的是,由于除法运算可能产生小数,因此我们在计算平均的过程需要将sum强制转换为double类型,以避免精度丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值