数据的描述+操作的描述(data structure + algorithm)
教材说还得有 程序设计方法+语言工具和环境
要学基本算法得看看数据结构了,学完这个我就开始玩数据结构域算法那本书。
2.1算法的概念
算术的和解决问题的。都需要数据模型的抽取和构建。
2.2 简单算法举例
求1*2*3*4*5不看书写一写
三种,直接计算、循环、递归
#include
#include
int Mul(int n)
{
if(n==1)
return 1;
else
return n*Mul(n-1);
}
// The result of1*2*3*4*5
int main()
{
int result=1;
int i=1;
int mul_end=5;
//F1
printf("F1----The result is %d \n",1*2*3*4*5);
//F2
for(i=1;i<=5;i++)
{
result=result*i;
}
printf("F2----The result is %d \n",result);
//F3
result=Mul(mul_end);
printf("F3----The result is %d \n",result);
return 0;
}
求50个学生成绩中大于80分的成绩输出
#include
#include
#define MAXSIZE 50
int main()
{
//初始化学生成绩
int student_score[MAXSIZE];
int i=0;
int count=0;
for(i=0; i
{
student_score[i]=rand() % 100;
}
for(i=0; i
{
printf("%d\t",student_score[i]);
if((i+1)%10==0)
{
printf("\n");
}
}
printf("---------------------------------\n");
for(i=0; i
{
if(student_score[i]>=80)
{
printf("%d\t",student_score[i]);
count++;
if((count)%5==0)
{
printf("\n");
}
}
}
return 0;
}
判断2000-2500中的闰年
Tips:4年一闰,百年不闰,400再闰
#include
#include
//判断2000-2500的年哪些是闰年----闰年能被4整除、不能被100整除;能被100和能被400整除
int main()
{
int year=2000;
for(year=2000; year<=2500; year++)
{
if(((year%4==0)&&(year%100!=0))||((year%100==0)&&(year%400==0)))
{
printf("%d\n",year);
}
}
return 0;
}
求1-1/2+1/3-1/4+...-1/99+1/100
#include
#include
int main()
{
int sum=1;
int i=1;
int sigh=1;
int temp;
for(i=1; i<=100; i++)
{
temp=sigh*(1/i);
sum=sum+temp;
sigh=(-1)*sigh;
}
printf("The result is %d\n",sum);
return 0;
}
对于一个大于或者等于3的正整数,判断它是不是一个素数(只能被1和自己整除的数)
#include
#include
#include
int main()
{
int n;
int i=2;
int m;
scanf("%d",&n);
if(n<3)
{
printf("Please input a numberwhich is above three!\n");
}
else
{
m=sqrt(n);
for(i=2; i<=m; i++)
{
if(n%i==0)
{
printf("不是素数!\n");
break;
}
}
if(i>m)
{
printf("是素数!\n");
}
}
return 0;
}
2.3 算法的特性
有穷性,就是的能完事
确定性,每步得确定,不能天马行空
0或多个输入
1或多个输出
有效性
必须会设计算法,并根据算法写出程序,基本功啊
2.4 怎样表示一个算法
2.4.1 自然语言,估计今年能用来吹牛用,一般不用,不会实现只会说的人,呵了个呵。
2.4.2 流程图
本来想查查用啥工具画流程图好(传统的肯定是visio了),不过还有意外收获,word2010的smartart好多有意思的图形啊。
伪代码页可以表示流程图
计算机语言表示页就是代码了,不会写的时候可以先看懂代码,学会读代码,考研的题目里很大一部分就是这个。
2.5 结构化程序设计方法
自顶向下
逐步细化,不能一口吃个胖子
模块化设计
结构化编码
网友评论