C语言博客作业指针

一、PTA实验作业
题目1:统计大于等于平均分人数

  1. 本题PTA提交列表
  2. 设计思路

定义形参s存放s的首地址,n存放人数m的值,aver存放平均分aver的地址
定义i控制循环,count用来统计高于等于平均分的学生人数
定义浮点型指针*p让p=s存放数组s的首地址

for i=0 to n {
    aver累加p指针指向的单元格内的值统计出所以学生成绩总分 

} 

aver除以人数n算出平均分

p=s将p指针重新指向s数组第一个地址

for i=0 to n {
    如果指针p指向单元格内的数据大于平均分aver则count自增
     
} 

返回count的值 

3.代码截图

题2:过滤字符串只保留串中的字母字符

  1. 本题PTA提交列表
  2. 设计思路

定义函数名为fun的无返回型函数,定义字符型指针*p接受字符串str的首地址
定义i控制变量 max存放最大ASCII码值的下标

for i=0 to p[i]!='\0' {
当i=0时max=0
如果有p[i]的ASCII码值大于p[max] 的ASCII码值 则max=i记录下标
}

定义一个temp作为换位置的桥梁
temp=p[max]

for i=max to 0 {
把p[i]的值换为p[i-1]//逐个往后推一位
}

p[0]=temp
3.代码截图

题目3:报数
1.本题PTA提交列表

2. 设计思路

定义rest[n]储存圈中的人的号数,index表示退圈的人对应的rest[]的下标.
for i=0 to n-1
rest[i]=i;
end

for i=1 to n
//要退出的rest[]下标为:上一次退出的人的下标加 m-1 (-1因为退圈者位置被取代),其结果取余现有人数.
index=(index+m-1)%(n-i+1)
//rest[index]是第i个退出的.
out[ rest[index] ]=i
for u=index to n-i-1
rest[u]=rest[u+1]
end
end
3.代码截图

posted on 2017-12-18 15:11  我信了你的邪  阅读(169)  评论(0编辑  收藏  举报