姓名:陈蓉蓉 日期:2018.09.10
今日学习任务: 安装软件,熟悉嵌入式开发环境、复习c语言
问题汇总:很多c语言方面的知识已遗忘、语法编译不熟练
今日未解决问题: c语言知识概念模糊
今日开发收获:复习了c语言相关知识,加深了印象,熟悉了Linux下C语言程序的编程与编译
自我评价:今天的任务基本完成,完成了老师
所布置的任务,编写了一些简单的程序
作业:
一、输入一个字符串,计算字符串中子串出现的次数
#include <stdio.h>
#include <string.h>
#include <stdlib.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>
#include <stdlib.h>
int main()
{
char *str[4];
char *ptr = "I am from shanghai";
int i, j;
for (i = 0; i<4; i++)
{
str[i] = (char *)malloc(sizeof(char) * 20);
}
for(i = 0; i < 4; i++)
{
ptr ++;
for (j = 0; j<20; j++)
{
if(*(ptr - 1) == ' ' || *(ptr - 1) == '\0')
{
break;
}
strncat(str[i],ptr - 1, 1);
ptr++;
}
}
for(i = 3; i >= 0; i--)
{
printf("%s ",str[i]);
}
printf("\n");
return 0;
“`