2019年春季学期第二周作业(附加第一周作业)

一、本周完成的作业:
第一周:
判断题
1-1
数组定义中,数组名后是用方括号括起来的常量表达式,不能用圆括号。 (1分)

T

1-2
在C语言中能逐个地使用下标变量,也能一次引用整个数组。 (1分)

F

1-3
同一个数组中的每个元素都具有相同的数据类型,有统一的标识符即数组名,用不同的序号即下标来区分数组中的各元素。 (1分)

T

1-4
数组定义后,数组名表示该数组所分配连续内存空间中第一个单元的地址,即首地址。 (1分)

T

1-5
数组定义后,数组名的值是一个地址,可以被修改。 (1分)

F

1-6
一维数组初始化的一般形式如下,即在定义数组时,对数组元素赋初值。其中初值表中依次放着数组元素的初值。

类型名 数组名[数组长度] = {初值表};
(1分)

T

编程题:

题目1.7-1 查找整数 (10 分)
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。

1).实验代码

include<stdio.h>

int main(void){
int a,b,i,c[20];
scanf("%d%d", &a, &b);
for(i = 0; i < a; i++)
scanf("%d", &c[i]);
for(i = 0; i < a; i++) {
if(c[i] == b) {
printf("%d\n", i);
break;
}
}
if(i >= a)
printf("Not Found\n");
return 0;
}

2) 设计思路

3).本题调试过程碰到问题及解决办法

问题:逻辑运算符==被用错为赋值=
解决:在该行的=后加上=

4).运行结果截图

题目2 7-2 求最大值及其下标 (20 分)
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

1).实验代码

include<stdio.h>

int main(void){
int n,i,z=0,a[10];
scanf("%d",&n);
for(i=0; i<n;i++){
scanf("%d",&a[i]);
}
for(i=1;i<n;i++){
if(a[i]>a[z])z=i;
}

printf("%d %d\n",a[z],z);
return 0;

}

2) 设计思路

3)本题调试过程碰到问题及解决办法

问题:第八行的i++少输了一个+号导致无法识别
解决:将+号补上
4).运行结果截图

第二周:
题目1.基础作业
找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。

1).实验代码

include<stdio.h>

include<stdlib.h>

int main(void){
FILE*fp;
int n,i,z=0,a[10];
if((fp=fopen("c:\hon.txt","rt+"))==NULL){
printf("error on open!\n");
exit(1);
}
scanf("%d",&n);
for(i=0; i<n;i++){
scanf("%d",&a[i]);
fscanf(fp,"%d",&a[i]);
}
for(i=1;i<n;i++){
if(a[i]>a[z])z=i;
}
printf("%d %d\n",a[z],z);
fprintf(fp,"%d %d\n",a[z],z);
if(fclose(fp)){
printf("can not close!\n");
exit(0);
}
return 0;
}

2) 设计思路

3)本题调试过程碰到问题及解决办法

问题:编译时出现头文件不包含的错误
解决:在开头加上#include<stdlib.h>
4).运行结果截图

二、学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
2/26-3/3 13小时 100 数组的使用 数组的定义是否可以用long
3/4-3/10 10小时 131 文件的指针 指针可不可以使用多个

三、学习感悟
程序在很多条件下都是可以互通的,就比如c语言编写的程序却可以用windows的命令提示符程序来利用。这实际上还是因为它们都是基于机械编码而生成的。

猜你喜欢

转载自www.cnblogs.com/xgzq000000/p/10502100.html