C博客作业--指针
2017-12-17 21:41
309 查看
一、PTA实验作业
题目1:两个4位正整数的后两位互换
1. 本题PTA提交列表
2. 设计思路
定义函数void fun(int *p,int *q) 定义整形变量x,y用于储存输入的数的后两位 x=*p%100,y=*p%100 将*p,*q后两位数互换 *p=*p-x+y; *q=*q-y+x;
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
本题主要遇到的问题就是对指针的运用不熟练而导致赋值错误,还有就是提交的时候将主函数代码也贴了上去,导致的编译错误。题目2:求出数组中最大数和次最大数
1. 本题PTA提交列表
2. 设计思路
定义一个整型函数int fun ( int *a, int n ) 定义整型变量max用来储存没次找出的最大的数,i为循环数,temp用来存放要替换掉的数 令max=*a for(i=0;i<n;i++) 遍历数组 找出数组中的最大的数 然后j储存最大数的数组下标 temp=*a; *a=max; *(a+j)=temp; max=*(a+1) 替换 for(i=1;i<n;i++) 再次从第二个数遍历数组,再次找到最大的数,并与第二个数替换
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
本题主要问题是由于没有控制好第二次循环数的开始地址,所以导致错误,通过调试解决。
题目3:判断回文字符串
1. 本题PTA提交列表
2. 设计思路
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
本题的错误主要是函数判断过程中,没有想到对于长度为一的字符串怎么判断 以及对于返回值没有准确把握而导致的答案错误
二、截图本周题目集的PTA最后排名。
三、阅读代码
代码:功能:用正弦定理,只知道两边及一角,求三角形面积
代码:
main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) printf("%d,%d,%d\n",i,j,k); } }
功能:
统计由1,2,3,4组成互不相同且无重复数字的三位数的个数,并分别输出。
四、本周学习总结
1.自己总结本周学习内容
学习了c语言中结构的定义、嵌套、赋值、引用以及如何初始化一个结构体例:
char name[8]; char sex[2]; int age; char addr[40]; }student[40]; 也可定义为: struct string{ char name[8]; char sex[2]; int age; char addr[40]; }; struct string student[40];