第二次作业(代码片段)

马宇欣 马宇欣     2022-11-01     613

关键词:

一、学习内容总结
通过指针的部分学习,我知道了指针的作用是用来存放地址的。指针无论定义的是哪种数据类型占用的内存空间都是8字节,和数组对比我觉得,数组字符串里的字符是可以修改的,而指针定义字符串里的内容不能修改。知道 * 和 & 是互逆的两个运算符;swap的作用是交换两个变量的值,在指针中定义一个数组,代表的是数组的第一个元素地址,数组名代表数组的首地址。在指针加减中,当指针变量指向数组中的某一个地址时,指针变量加1后指向数组的下一个元素,指针变量减1时指向数组的前一个元素。
二、在课堂或课后编程学习遇到的问题及解决过程

·问题一
  在课下练习中,没有特别注意,例如:chars1[10]="1234567"; char*p; strcpy(p,s1); printf("%s",p); 在编译时没有错误,但是在运行时不对。因为使用了指针 p,但是在之前却没有对p赋值,所以不能将 s1 内容复制到 *p 中。
解决方案:因为使用了指针 p,但是在之前却没有对 p 赋值,所以不能将s1内容复制到 *p 中。
·问题二
  指针中*和&符号意义还没有完全记清楚。
解决方案:例如:在int * p=&a中*为了说明p是一个指向整形数据的变量,而在 *p=5 中 * 表示取p所指向内存的数据,所以 *p=a。
·问题三
  在交换函数时定义时出现错误。
解决方案:在编程中int * temp表示声明了一个指针变量,*a表示取 a 所指单元的数据,是一个int型变量,所以两者的数据类型不匹配导致出错。

三、作业
1.

#include<stdio.h>
#include<string.h>
void main()

  char c,s[80];
  int i,k=0;
  gets(s);
  c=getchar();
  for(i=0;s[i]!=\'\\0\';i++)
  
    if(s[i]==c)
    k++;
  
  printf("%d",k);

输出截图:
2.

#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;

输出截图:

四、附加内容

第二次作业(代码片段)

第二次作业(3)6-1按等级统计学生成绩1.设计思路(1)题目算法第一步:找到需要调用的函数,及明确函数目的第二步:用if将grade进行分类第三步:当等级为D时,将不及格人数+1,以此类推第四步:返回不及格人数第五步:进... 查看详情

第二次作业(代码片段)

第二次作业提交列表第一题设计思路1.因为要删除所有数字,那么在输出字符时,当数组内的元素等于数字时,数组输出零2.用循环,把输出出来的新数组整合,就能得到想要的结果流程图代码voiddelnum(char*s)inti=0,j=0;for(;s[i]!=‘\0... 查看详情

第二次作业(代码片段)

6-7删除字符串中数字字符(1)第一步:读懂题意第二步:在草纸上模拟草图第三步:整理步骤并编译(2)实现代码#include"stdio.h"voiddelnum(char*s);intmain()charitem[80];gets(item);delnum(item);printf("%s\n",item);return0;delnum(char*s)chara[80]=0;intm= 查看详情

第二次作业(代码片段)

...一步:阅读题目要求及所给部分。     第二步:根据题意补全相应函数。(2)流程图:2.实验代码:#include"stdio.h"voiddelnum(char*s);intmain()charitem[80];gets(item);delnum(item);printf("%s\n",item); 查看详情

第二次作业(代码片段)

...串中数字字符1.设计思路(1)第一步:了解指针的用法;第二步:根据题意编写函数;第三步:用两个指针,遇到数字字符不动,遇到非数字字符存入。(2)流程图无2.实验代码#include"stdio.h"voiddelnum(char*s);intmain()charitem[80];gets(ite... 查看详情

第二次作业(代码片段)

一、开发软件选择之前安装过这次题目要求的VS和Eclipse,本次作业选择了使用不太熟练的Eclipse。下面截图为该软件图标二、编写一个Java程序1.建立项目:具体步骤:File->New->javaProject->Projectname->Next->Finish。2.导入Junit:... 查看详情

第二次作业(代码片段)

...中数字字符设计思路:第一步:审题,读懂题中参数意义第二步:理清思路,将函数补全流程图:实验代码:#include"stdio.h"voiddelnum(char*s);intmain()charitem[80];gets(item);delnum(item);printf("%s\n",item);return0;voiddelnum(char*s)inti,j;for(i= 查看详情

第二次作业(代码片段)

...步:观察题意了解各个参数与所需函数在题目中的意义;第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;第三步:运行程序检测是否错误。(2)流程图无2.实验代码...include"stdio.h"voiddelnum(chars);intmain()charitem[80... 查看详情

第二次作业(代码片段)

...程序,了解题中各个参数的意义。     第二步:设计函数,执行题中所需功能。     第三步:运行,检查程序对错,加以补充。(2)流程图:2.实验代码#include"stdio.h"voiddelnum(char*s);intm 查看详情

第二次pta作业(代码片段)

...中数字字符设计思路:第一步:审题,读懂题中参数意义第二步:理清思路,将函数补全流程图:实验代码:#include"stdio.h"voiddelnum(char*s);intmain()charitem[80];gets(item);delnum(item);printf("%s\n",item);return0;voiddelnum(char*s)inti,j; 查看详情

第二次作业(代码片段)

...步:观察题意了解各个参数与所需函数在题目中的意义;第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;第三步:运行程序检测是否错误。(2)流程图无2.实验代码#include<stdio.h>voidsplitfloat(floatx,int*intpart,... 查看详情

第二次作业(代码片段)

...步:观察题意了解各个参数与所需函数在题目中的意义;第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;第三步:运行程序检测是否错误。(2)流程图无2.实验代码#include<stdio.h>voidsplitfloat(floatx,int*intpart,... 查看详情

第二次作业(代码片段)

...步:观察题意了解各个参数与所需函数在题目中的意义;第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;第三步:运行程序检测是否错误。(2)流程图无2.实验代码#include<stdio.h>voidsplitfloat(floatx,int*intpart,... 查看详情

第二次作业(代码片段)

...步:观察题意了解各个参数与所需函数在题目中的意义;第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;第三步:运行程序检测是否错误。(2)流程图无2.实验代码#include<stdio.h>voidsplitfloat(floatx,int*intpart,... 查看详情

第二次作业(代码片段)

...步:观察题意了解各个参数与所需函数在题目中的意义;第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;第三步:运行程序检测是否错误。(2)流程图无2.实验代码#include<stdio.h>voidsplitfloat(floatx,int*intpart,... 查看详情

第二次作业(代码片段)

...步:观察题意了解各个参数与所需函数在题目中的意义;第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;第三步:运行程序检测是否错误。(2)流程图无2.实验代码#include<stdio.h>voidsplitfloat(floatx,int*intpart,... 查看详情

第二次作业(代码片段)

...第一步:定义一个新的字符数组a等于要修改的字符数组s第二步:修改字符数组s,把a中不是数字的元素赋给s,完成字符串的删除。(2).流程图无2.实验代码voiddelnum(char*s)inti;char*a=s;for(i=0;*(a+i)!=‘\0‘;i++)if((*(a+ 查看详情

软件工程第二次作业(代码片段)

软件工程第二次作业一、选择开发工具因为我对java比较感兴趣,所以我选择了Eclipse,刚开始安装时忘记截图了,之后快装完时才想起来截图。二、使用Eclipse1.运行Eclipse2.需要测试的java类packagecaculator;publicclasscaculatorpublicintadd(inta... 查看详情