今日学习任务
一维数据,二维数组,函数
今日任务完成情况
编写了冒泡排序程序
学习了实参向形参传递
学习了puts ,gets,scanf,strcpy等函数运用
今日开发中出现的问题汇总
区分实参和形参
for()后面不加“;”
今日未解决问题
函数调用不熟悉,得多练习
今日开发收获
1.一维数组,二维数组定义,初始化,在程序中赋值
2.字符数组定义,初始化,程序中赋值
3.字符串常见函数的使用,不用函数如何实现字符串的复制,字符串长度的实现
4.函数的构造,入参,返回值如何在函数中体现,形参,实参是如何传递数据
5.值传递,地址传递,如何实现在子函数中数值交换后在主函数中能实现
6.Auto,register,extern,static关键字的使用
自我评价
基础差,就跟身边的认真的有基础的学习,不懂就问
其他
作业
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;
}
}
2.设计一个洗牌发牌的程序
#include <stdio.h>
int main()
{
int n,i;
int flag[52]= {0};
srand((unsigned int)time(NULL));
for(i = 0; i < 52; i++)
{
n = rand()%52;
while(flag[n] == 1)
{
n = rand()%52;
}
flag[n] = 1;
if(n >= 0 && n < 13)
{
printf("红心%d ", n + 1);
}
else if(n >= 13 && n < 26)
{
printf("黑桃%d ", n - 12);
}
else if(n >= 26 && n < 39)
{
printf("梅花%d ",n - 25);
}
else
{
printf("方片%d ",n - 38);
}
if((i +1) % 13 == 0)
printf("\n");
}
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>
int main()
{
int n,i;
int flag[52]= {0};
srand((unsigned int)time(NULL));
for(i = 0; i < 52; i++)
{
n = rand()%52;
while(flag[n] == 1)
{
n = rand()%52;
}
flag[n] = 1;
if(n >= 0 && n < 13)
{
printf("红心%d ", n + 1);
}
else if(n >= 13 && n < 26)
{
printf("黑桃%d ", n - 12);
}
else if(n >= 26 && n < 39)
{
printf("梅花%d ",n - 25);
}
else
{
printf("方片%d ",n - 38);
}
if((i +1) % 13 == 0)
printf("\n");
}
return 0;
}