学习日志 姓名:孔令斌 日期:2018.7.10
今日学习任务 | 数组 |
今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) | 今日任务已按计划完成,在老师的带领下,我们完成了一维数组,二维数组,字符数组,函数等程序的编写。 |
今日开发中出现的问题汇总 | 一维数组挺简单,但二维数组就比较复杂,没能完全搞懂,函数的运用基本没问题了,但编写代码时偶尔还是会出错,同时,今天用的软件出了点差错,让我废了许久才能成功运行,导致课上有些内容没能跟上动手实践,因此了解不深。 |
今日未解决问题 | 二维数组的运用不太了解 |
今日开发收获 | 1.未初始化的全局变量为0,未初始化的局部变量是随机数;2.&a[0]数组首元素的地址,a数组名,同时也是数组首元素地址,&a数组地址;3.形参个数和实参保持一致,类型要一样4.声明不需要分配空间,定义需要;5.static修饰的全局变量,改变变量的作用域,只能在当前文件使用; 6.static修饰函数,修改函数的作用域,只能在当前文件使用;7.static修饰局部变量,改变变量的声明周期,知道程序的运行结束,才被释放。 |
自我评价 (是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等) | 今天的内容比昨天要难些,有些内容没能弄懂,还好同学听懂了,这让我有机会可以回到宿舍慢慢请教。 |
其他 | 希望老师可以将课件发至群文件 |
#include<stdio.h>
#include<string.h>
void input(char a[])
{
printf("输入字符串\n");
scanf("%s",a);
}
int count(char a[])
{
return strlen(a);
}
void ins(char x[],char y[],int s,int n)
{
char ch[10];
int i,j;
printf("输入插入字符\n");
scanf("%s",ch);
if(s>=n)
{
for(i=0;i<n;i++)
{
y[i]=x[i];
}
y[i]=ch[0];
for(j=i,i++;i<=s;i++,j++)
{
y[i]=x[j];
}
for(i=0;i<s+1;i++)
{
x[i]=y[i];
}
}
if(s<n)
{
printf("input error\n");
while(1);
}
}
int main()
{
char a[100]={0},b[100]={0},ch;
int str,num;
input(a);
str=count(a);
printf("输入在第几个字符后插入字符\n");
scanf("%d",&num);
ins(a,b,str,num);
printf("插入后\n");
printf("%s\n",a);
while(1);
return 0;
}
任务二:设计一个洗牌发牌的程序
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
int RandomNum, a[52] = {0};
int i, j, flag = 0, tmp=0;
while(1)
{
flag = 0;
if(tmp == 53)
break;
RandomNum = (rand()%52) + 1;
for(i = 0; i < tmp; i++)
{
if(a[i] == RandomNum)
flag = 1;
}
if(flag != 1)
{
a[tmp] = RandomNum;
printf("第%2d个是: %d\n",tmp+1,a[tmp]);
tmp++;
}
}
while(1);
return 0;
}