苏嵌项目实战 学习日志
姓名:杨星月 日期:20180904
今日学习任务:
学习如何定义一个结构体变量。
学会自定义头文件。
理解栈的用法,编写进栈,出栈和读取栈中元素的程序。
今日任务完成情况:
学会了如何定义一个结构体变量。
编写了栈的相关函数:
编写了初始化栈的函数;
编写了程序来判断一个栈是否为空;
编写进栈、出栈函数;
编写获取栈顶元素的函数初
步掌握了C语言当中栈的相关知识。
今日开发中出现的问题汇总:
栈的相关函数的编写过程中出误,编写代码的过程中还不够细心。
程序编写困难,对栈的理解不够深刻,打字慢。
今日未解决问题:
栈的相关知识理解得还不是十分透彻。
今日开发收获:
学习了C语言当中栈的相关知识,并学会编写相关函数,对栈进行操作。
自我评价:
按开发规范完成了既定任务;
课后还需继续复习课堂上学习的知识;
进步空间还很大,要继续努力。
作业:
一、输入一个字符串,计算字符串中子串出现的次数
#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
printf(“Please input your string.\n”);
scanf(“%s”,a);
char * c = a;
char b[10];
printf(“Please input the subsidiary string. \n”);
scanf(“%s”,b);
char * d = b;
int n;
int num = 0;
n = strlen(d);
while(strlen(c) > 0)
{
if(strncmp(c,d,n) == 0)
{
num++;
c += n;
}
else
{
c++;
}
}
printf(“%d\n”,num);
return 0;
}
二、编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,即将句子中的单词位置倒置,而不改变单词内部结构
#include <stdio.h>
#include <string.h>
int main()
{
char str[]="I am from shanghai";
printf("%s\n",str);
//puts (str);
char tmp;
char *p1 = str;
char *p2 = str + strlen(str) -1;
while (p1<p2)
{
tmp = *p1;
*(p1++) = *p2;
*(p2--) = tmp;
}
char *p3 = NULL;
p1 = str;
p2 = str;
while (*p2)
{
if (*p2 == ’ ‘)
{
p3 = p2 - 1;
while (p1