c语言练习13周(6~10)
-
编写void fun(int a[M][M],int m[M])函数,通过m数组返回二维数组各列的最大值,M为#define定义的常量。
-
编写void fun(int a[M][M],int m[M])函数,通过m数组返回二维数组各列的最大值,M为#define定义的常量。
-
编写int fun(char s[])函数,返回参数s是否为回文串,若是返回1否则返回0,不区分大小写。
-
编写void fun(int a[M][M])函数,将数组a中左下三角的所有元素值设置为0,M为定义好的符号常量。
-
编写void fun(int a[M][M],int b[M][M])函数,先将a数组转置到b,再将数组a数组加到b中,M为定义好的符号常量。
题干 | 编写void fun(int a[M][M],int m[M])函数,通过m数组返回二维数组各列的最大值,M为#define定义的常量。 若M为3,a数组为 1 9 4 8 5 6 7 2 1 调用函数返回的m数组为[8,9,6] |
//只填写要求的函数
void fun(int a[M][M], int m[M]) {
int i, j,k=0,max;
for (i = 0; i < M; i++) {
max = a[0][i];
for (j = 1; j < M; j++) {
if (a[j][i] > max)
max = a[j][i];
}
m[k++] = max;
}
}
题干 | 编写void fun(int a[],int n)函数,产生n个不重复的20-40之间的随机整数到a数组中。 提示:使用rand()函数(产生[0,32767]之间的随机整数)产生随机数从前到后依次放置a数组,若有重复则重新产生,fun函数中不能加srand()随机种子函数。 |
//只填写要求的函数
void fun(int a[20], int n) {
int i = 0,k=0;
while (i < 20) {
int n = rand() % 21 + 20;
int j=0;
for (k = 0; k < i; k++) {
if (a[k] == n)
{
j = 1;
break;
}
}
if (j == 0) {
a[i] = n;
i++;
}
}
}
题干 | 编写int fun(char s[])函数,返回参数s是否为回文串,若是返回1否则返回0,不区分大小写。 如:传入串"Aba"返回1,传入串"EfFe"返回1,传入串"EsFe"返回0。 |
//只填写要求的函数
#include<string.h>
int fun(char s[]) {
int i = 0;
while (s[i])
i++;
i--;
int n = strlen(s),j=0;
for (j = 0; j < n; j++) {
if (s[j] == s[i] || s[j] == s[i] - 32 || s[j] == s[i] + 32) {
return 1;
}
return 0;
}
//return 0;
}
题干 | 编写void fun(int a[M][M])函数,将数组a中左下三角的所有元素值设置为0,M为定义好的符号常量。 若M为3,a原数组为 1 2 3 4 5 6 7 8 9 调用函数后,a数组变为 0 2 3 0 0 6 0 0 0 |
//只填写要求的函数
//#define M 3
void fun(int a[M][M]) {
int i, j;
for (i = 0; i < M; i++) {
for (j = 0; j < M; j++) {
if (i >= j) {
a[i][j] = 0;
}
}
}
}
题干 | 编写void fun(int a[M][M],int b[M][M])函数,先将a数组转置到b,再将数组a数组加到b中,M为定义好的符号常量。 若M为3,a原数组为,a的转置数组为 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 调用函数后,b数组变为 2 6 10 6 10 14 10 14 18 |
//只填写要求的函数
//#define M 3
void fun(int a[M][M], int b[M][M]) {
int i, j,c[M][M];
for (i = 0; i < M; i++) {
for (j = 0; j < M; j++) {
b[i][j]=a[j][i] + a[i][j];
}
}
}