今日学习任务 | 数组与函数 |
今日任务完成情况 | 认识了数组、函数的基本概念;编写了冒泡排序程序(直接实现和函数实现);了解了数组与指针之间的关系(加以程序编写加深印象);掌握了static、extern、register的意义以及作用并编写了相关的运用程序;认识了预处理的相关概念;学习了宏和宏函数的概念和用法 |
今日开发中出现的问题汇总 | 冒泡排序给计数变量幅值错误,导致排序不完全;部分语法错误导致程序无法正常编译 |
今日未解决问题 | 无 |
今日开发收获 | 积累了一些经典程序,学习了一些规范编程的习惯;找回了一些当初学习C语言的一些感觉,并纠正了以往一些程序编写的错误行为 |
自我评价 | 学习效率有所提高,学习状态有所提升 |
其他 | 无 |
作业:
4.字符数组中在指定位置插入字符:
#include<stdio.h>
#include<string.h>
#include<string.h>
int Insert(char a[],char num,int a_i);
int main()
{
int a_i;
char a[50],num;
{
int a_i;
char a[50],num;
printf("请输入一个字符串:");
gets(a);
printf("请输入想插入的一个字符:");
num=getchar();
getchar();
printf("请输入想插入的位置:");
fflush(stdin);
scanf("%d",&a_i);
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);
printf("没有插入!\n");
else
printf("插入后的字符串为:%s\n",a);
while(1);
return 0;
}
return 0;
}
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;
}
}
{
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;
}
}
8.设计一个洗牌发牌的程序:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
int RandomNum, a[52] = {0};
int i, j, flag = 0, tmp=0;
int RandomNum, a[52] = {0};
int i, j, flag = 0, tmp=0;
while(1)
{
flag = 0;
if(tmp == 53)
break;
{
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++;
}
}
{
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;
return 0;
}