今日学习任务 1. 完成老师给的嵌入式Linux开发工具篇题目整理;2. 3小时内完成4到C语言编程题。今日任务完成情况 1. 上午题目整理在时间内基本完成;2. 下午编程题在教室内完成3道,最后一道在课后完成。今日开发中出现的问题汇总 1. 题目整理中有些题目有一点点记忆,但是不知道具体的,完整的答案;2. 编程题有些函数例如gets需要查询书本,或是从网上找答案。 今日未解决问题 无今日开发收获今天系统地回顾并巩固了这些天所学的所有知识点,复习了C语言编程里的语法,也加强了对vim文本编辑器的掌握。 自我评价 今天学习任务基本按计划完成,对C语言的知识点又做到了巩固,同时发现这些天的所学的东西还有记得不牢固的。其他 无代码:
1.杨辉三角
#include
int main()
{
int i;
int j;
int n;
int a[11][11] = {1};//定义11行11列的范围
if(n > 0 && n < 11)
{
printf("Please enter the number of rows for the triangle:
");
}//判断输入行数是否在定义的范围内
scanf("%d",&n);
for(i = 1; i < n; i++)//从第二列开始执行
{
a[i][0] = 1;//第一列的元素为1
a[i][i] = 1;//第i列第i行的元素为1
for(j = 1; j < i; j++)//从第二行开始执行
{
a[i][j] = a[i-1][j-1] + a[i-1][j];//每个数是上面两数之和
}
}
for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
printf("%5d",a[i][j]);//输出杨辉三角
printf("
");
}
}
2.计算器:
#include
int main()
{
float a;
float b;
float d;
char c;
printf("Please enter the algorithm:
");
scanf("%1f%c%1f",&a,&c,&b);//输入a的值、c的类型、b的值
switch(c)
{
case'+':d = a + b;//输入'+'执行加法算法
printf("The result of the calculation is: %1f
",d);break;
case'-':d = a - b;//输入'-'执行减法算法
printf("The result of the calculation is: %1f
",d);break;
case'*':d = a * b;//输入'*'执行乘法算法
printf("The result of the calculation is: %1f
",d);break;
case'/':d = a / b;//输入'/'执行除法算法
printf("The result of the calculation is: %1f
",d);break;
}
}
3.n的阶乘:
#include
int main()
{
int i = 1;
int n = 1;
int s = 1;
printf("Please enter the number of n:
");//输入n的值
scanf("%d",&n);
for(i = 1; i <= n; i++)//第一个数为1,从1开始循环加1
{
s = s * i;//s等于第一个i和后一个i的乘积
}
printf("n!=%d
",s);//输出n的阶乘
return 0;
}
4.子串在字符串出现的次数:
#include
#include
int main()
{
char str1[100];//定义字符串str1
char str2[10];//定义字符串str2
printf("请输入字符串str1:
");
gets(str1);//读取str1
printf("请输入子串str2:
");
gets(str2);//d读取str2
printf("num=%d
",findnum(str1,str2));
return 0;
}
//从str1中查找str2的个数,并返回
int findnum(char *str1, char *str2)
{
int n = strlen(str2);
int num = 0;
while(str1 = strstr(str1,str2))//如果查找到则执行循环,否则为空退出
{
num++;//统计次数
str1 += n;//加上偏移量,即删除str2
}
return num;
}