苏嵌学习日志02 07.10

学习日志                                 姓名:刘易中      日期:2018/7/10

今日学习任务

C语言的数组,函数和预处理

今日任务完成情况

编译了C语言关于一维数组,二维数组和字符数组程序。还有C语言的预处理,static的认识及应用宏函数的程序。

今日开发中出现的问题汇总

算法结构的不正确和不完整

对于冒泡函数没有记牢

对一维数组和二维数组几种地址的表示方法不够了解和清楚。

 

今日未解决问题

今日开发收获

解到了一维数组和二维数组的不同地址表示方法。变量的存储类型局部变量默认为auto型register型变量个数受限,且不能为long,double,float型

自我评价

今天又回顾了更多以前学过的知识,也学习到了新知识,我感到受益匪浅,但不是特别能掌握,还需要多加练习和理解。

其他

1,字符数组中在指定位置插入字符

#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;

}

2,设计一个洗牌发牌的程序

#include<stdio.h>
#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;
}

猜你喜欢

转载自blog.csdn.net/liuyz_/article/details/80993656
今日推荐