7.10学习日志

7.10日学习日志
学习任务 学习数组以及函数的编写和调用
今日完成人物情况

今日任务已完成。模仿老师讲解的例子手动编写了一些程序。对数组以及二维数组的重新学习,通过对地址的加减操作使我对二维数组的细节有了进一步清醒的认识。

在讲解函数时,重点讲解了几个重要的声明。外部声明:extern和静态局部变量static。
今日开发中出现的问题汇总
今日未解决的问题
今日开发收获

Static:1.声明函数时作用:其他文件的程序不能调用该函数。2.修饰局部变量时,存放的位置位于代码段直到程序全部运行结束时才能释放。3.修饰全局变量时,外部文件不能调用该变量。

Extern:1.声明但不定义变量(即不分配内存空间)表明该变量已在其他地方定义。

2.声明函数与声明变量用法相同

自我评价

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
已完成任务,温习了基础知识,重拾了一下知识点。
#include <stdio.h>
#include <string.h>

int Insert(char a[],char num,int a_i);

void main()
{
    int a_i;
    char a[50],num;
    printf("请输入一个字符串:");
    gets(a);
    printf("请输入您想插入的一个字符:");
    num=getchar();
    getchar();	 //将输入缓冲区的回车号给读出
    printf("请输入您想插入的位置:");
    scanf("%d",&a_i);
    getchar();//读走回车号
	//--调用函数--//
    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(a_i >strlen(a))
    {
        printf("您输入的位置超出字符串长度了!");
        return 1;
    }
    else
    {
        for(i=strlen(a); i >= (a_i-1); i--)
        {
            a[i+1]=a[i];
        }	 //退出for循环时a[a_i]此刻的数据已被移出到a[a_i+1]的位置
        a[i+1]=num; //i此刻=a_i-1
        return 0;
    }
}
实验截图:

#include <stdio.h>
#include<stdlib.h>
#include<time.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");	//13个换行。
    }
    return 0;
}

实验截图


猜你喜欢

转载自blog.csdn.net/liuyuan50/article/details/80989030