码迷,mamicode.com
首页 > 其他好文 > 详细

C博客作业--指针

时间:2017-12-17 22:26:52      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:http   img   大于等于   一个人   个数   忘记   统计   定义   std   

一、PTA实验作业

题目1:6-2 求出数组中最大数和次最大数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

定义函数int fun ( int *a, int n )
定义变量i,j表示下标,iindex=0表示最大值下标,max表示最大值,t表示交换中介
for i=0 to 1
for j=i to n-1
max←下标为index的数组元素*(a+index)
寻找数组中从下标为 j 开始的最大值
IF max<*(a+j)
index←j 把最大值的下标赋给index
交换a[i]和a[index]
end for
返回*a

3.代码截图

技术分享图片

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

开始时认为只是类似于冒泡排序于是把所有数组元素进行了排序,发现c++上答案和pta不一样后发现只需要做冒泡排序的前两次即可

题目2:6-3 统计大于等于平均分人数

1. 本题PTA提交列表

技术分享图片

2. 设计思路

定义函数int fun ( float *s, int n, float *aver )
定义整型变量i,浮点型变量sum=0表示成绩之和,result表示大于等于平均分的同学个数
for i=0 to n-1
将所有输入的成绩求和
end for
计算平均分 *aver=sum/n
for i=0 to n-1
IF(输入的数组元素*(s+i)大于等于平均分*aver)
result++
end for
返回result

3.代码截图

技术分享图片

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

未给sum和result赋初值,输出结果异常。但如果只给sum赋初值,答案仍正确。

技术分享图片

题目3:6-4 找最大值及其下标

1. 本题PTA提交列表

技术分享图片

2. 设计思路

技术分享图片

3.代码截图

技术分享图片

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

在赋值max=(a+k)过程中忘记加括号,而取地址符‘’优先级大于‘+’导致结果出错

二、截图本周题目集的PTA最后排名

三、阅读代码

#include"stdio.h"
#define nmax 50 
main() 
{  
int i,k,m,n,num[nmax],*p;  
printf("please input the total of numbers:");  
scanf("%d",&n); 
p=num;  
for(i=0;i<n;i++) 
*(p+i)=i+1; 
i=0; 
k=0; 
m=0;  
while(m<n-1) 
{  
if(*(p+i)!=0) k++; 
if(k==3) 
{ *(p+i)=0; 
k=0; 
m++; 
} 

功能:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,求出最后留下的是原来第几号的那位。

优点:

C博客作业--指针

标签:http   img   大于等于   一个人   个数   忘记   统计   定义   std   

原文地址:http://www.cnblogs.com/LHLH/p/8053258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!