c语言博客作业-指针

一、PTA实验作业

题目1:

1. 本题PTA提交列表

2. 设计思路(用代码表示扣分)

定义整型变量i,count记录平均分,实型变量sum保存总分
for i=0 to n
sum = sum+*(s+i) i++
平均分=sum/n;
for i=0  to  n
如果 *(s+i)大于等于平均分
count++
return count

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。

  • 一开始想让指针变量自增进行运算,但是让它自增的方法有些不对,而且也有自增了回不来的问题,目前还没解决,知换了方法
  • 忘记给sum和count赋初值,
  • sum的类型定义错误,应该是浮点型,我定义了int型,但是我有(sum*1.0)再除以n运算,结果还是错误,更改后正确

题目2: 找最大值及其下标

1. 本题PTA提交列表

2. 设计思路(用代码表示扣分)

定义整型变量i用作循环,max返回最大值
令 max=*a;
for i=0  to n
如果 max<*(a+i)
max=*(a+i) *b=i存放大的数的下标
i++
return max

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。

  • 编译错误忘记加封号,思路清楚了就没有什么问题了

题目3:输出月份英文名

1. 本题PTA提交列表

2. 设计思路(用代码表示扣分)

如果n>=1且n<=12
switch(n)
是某个月则返回该月的英文
else
返回 null

3.代码截图

4.本题调试过程碰到问题及PTA提交列表情况说明。

  • 最开始没有想到直接用switch语句直接进行选择,用定义数组的方法来做,但没有给数组变量赋初值的情况下,只有返回值为空的情况正确,后来参考了别人的做法改用switch 语句
  • return字符时要加双引号

三、阅读代码(2分)

  • 功能:寻找最长字符串
  • 优点:定义了字符变量op来吸收回车,避免了字符数组可能带来的错误,思路清晰,注释得当,排版也很好

找两篇优秀代码贴图展示,并说明该代码功能是什么,优点是什么?

代码可以是自己同学代码,也可以是其他地方找的关于C的代码。

四、本周学习总结

1.自己总结本周学习内容。

  • 字符串指针所指向的值是存放字符串常量首字符的储存单元的地址
  • printf函数输出字符串时数组名、指针和字符串常量都可以作为输出参数,输出参数给出起始位置,‘\0’控制结束
  • 在string.h中声明的一些字符串处理函数:
字符串复制函数:
char *strcpy (char*s1.char*s2)
把字符串s2的内容复制到s1,可简化为
strcpy(s1,s2)
s1必须是字符数组基地址,s2可以是字符数字名或字符串常量
字符串连接函数:stract(s1,s2)
s1必须是字符数组基地址,s2可以是字符数字名或字符串常量
s1中原有的结束符被放在连接后的结束位置上
字符串比较函数:strcmo(s1,s2)
此时s1、2都可以是字符数组名或字符串常量
从两个字符串的首字符开始,一次比较对应字符的asc码,直到遇到不同的字符或结束符
若都相同  return 0
else 返回第一个不同字符比较的差值
字符串长度函数:strrlen(s1)  可以返回有效字符的个数 ,即不包括结束符
  • 结构变量的定义:
struct 结构名 {
类型名 结构成员名1
...
类型名 结构成员名n }
  • 通过结构成员操作符“.”对某个成员可以进行引用,相同类型的结构变量也可以直接赋值
  • 在结构类型的嵌套定义时,必须先定义成员的结构类型,再定义主结构类型
  • 结构变量定义有三种方式:单独定义。混合定义和无类型名定义,注意最后一种由于没有给出结构名,在此定义语句后面无法再定义这个类型的其他结构变量
  • 定义结构数组:结构类型名 数组名 数组长度
  • 结构指针也可以作为函数参数,结构变量在参数传递时把实参结构中每一个成员值传递给形参的成员,而使用结构指针传递一个地址值即可

2.罗列本周一些错题。

时间: 2024-11-09 03:24:08

c语言博客作业-指针的相关文章

C语言博客作业--一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 定义变量n,i,j,max等于0,a[]10用于存放输入的值,b[10]用于存放a[]中各个数有多少个; 输入n的值 i从0开始,每次加1,输入a[i]的值,直到i==n结束循环 i从0开始,判断i是否<n,,进入下一步,每次加一,直到条件不满足 j从0开始,判断j是否<n,,进入下一步,每次加一,直到条件不满足 如果a[i]==a[j],b[i]加一 i从0开始,判断i是否 输出a[j

C语言博客作业—一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 Begin 输入整数个数N 定义数组a[N] 输入数组a for(i 0 to N-1){//进行N次判断 for(j 0 to N-1) if(a[i]和a[j]相等) count加一 i等于0//第一次判断 使max=count; n=i;//n放下标,max放次数 i不等于0且count大于max 使max=count; n=i;//重新赋值 count为0//每次循环count为0

C语言博客作业--字符数组

题目1:题目名称 本题PTA提交列表(要提交列表,不是结果) 设计思路(伪代码或流程图) 伪代码尽量文字描述,请用下面markdown符号渲染.如: 定义变量i表示XXXXX for i=0 to n-1 a[i]执行运算等等. end for 3.代码截图(注意,截图,截图,截图.不要粘贴博客上.不用用···语法去渲染) 4.本题调试过程碰到问题及PTA提交列表情况说明. PTA提交列表中的每个错误详细说明为什么及如何解决. 题目2,3同题目1 二.截图本周题目集的PTA最后排名.(2分) P

C语言博客作业--函数嵌套调用

一.实验作业(6分) 本周作业要求: 选一题PTA题目介绍. 学习工程文件应用,设计实现学生成绩管理系统. 学生成绩管理系统要求 设计一个菜单驱动的学生成绩管理程序,管理n个学生m门考试科目成绩,实现以下功能: 命令1:能够新增学生信息,并计算总分和平均分. 能够新增学生成绩信息. (学生按照学号排序,新增学生应该按照学号插入已有数组,并保持有序,插入排序实现) 命令2:根据输入学号和课程号修改学生成绩信息. 命令3:根据输入学号和课程删除学生成绩信息. 命令4:输出显示所有学生成绩信息.(按照

C语言第九次博客作业--指针

一.PTA实验作业 题目1:两个4位正整数的后两位互换 1. 本题PTA提交列表 2. 设计思路 定义循环变量i,两个数组a[4],b[4] for i=0 to 3 a[i]*p取各个位 *p/=10 end for i=0 to 3 b[i]*q取各个位 *q/=10 end 分别对*p和*q重新赋值 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明. 题目2: 输出月份英文名 1. 本题PTA提交列表 2. 设计思路 if形参n不再月份范围内 return NULL 定义指针

C语言博客作业--结构体

一.PTA实验作业 题目1:按等级统计学生成绩 1. 本题PTA提交列表 2. 设计思路 for i=0 to i=n 如果分数大于等于85,就让grade为A 如果分数大于等于75,就让grade为B 如果分数大于等于60,就让grade为C 如果分数小于60,就让grade为D,count++ count用于统计不合格人数 end i 返回count 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明 本题没错 题目2:6-4 结构体数组按总分排序 1. 本题PTA提交列表 2.

C语言博客作业--函数

一.PTA实验作业 6-1 符号函数 1.本题PTA提交列表 2.设计思路 3..本题调试过程碰到问题及PTA提交列表情况说明. 前面的错误都是由于关系运算符中==写成=导致的 6-6 使用函数输出水仙花数 1.本题PTA提交列表 2.设计思路 1.narcissistich函数(判断number是否为水仙花数) 定义循环变量i,j,a储存每一位上的数,sum总和count位数 for(i=number;i>0;i=i/10)每执行一次count+1 for(k=1;k<=count;k++)

C语言博客作业--数据类型

一.PTA实验作业 题目1:7-2 区位码输入法 1. 本题PTA提交列表 2. 设计思路 { 定义字符型变量 ch1,ch2,ch3,ch4; 定义整数型变量 a,b; ch1=getchar(); //输入值 ch2=getchar(); ch3=getchar(); ch4=getchar(); a=10(ch1-48)+ch2-48+160; //运算结果 b=10(ch3-48)+ch4-48+160; putchar(a); putchar(b); } 3.代码截图 4.本题调试过程

C博客作业--指针

一.PTA实验作业 题目1:6-3 统计大于等于平均分人数 1. 本题PTA提交列表 2. 设计思路(伪代码或流程图) int fun ( float *s, int n, float *aver ) 定义整型变量i,j:浮点型变量sum=0,ave 遍历数组 sum=sum+*(s+i) 求平均分 ave=sum/n*1.0 n=0: 遍历数组,若大于等于ave,n++ *aver=ave 返回n值 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明 一开始计算平均分ave的时候,