这个作业属于哪个课程 | C语言程序设计 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/computer-scienceclass1-2018/homework/2828 |
我在这个课程的目标是 | 学会编程吃口饭 |
这个作业在那个具体方面帮助我实现目标 | 指针是C语言特别重要的部分,学习指针对我的C语言会有很大帮助 |
参考文献 | 二维数组 |
基础作业
实验代码
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
char a[21][11] = { ' ' };
char b[11] = { ' ' };
int i = 0;
if((fp = fopen ("D:\llz.txt","r+")) == NULL)
{
printf("File open error!
");
exit (0);
}
while (1)
{
fscanf(fp,"%s", a[i]);
if (a[i][0] == '~')
break;
i++;
}
a[i][0] = ' ';
int len = i;
int j = 0;
for (i = 0; i < len; i++) \冒泡排序
{
for (j = 1; j < len - i; j++)
{
if (strlen(a[j - 1]) > strlen(a[j])) //strcpy(a,b) b 的值 复制给 a。交换a [ i ] 和 a [ j + 1 ] 的值
{
strcpy(b, a[j - 1]);
strcpy(a[j - 1], a[j]);
strcpy(a[j], b);
}
}
}
for (i = 0; i < len; i++)
{
printf("%s ", a[i]);
fprintf(fp,"
%s ",a[i]);
}
if(fclose (fp))
{
printf("Can not close the file!
");
exit (0);
}
return 0;
}
设计思路
遇到的问题及解决办法
编译错误,二维数值中的值赋到一维数组中不能用赋值符号,用strcpy函数来实现。
运行结果截图
挑战作业
想法?:二维数组中为矩形的数组都计算它们的值,然后比较大小,输出最大值。
第五周预习作业
1.习题的主要内容:指针
2.完成情况截图:
3.预习中存在的疑惑:2-6题输出(*p++)的值是5,可是++之后不应该是6吗? 2-7题中为什么a没有+1,但是b+1了
第四周预习作业
实验代码
#include <stdio.h>
#include <string.h>
int main()
{
char str[1000];
int i, len, num;
gets(str);
len = strlen(str);
if(str[0] == ' ')
num = 0;
else
num = 1;
for (i = 0;i < len - 1; i++)
{
if(str[i] == ' ' && str[i + 1] != ' ')
num++;
}
printf("%d",num);
}
设计思路
运行结果截图
学习耗时:12h
代码行数:300
学习感悟:1.学习内容字符串,字符数组。指针。收获:又打了很多代码。