中国矿业大学C语言程序设计实验报告 第2章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1
举例1:求某位同学语数英三科的平均分:实现方法为,求语数英三科的总分,然后除以3 以下部分是例子算法的源代码:
//习题2.1 什么是算法:算法是用于解决某一特定问题的指令序列
/*问题1:求某位同学语数英三科的平均分:实现方法为,求语数英三科的总分,然后除以3*/
#include
float main()
{
intchinese,math,english;
float average;
printf("请以此输入语数英三科的成绩:\n");
scanf("%d,%d,%d",&chinese,&math,&english);
printf("语文%d\n",chinese);
printf("数学%d\n",math);
printf("英语%d\n",english);
average=(chinese+math+english)/3;
printf("语数英三科的平均成绩为:%f\n",average);
}
运行结果为:
举例2:怎么把大象放入冰箱?
1.打开冰箱
2.把大象装进冰箱
3.关上冰箱
举例3:求两个数的最大值
算法:
1.输入两个数A和B,定义一个临时变量C
2.比较A和B的大小,如果A>B,则令C=A,否则令C=B
3.返回C的值,C即为A和B中较大的值
2.2
解答:结构化的算法由基本的结构程序组成;包括顺序结构,选择结构,循环结构三种基本结构,在基本的结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内. 这种算法便于阅读,修改和维护,减少了程序出错的机会,提高了程序的可读性,保证了程序的质量.
习题2-8-1源代码:
#include
void main()
{
int prime(int x);
int year;
int i=0;
for(year=1900;year<=2000;year=year+4)
{
if(prime(year))
{
printf("%d\t",year);
i++;
}
if (i%5==0)
printf("\n");
}
}
int prime(int x)
{
if((x%4==0&&!(x%100==0))||x%400==0)
{
return 1;
}
return 0;
}
运行结果:
习题2-8-2源代码:
#include
#include
float abc;
void main()
{
float b24ac(float x,float y,float z);
float x1,x2;
float a,b,c;
printf("请输入¨?a:");
scanf("%f",&a);
printf("\n请输入¨?b:");
scanf("%f",&b);
printf("\n请输入¨?c:");
scanf("%f",&c);
b24ac(a,b,c);
x1=(-b+abc)/(2*a);
x2=(-b-abc)/(2*a);
printf("xa=%f\t\tx2=%f\n",x1,x2); }
float b24ac(float x,float y,float z)
{
if((((y*y)-4*x*z)>=0))
{
abc=sqrt(y*y-4*x*z);
}
else abc=sqrt(-(y*y-4*x*z));
return (abc);
}
运行结果:
习题2-8-3 源代码:
#include
void main()
{
int a[10];
int i;
int max;
for(i=0;i<10;i++)
{
a[i]=2*i+1;
}
max=a[0];
for(i=1;i<10;i++)
if(a[i]>max)
{
max=a[i];
}
printf("10个数中最大的是%d\n",max); }
运行结果: