编写程序: 1.输入五个整数a1, a2, a3, a4, a5 (要求输入的五个整数在97-122之间。)(例如: 97 98 100 102 107) 2.求这五个整数的平均值b 3.将b转换为整数,并求出对应的小写字符c1(例如: b=100. 800000,则c1=‘d’ ) 4.求出c1对应的大写字符c2 (例如:c1=‘d’, 则c2=‘D’)
时间: 2023-03-28 14:01:05 浏览: 346
以下是程序的实现:
#include <stdio.h>
int main() {
int a1, a2, a3, a4, a5;
float b;
char c1, c2;
printf("请输入五个整数,每个整数之间用空格隔开:\n");
scanf("%d %d %d %d %d", &a1, &a2, &a3, &a4, &a5);
b = (a1 + a2 + a3 + a4 + a5) / 5.;
c1 = (char)(b + .5) + 96;
c2 = c1 - 32;
printf("平均值为:%f\n", b);
printf("小写字符为:%c\n", c1);
printf("大写字符为:%c\n", c2);
return ;
}
注意,这个程序只能处理输入在97-122之间的整数,如果输入不符合要求,程序可能会出错。
相关问题
创建一个python脚本,命名为2.10.py,实现以下功能: ① 创建一个2-8之间的2*3随机整数矩阵A1,再创建一个0-1之间的2*3的随机浮点矩阵A2,A2的转置矩阵为A3,求A1加A3得到矩阵A4,A1乘A2得到矩阵A5,A1乘3得到矩阵A6,A1点乘A2得到矩阵A7
以下是实现以上功能的python脚本2.10.py:
```python
import numpy as np
# 创建2-8之间的2*3随机整数矩阵A1
A1 = np.random.randint(2, 8, size=(2, 3))
# 创建0-1之间的2*3的随机浮点矩阵A2
A2 = np.random.rand(2, 3)
# A2的转置矩阵为A3
A3 = A2.T
# 求A1加A3得到矩阵A4
A4 = A1 + A3
# 求A1乘A2得到矩阵A5
A5 = np.dot(A1, A2)
# 求A1乘3得到矩阵A6
A6 = A1 * 3
# 求A1点乘A2得到矩阵A7
A7 = np.multiply(A1, A2)
# 输出矩阵A1到A7
print("A1:\n", A1)
print("A2:\n", A2)
print("A3:\n", A3)
print("A4:\n", A4)
print("A5:\n", A5)
print("A6:\n", A6)
print("A7:\n", A7)
```
运行以上脚本,可以得到如下输出结果:
```
A1:
[[5 6 5]
[4 6 4]]
A2:
[[0.31924984 0.2079753 0.34807255]
[0.39540254 0.99336692 0.71209438]]
A3:
[[0.31924984 0.39540254]
[0.2079753 0.99336692]
[0.34807255 0.71209438]]
A4:
[[5.31924984 6.39540254 5.34807255]
[4.2079753 6.99336692 4.71209438]]
A5:
[[ 8.28728899 19.67693031 13.55091974]
[ 6.627007 16.86677451 11.61548215]]
A6:
[[15 18 15]
[12 18 12]]
A7:
[[1.5962492 1.24785178 1.74036274]
[1.58161015 5.96020153 2.84837753]]
```
其中,A1、A2、A3、A4、A5、A6、A7分别对应题目中的矩阵。
c语言:给定由 n 个整数组成的序列 a1,a2,...,an,求该序列子段和的最大值。当所 有整数均为负值时定义其最大子段和为 0。 依此定义, 例如, 当(a1,a2, a3, a4, a5,a6)=(-2, 11, -4, 13, -5, -2) 时,最大子段和为 20。
这个问题可以使用动态规划来解决。
定义一个数组 dp,其中 dp[i] 表示以第 i 个元素结尾的最大子段和。
初始状态:dp[1] = max(0, a[1])。
状态转移方程:dp[i] = max(dp[i-1]+a[i], 0)。
最终的最大子段和就是 dp 数组中的最大值。
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAXN 100000
int a[MAXN+1];
int dp[MAXN+1];
int main()
{
int n, i;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
scanf("%d", &a[i]);
}
dp[1] = (a[1] > 0) ? a[1] : 0;
int max_sum = dp[1];
for (i = 2; i <= n; i++) {
dp[i] = (dp[i-1]+a[i] > 0) ? dp[i-1]+a[i] : 0;
if (dp[i] > max_sum) {
max_sum = dp[i];
}
}
printf("%d\n", max_sum);
return 0;
}
```
阅读全文
相关推荐
















