苏嵌 项目实战
学习日志 姓名:高瑞 日期:2018.7.10
今日学习任务 一维二维数组的定义使用
自定义函数的声明调用
今日任务完成情况 一维 二维数组的初始化 与赋值
一维二维数组与指针的关系
函数的使用 调用
交换函数的使用方法
#include<stdio.h>
int swap(int*x,int*y)
{
int tmp;
tmp=*x;
*x=*y;
*y=tmp;
return 0;
}
int main()
{
int a=1,b=2;
swap(&a,&b); //地址传递(当涉及修改内存里面的值)
printf("a=%d,b=%d\n",a,b);
while(1);
return 0;
}
4种变量的声明与区别
static修饰全局变量和局部变量#include<stdio.h>
//static int mun =100; //定义一个全局变量
//static修饰全局变量 改变变量的作用域 只能在当前文件中使用
// static修饰函数 改变函数的作用域 只能在当前文件被使用
// static 修饰局部变量时 改变局部变量的声明周期 直到程序运行结束此案被释放
今日开发中出现的问题汇总
数组地址的相关知识 什么地址+1表示什么比较难记
地址传递中swap(&a,&b)和swap(a,b)
今日未解决问题
今日开发收获 通过今天的学习 对数组与函数的基本情况有了点了解
也希望对明天的文件 结构的知识能掌握的轻松一点
自我评价
其他
1)字符数组中在指定位置插入字符串
#include <stdio.h>
#include <string.h>
int Insert(char a[],char num,int a_i);
void main()
{
int a_i;
char a[50],num;
printf("请输入一个字符串:");
gets(a);
printf("请输入您想插入的一个字符:");
num=getchar();
getchar();
printf("请输入您想插入的位置:");
fflush(stdin);
scanf("%d",&a_i);
if (Insert(a,num,a_i))
printf("没有插入!\n");
else
printf("插入后的字符串为:%s\n",a);
system("pause");
}
/*函数功能:在字符串的某个位置插入一个字符*/
int Insert(char a[],char num,int a_i)
{
int i;
if(a_i >= strlen(a))
{
printf("您输入的位置超出字符串长度了!");
return -1;
}
else
{
for(i=strlen(a);i >= a_i;i--)
{
a[i+1]=a[i];
}
a[i]=num;
return 0;
}
}
2)设计一个发牌洗牌的程序
#include<time.h>
#include<stdlib.h>
int main()
{
int a[4][13],d,i,j,m,num=0,b[52]={0};
srand(time(NULL));
for(i=0;i<4;i++)
{
for(j=0;j<13;j++)
{
a[i][j]=j+1;
}
}
for(;num<=52;)
{
d=rand()%52;
for(m=0;m<num;m++)
{
if(d==b[m])
{
break;
}
}
if(m==num)
{
b[num]=d;
switch(d/13)
{
case 0:printf("红桃");break;
case 1:printf("方块");break;
case 2:printf("草花");break;
case 3:printf("黑桃");break;
}
num++;
printf("%2d\%c",a[d/13][d%13],num%13==0 && num!=0?'\n':' ');
}
}
return 0;