学习日志 | 姓名:赵智明 日期:2018 |
今日学习任务 | 今日主要学习数组,函数,指针以及各类定义。 |
近日开发中出现的问题汇总 | 在数组的表示方面有些陌生,宏定义等也和大一学习时的使用上有较大区别。 |
今日未解决问题 | 在软件开发上和正式程序员习惯差别较大,而且英语词汇掌握不够。。。 |
今日开发收获 | 今天被提起回答问题,在开发上没有较大的错误,在细节上还要注意。 未初始化全局变量都是0;未初始化局部变量是随机值。 数组的多种赋值方式,多种方式引用数组。 在不出错的情况下尽量运用指针来减少内存占用。 |
自我评价 | 今天的复习效果良好,主要是在编程细节上有所欠缺,只能靠练习来多加弥补。 |
其他 | 无 |
4.字符数组中在指定位置插入字符
#include <stdio.h>
#include <string.h>
int Insert(char str[], char num, int i);
void main()
{
int i;
char str[50], num;
printf("Input the string:");
gets(str);
printf("Char inserted:");
num = getchar();
getchar();
printf("Location:");
fflush(stdin);
scanf("%d", &i);
if (Insert(str, num, i))
printf("NO!\n");
else
printf("Result:%s\n", str);
system("pause");
}
int Insert(char str[], char num, int i)
{
int j;
if (i >= strlen(str))
{
printf("WRONG!");
return -1;
}
else
{
for (j = strlen(str); j >= i; j--)
{
str[j + 1] = str[j];
}
str[j] = num;
return 0;
}
}
8.设计一个洗牌发牌的程序
#include<stdlib.h>
#include<time.h>
int main()
{
int n, i;
int flag[52] = { 0 };
srand((unsigned int)time(NULL));
{
n = rand() % 52;
while (flag[n] == 1)
{
n = rand() % 52;
}
flag[n] = 1;
switch (n % 13)
{
case 0:printf("红心%d ", n + 1);
case 1:printf("黑桃%d ", n - 12);
case 2:printf("梅花%d ", n - 25);
case 3:printf("方片%d ", n - 38);
}
if ((i + 1) % 13 == 0)
printf("\n");
}
return 0;
}