中段自评

Posted xuanchan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中段自评相关的知识,希望对你有一定的参考价值。

1.薄弱环节:

①有时会出现无脑错误:忘记赋初值、==写成=等,中段测试时,

int MyStrlen(char src[])
{
	int x=0,s=0;
	for(;src[x]!=‘‘;x++)	s++;
	return s;
}

由于s忘记赋初值导致答案错误;

②对字符串处理函数的运用不够熟练,导致有些简单题目被复杂化,如新手赛中的problemA;

③指针作为函数参数的应用不够了解,有时会混淆传值调用和传地址调用,如练习九题7-1,定义函数void sort(int *a,int n),但在使用时没有用指针的运算导致错误;

2.有挑战性的题:

使用函数的选择法排序

(1)题目大意:

输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:

输入一个正整数 n (1<n<=10),再输入 n 个整数存入数组 a 中,用选择法将数组 a 中的元素按升序排列,最后输出排序后的数组元素。

要求定义并调用函数 sort(a,n),它的功能是采用选择排序算法,将数组 a 的前 n 个元素按从小到大的顺序排序,函数形参 a 的类型是整型指针,形参n的类型是int,函数的类型是void。

(2)解题思路:先定义函数void sort(int *a,int n),运用指针变量作为函数参数(传递至调用)进行选择排序,再输出;

(3)代码思路:

#include <iostream>
using namespace std;
void sort(int *a,int n)
{
	int i,j,p,t;
	for(i=0;i<n-1;i++)
	{
		p=i;
		for(j=i+1;j<n;j++)
		{
			if(*(a+j)<*(a+p))
			{
				p=j;
				if(p!=i)
				{
					t=*(a+p);
					*(a+p)=*(a+i);
					*(a+i)=t;
				}
			}
			
		}
	}
}
int main()
{
	int repeat,i,k,p;
	cin >> repeat;
	int n[repeat],a[100];
	for(i=0;i<repeat;i++)
	{
		cin >> n[i];
		p=n[i];
		for(k=0;k<p;k++)
		{
			cin >> a[k];
		}
		sort(a,p);
		cout << "After sorted: ";
		for(k=0;k<n[i];k++)
		{
			cout << a[k];
			if(k!=n[i]-1)
			{
				cout << " ";
			}
			else
			{
				cout << endl;
			}
		}
	}
}

(4)核心技术总结:选择排序法的运用、指针变量作为函数参数的运用;

(5)遇到的问题:不知道可以边输入边输出、对选择排序法不了解、对指针作为函数参数的应用不熟练,通过查找书籍、及网上的资料参考解决。

以上是关于中段自评的主要内容,如果未能解决你的问题,请参考以下文章

C语言的知识与能力的自评

课程设计任务分工说明自评意见自评等级指导 教师 意见--基于java的进销存管理系统课程设计

中段截杀

Code Review(自评)

个人自评

软件工程项目个人自评