今日学习任务 | C语言中的数组与函数 |
今日任务完成情况 | 今日任务基本完成 1.一维数组与二维数组的定义与初始化 2.冒泡排序 3.函数的声明与调用 4.预处理 |
今日开发中出现的问题总汇 | 数组的地址问题不明确 实参形参问题 |
今日未解决的问题 | 函数调用不熟悉 |
今日开发收获 | 巩固了数组知识,对于数组的定义与初始化有了进一步了解,熟悉函数的使用方法 |
自我评价 | 大体上能够理解老师的讲解,但由于基础不扎实,许多细节不能够及时弄懂 |
其他 | 无 |
1 字符数组中在指定位置插入字符
#include<stdio.h>
#include<string.h>
int Insert(char a[],char num,int a_i);
void main()
{int a_i=1;
char a[50],num;
printf("please input a zifushuzu: ");
gets(a);
printf("please input a zifu: ");
num=getchar();
getchar();
printf("请输入插入的位置: ");
scanf("%d",&a_i);
if(Insert(a,num,a_i))
printf("没有插入!\n");
else
printf("插入后的字符串为: %s\n",a);
}
int Insert(char a[],char num,int a_i)
{
int i;
if(strlen(a)-1<a_i)
{
printf("输入位置超出长度!");
return -1;
}
else
{
for(i=strlen(a);i>=a_i-1;i--)
{
a[i+1]=a[i];
}
a[a_i-1]=num;
return 0;
}
}
#include<stdio.h>
#include<string.h>
int Insert(char a[],char num,int a_i);
void main()
{int a_i=1;
char a[50],num;
printf("please input a zifushuzu: ");
gets(a);
printf("please input a zifu: ");
num=getchar();
getchar();
printf("请输入插入的位置: ");
scanf("%d",&a_i);
if(Insert(a,num,a_i))
printf("没有插入!\n");
else
printf("插入后的字符串为: %s\n",a);
}
int Insert(char a[],char num,int a_i)
{
int i;
if(strlen(a)-1<a_i)
{
printf("输入位置超出长度!");
return -1;
}
else
{
for(i=strlen(a);i>=a_i-1;i--)
{
a[i+1]=a[i];
}
a[a_i-1]=num;
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;
}
#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;
}