关于C语言的题实验内容:(第1题必做,第2、3、4任选一个)1.数组的基本使用方法实验。包含数组的声明方法、初始化方法、

关于C语言的题
实验内容:(第1题必做,第2、3、4任选一个)
1.数组的基本使用方法实验。包含数组的声明方法、初始化方法、输入、输出方法、元素的引用方法以及数组作为函数参数的使用方法。
(1) 一维数组的声明、初始化及引用方法;
(2) 二维数组的声明、初始化及引用方法;
(3) 字符数组和字符串数组的初始化及引用方法的差异分析;
(具体实例参见教材实例)
测试函数声明和定义方法时,可以从以下几个方面进行测试:
1) 用已声明和定义的变量作为数组大小的声明;
2) 用已声明的const变量作为数组变量大小的声明;
3) 用宏名表示声明数组变量的大小;
4) 用表达式计算结果作为数组变量的大小;
5) 用宏的运算结果表示声明数组变量的大小。
(4) 分别按行序和列序顺序返回一个二维数组中各个元素的内存空间地址值,以观察数组元素在计算机内存中的排列规律。
2.一维数组的应用。具体实例如下:
(1) 有一个数组大小为10,内放10个数,请找出其中最大和最小元素来,并分别将其与数组第1个元素和最后1个元素交换。
3.二维数组应用。具体实例如下:
(1) 输入一个n*n的矩阵。
1) 试求除开对角线上元素之外的元素之和;
2) 求每行中与相应对角线元素不同的元素之和;
4.字符数组应用。具体实例:
(1) 有三行文字,请找出其中空格的个数,并统计单词的个数。(注:单词以一个或多个空格为间隔。如果一个单词刚好在行末结束,则下一行开头应该有空格,包含句号和逗号后面也应该有空格!)
tanqingg 1年前 已收到1个回答 举报

ttt3e 幼苗

共回答了10个问题采纳率:90% 举报

运行测试过的,放心用吧。
#include
#include
int main()
{
FILE *fpa = NULL;
FILE *fpb = NULL;
FILE *fpc = NULL;
int8_t A[2][3];
int8_t B[3][3];
int8_t C[2][3];
int i, j, p;
fpa = fopen("a.dat", "r");
fpb = fopen("b.dat", "r");
if (!fpa || !fpb) {
if (fpa) fclose(fpa);
if (fpb) fclose(fpb);
return 0;
}
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) fscanf(fpa, "%d", &(A[i][j]));
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) fscanf(fpb, "%d", &(B[i][j]));
}
printf("nMatrix A:n");
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) printf("%dt", A[i][j]);
printf("n");
}
printf("nMatrix B:n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) printf("%dt", B[i][j]);
printf("n");
}
fclose(fpa);
fclose(fpb);
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
C[i][j] = 0;
for (p = 0; p < 3; p++) {
C[i][j] += A[i][p] * B[p][j];
}
}
}
printf("nMatrix C:n");
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) printf("%dt", C[i][j]);
printf("n");
}
fpc = fopen("c.dat", "w");
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) fprintf(fpc, "%dt", C[i][j]);
fprintf(fpc, "n");
}
fclose(fpc);
return 0;
}
测试文件a.dat
1 2 3
4 5 6
测试文件b.dat
1 2 3
4 5 6
7 8 9
结果文件c.dat
30 36 42
66 81 96

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.038 s. - webmaster@yulucn.com