编写double fun(int a[],int n)函数,计算返回评分数组a中,n个评委打分,去掉一个最高分去掉一个最低分之后的平均分
|----|---|---|---|
| 题干 | 编写double fun(int a[],int n)函数,计算返回评分数组a中,n个评委打分,去掉一个最高分去掉一个最低分之后的平均分。 |||
cpp
double fun(int a[], int n) {
int max=0, min=0,i,j,t;
double s = 0,c;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (a[j] > a[j + 1]) {
t = a[j + 1];
a[j + 1] = a[j];
a[j] = t;
}
}
}
//min = a[0];
//max = a[n - 1];
for (i = 1; i < n-1; i++) {
s += a[i];
}
//c =(double)(s*1.0 / (n-2));
c =(s*1.0 / (n-2));
return c;
}
编写int fun(int a[][4],int n)函数,返回n行4列二维数组a中的最大值。
|----|---|---|---|
| 题干 | 编写int fun(int a[][4],int n)函数,返回n行4列二维数组a中的最大值。 若a数组如下,返回最大值9 1 2 3 6 4 5 6 3 7 8 9 5 |||
cpp
//只填写要求的函数
int fun(int a[][4], int n) {
int i, j,max=0;
for (i = 0; i < n; i++) {
for (j = 0; j < 4; j++) {
if (a[i][j] > max) {
max = a[i][j];
}
}
}
return max;
}
编写void fun(int a[M][M])函数,将数组a中右上三角的所有元素乘以2,M为定义好的符号常量
|----|---|---|---|
| 题干 | 编写void fun(int a[M][M])函数,将数组a中右上三角的所有元素乘以2,M为定义好的符号常量。 若M为3,a原数组为 1 2 3 4 5 6 7 8 9 调用函数后,a数组变为 2 4 6 4 10 12 7 8 18 |||
cpp
//只填写要求的函数
void fun(int a[M][M]) {
for (int i = 0; i < M; i++) {
for (int j = 0; j < M; j++) {
if (i <= j)
a[i][j] *= 2;
}
}
return;
}
编写int fun(char s[])函数,返回数字串对应的整数,也可能是负数,参数串保证是合法正负整数串
|----|---|---|---|
| 题干 | 编写int fun(char s[])函数,返回数字串对应的整数,也可能是负数,参数串保证是合法正负整数串。 如:传入串"134"返回整数134;传入串"1967"返回整数1967;传入串"-1967"返回整数-1967 |||
cpp
//只填写要求的函数
int fun(char s[]) {
int a;
sscanf(s, "%d", &a);
return a;
}
输入整数 N(1≤N≤9),输出如下 N 阶方阵
|------|---|---|---|
| 题干 | 输入整数 N(1≤N≤9),输出如下 N 阶方阵。 若输入5显示如下方阵: * 1** 2** 3** 4** 5* *16**17**18**19** 6* *15**24**25**20** 7* *14**23**22**21** 8* *13**12**11**10** 9* |||
| 输入样例 | 3 |||
| 输出样例 | * 1** 2** 3* * 8** 9** 4* * 7** 6** 5* |||
cpp
#define M 9
#include<stdio.h>
void Print(int a[M][M],int n) {
int i,j;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("*%2d*", a[i][j]);
}
printf("\n");
}
}
void fz(int a[M][M], int n) {
int k, hang = 0, lie = 0, hangt, liet, fx=0, wy[4][2] = { {0,1},{1,0},{0,-1},{-1,0} };
for (k = 1; k <= n*n; k++) {
a[hang][lie] = k;
hangt = hang + wy[fx][0];
liet = lie + wy[fx][1];
if (hangt >= n || liet >= n || hangt < 0 || liet < 0 || a[hangt][liet] != 0) {
fx = (fx + 1) % 4;
hangt = hang + wy[fx][0];
liet = lie + wy[fx][1];
}
hang = hangt;
lie = liet;
}
}
int main() {
int a[M][M] = { 0 },n;
scanf("%d", &n);
fz(a, n);
Print(a, n);
return 0;
}