第二次作业

一.学习内容总结

通过这几周对指针的学习,真心觉得指针这一块挺难的...但是指针最为C语言中一个人重要的概念,它不仅能有效地表达复杂的数据结构,也能方便的使用数组,处理单元格的地址等等,指针的概念比较复杂,在老师讲的时候就觉得模模糊糊,自己做题的时候更是比较晕,所以要加强对这一块的复习以及提问。指针是地址,是常量,而指针变量是指取值为地址的变量

二.在课堂或课后编程学习遇到的问题及解决过程

问题一:分不清地址与单元格字节这几个概念,容易混淆

解决方法:看教材以及老师上课时放的PPT,反复记和练习

问题二:打完代码之后编译总是出错

解决方法:发现自己总是头文件或者标点符号等等地方出错,应该练习,才能熟练

问题三:不懂得如何使用老师新讲的这些知识

解决方法:问同学,练习

三.作业

1.PTA代码

 #include <stdio.h>
    #include <string.h>
    int main()
    {
         char ch,a[80]; 
         int i,x=0;
         gets(a);
         ch=getchar();
         for(i=0; a[i]!='\0'; i++)
        {
              if(a[i]==ch)
              x++;
         }
        printf("%d",x);
        return 0;
     }

输出截图

2.以二维数组形式对5个字符串进行排序

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    int n=5,i,j;
    char **str;
    char s[100];
    str=(char**)malloc(sizeof(char*)*n);
    for(i=0;i<n;i++)
    {
        str[i]=(char*)malloc(sizeof(char)*100);
        printf("请输入第%d个字符串\n",i+1);
        gets(str[i]);
    }
    puts("排序后的字符串为:");
    for(i=0;i<n;i++)
    {
        for(j=i;j<n-1;j++)
        {
            if(strcmp(str[j+1],str[j])<0)
            {
                strcpy(s,str[j+1]);
                strcpy(str[j+1],str[j]);
                strcpy(str[j],s);
            }
        }
    }
    for(i=0;i<n;i++)
    {
        puts(str[i]);
    }
    for(i=0;i<n;i++)
    {
        free(str[i]);
        str[i]=NULL;
    }
    free(str);
    str=NULL;
    return 0;
}

四.附加内容

注册中国大学Mooc,并参加浙江大学的”程序设计入门-C语言课程“的截图。

 

posted @ 2018-04-07 21:58  孙美玲  阅读(148)  评论(0编辑  收藏  举报