求C语言程序设计实验报告。高分悬赏。24小时内采纳

作者&投稿:妫孙 (若有异议请与网页底部的电邮联系)
C语言程序设计实验报告~

代码:

# include
# include

char stu_no[10][10];
int c_math[10],c_en[10],c_computer[10],point[10],average[10];
int i,j,max;
char c;

void input()
{
for(i=0;i<=9;i++) /*输入学生成绩*/
{
printf("请输入学号:");
scanf("%s",&stu_no[i]);
printf("
请输入数学成绩:");
scanf("%d",&c_math[i]);
printf("
请输入英语成绩:");
scanf("%d",&c_en[i]);
printf("
请输入计算机基础成绩:");
scanf("%d",&c_computer[i]);
}
for(i=0;i<=10;i++) /*计算总分跟平均分*/
{
point[i]=c_math[i]+c_en[i]+c_computer[i];
average[i]=point[i]/3;
}

}

void paixu()
{

printf("成绩按从高到低排列为:
");
printf("
学号 数学 英语 计算机基础 总分 平均分
");
for (i=0;i<=10;i++)
{ for(j=1;j<=10;j++)
if (point[i]>point[j])
max=i;
printf("%s,d,%d,%d,%d,%d,%d
",stu_no[max],c_math[max],c_en[max],c_computer[max],point[max],average[max]);

}
}

void main()
{

input();

paixu();


}

#include
#include
#include
#define maxline 10000
typedef struct TRAVEL_INFO
{
char routeNO[20];
char destination[20];
int days_of_trav;
char type_of_trav[20];
int month;
double price;
}travl_info;
int cmp_month(const void *a,const void *b)
{
return (*(travl_info*)a).month-(*(travl_info*)b).month;
}
int cmp_dest(const void *a,const void *b)
{
return strcmp((*(travl_info*)a).destination,(*(travl_info*)b).destination);
}
int main(void)
{
FILE * res=fopen("res.txt","r");
FILE * dest=fopen("dest.txt","w");
travl_info buf[maxline];
int i=0,j=0,count_des=1,count_mon[12]={0},count_all;
while(fflush(stdin),fscanf(res,"%s%s%d%s%d%lf",buf[i].routeNO,buf[i].destination,&buf[i].days_of_trav,buf[i].type_of_trav,&buf[i].month,&buf[i].price)==6)
{
count_mon[buf[i].month-1]++;
i++;
}
count_all=i;
qsort(buf,i,sizeof(travl_info),cmp_month);
qsort(buf,i,sizeof(travl_info),cmp_dest);
fprintf(dest,"%s %s %d %s %d %lf
",buf[0].routeNO,buf[0].destination,buf[0].days_of_trav,buf[0].type_of_trav,buf[0].month,buf[0].price);
for(j=1;j<i;j++)
{
if(strcmp(buf[j-1].destination,buf[j].destination)==0)
count_des++;
else
{
fprintf(dest,"the total number of destination %s is %d
",buf[j-1].destination,count_des);
count_des=1;
}
fprintf(dest,"%s %s %d %s %d %lf
",buf[j].routeNO,buf[j].destination,buf[j].days_of_trav,buf[j].type_of_trav,buf[j].month,buf[j].price);
}
fprintf(dest,"the tatal number of route is %d
each month lists below:
MONTH NUMBER OF ROUTE:
",count_all);
for(i=0;i<12;i++)
{
fprintf(dest,"%d %d
",i+1,count_mon[i]);
}
fflush(dest);
fclose(res);
fclose(dest);
system("pause");
return 0;
}

牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。 牛顿迭代法又叫牛顿切线法。主要用于求方程的近似解。

设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。

解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰勒级数 f(x) = f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=f(x)=0 设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。 

   牛顿切线法收敛快,适用性强,缺陷是必须求出方程的导数。

 f=((a*x0+b)*x0+c)*x0+d;  //为什么要这样写?而不直接写成//a*x*x*x+b*x*x+c*x+d ?

这完全是为了加快计算速度。它使用了数学中有名的霍纳求值法。

((a*x0+b)*x0+c)*x0+d只需要做3次乘法,而a*x*x*x+b*x*x+c*x+d需要做6次乘法。在计算机中乘法和除法需要的机器指令周期是最长的,这样改写可大大提高计算速度,特别是计算式复杂,数据繁多的场合。这是一个很有用的设计技巧。 

现在验证代码如下:

解方程

要求:(1)用牛顿法求解下列方程在X=1.8附近的根(є=10的-6次方);

     x^3-5x^2+3x+5=0

  

     (2)改变初始值、误差后重新求解。 

这个是程序:  

#include<stdio.h>

#include<math.h>

#define f(x) (x*x*x-5*x*x+3*x+5)

#define f_(x) (3*x*x-10*x+3)/*f(x)求导*/

void main()

{

 float eps,x;

 printf("请输入误差限:
");

 scanf("%f",&eps);

 printf("请输入初值:
");

 scanf("%f",&x);

 while(fabs(f(x))>eps)

  x=x-f(x)/f_(x);

 printf("该方程的一个根是%f!
",x);

再把你的运行结果的截屏输出:

再就是你的心得了。。。。。




全国计算机等级考试二级C的考试大纲包含哪些内容?
下面是关于计算机基础与C语言程序设计实验指导和习题解答的图书目录,分为三个部分:第一篇: C语言程序设计实验指导 第1章: Visual C++ 6.0使用指南 1.1 运行C程序 1.2 打开C源程序文件 1.3 调试C程序 第2章: 实验内容 实验一: 熟悉VC环境 实验二: 数据类型 实验十一...

求完整C语言程序设计报告!!
实验题目:编写函数实现删除字符串中的特定字符,例如原字符串为“turbo c and borland c++”,从键盘输入字符“n”,则输出后变为“turbo c and borlad c++”。要求:一、课程设计的性质和目的二、需求分析:1、程序的功能。2、输入输出的要求。三、算法分析:四、流程图:五、源程序:(带注释并附最后运行结果)一定...

求山东理工大学C语言实验答案(在线等、求速度)
实验四 循环程序综合应用一、实验目的:掌握循环结构程序设计的一般方法及循环结构程序的调试方法,能够综合运用顺序、选择和循环结构解决一般难度的实际应用问题。二、实验要求:1.仔细阅读下列实验内容,并编写出相应的C语言源程序。2.在VC运行环境下,编辑录入源程序。3.调试运行源程序,并记录下调试运行过程中出现的所有...

C语言程序设计报告(商品订购系统)
2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。3、进一步要求:完成全部功能的系统。要求:1、用C语言实现程序设计;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:1、...

C语言高手!!帮忙写个最短路径程序!!!
这是我们的一个实验,你可以参考一下 一、 需求分析 【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】(1) 设计你所有学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2...

C语言实验报告
实 验 报 告 学号: 姓名: 专业:计算机科学与技术 班级:5 第 13 周 课程名称 c\/C++ 实验课时2 实验项目字符串的复制与追加实验时间08.5. 16 实验目的 1.掌握字符串的基本操作和理解数据结构 实验环境 VC 6.0 实验内容(算法、程序、步骤和方法) 先计算出S1和S2的字符个数...

c语言实训贪吃蛇报告书
《高级语言程序设计》课程设计 实验报告 题目:贪吃蛇 专业:计算机 班级: 软件 姓名:成绩:指导教师:完成日期:2008年09月23日 一、目的 1. 进一步掌握和利用C语言进行程设计的能力;2、 进一步理解和运用结构化程设计的思想和方法;3、 初步掌握开发一个小型实用系统的基本方法;4、 学会调试一个...

c语言程序大神帮忙设计一下?
define PATH "C:\\\\worker.data"typedef struct worker\/\/职员 { int id;char name[20];int sex;\/\/0:女。1:男 int byy;int bmm;int bdd;}WR;int write2File(char path[]);\/\/写入文件,成功返回1,失败返回-1 int getLen(char path[]);\/\/重新计算信息长度,成功返回1,失败返回-1 in...

c语言实训总结优秀范文
简单界面程序。高级界面程序。程序的添加修改。用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。 上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、...

怎么写c语言综合实验设计报告?
举个楼主自己写的例子吧,仅供参考。c语言作业报告书 题 目:二次探测再散列法解决冲突建立哈希表并查找 完成时间:2012年5月31号 学 号:2011013290姓名:聂亮兵专业班级:信管112班 1. 实习任务与目的 实验任务:独立写出哈希查找的相关代码并画出核心的算法流程图,记录相关实验数据,得出实验...

涉县19532067971: C语言 帮我编个实验报告吧 优秀报告追加满分
栾璐力达: 一·实验目的 1.了解C语言的基本结构与编写; 2.能够在程序中打开原本设定的文件; 3.学会函数的调用; 4.调试函数,能够得到原先设计函数的要求. 二·实验题目 就是老师给的题目 三·实验步骤 就是你的代码 四,实验体会与总结 通过本...

涉县19532067971: c语言程序设计,实验报告 -
栾璐力达: 计 实验项目 C程序设计初步 成 绩 专业班级 学 号 指导教师 张耀文 姓 名 序 号 实验日期 一1. 了解使用VC++6.0的开发环境;2. 掌握在该系统上如何编辑、编译、连接和运行一个C程序;3. 通过运行简单的C程序,初步了解C源程序的特点;二 ...

涉县19532067971: c语言程序设计实验报告 -
栾璐力达: #include#include#include#define pi 3.1415926#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) void init() {int i,l,x1,x2,y1,y2; setbkcolor(1); circle(300,240...

涉县19532067971: 求个C语言综合实验设计报告,包括设计题目,题目阐述及设计思路,主要知识点,程序清单,设计结果优缺点 -
栾璐力达: 题目: C语言输出万年历 学院:专业:班级:姓名:设计日期: 总分:一、设计题目: C语言输出万年历 二、题目阐述及设计思路:C语言输出万年历,输入年份、月份,计算得到的是这一天是星期几;给定年,月,计算此月有多少天...

涉县19532067971: C语言编程实践报告 -
栾璐力达: 原发布者:UfY73Vj7s0Yx7 中南大学CentralSouthUniversityC语言课程设计实践题目名称:实现一个简单的文本文件编辑系统完成人姓名:郑艺颖专业班级:电气信息类1117班学号:09091117171摘要这个文本编辑器的功能类似windows的记事...

涉县19532067971: c语言程序实验报告 -
栾璐力达: 晕报告也要人教啊,我教你写 一、程序主要功能∶ 某校规定,学习成绩超过全班平均成绩的%10者得第一等奖,学习成绩超过全班平均成绩的%5者得第二等奖,某班有30名学生,请编写一个c语言程序,实现下列功能: 1,输入全班学生成绩(学生用学号代表); 2,分别输出得一等奖和二等奖同学的学号和成绩. 二、程序设计说明:(算法设计思路与流程图) 在脑海中不知道怎么表达谢谢. 三、实验结果与结论:我太聪明了怎么变态的题目都做出来了哈哈狂笑哈哈还是狂笑. 四、实验中遇到的问题及解决方法: 由于本人聪颖过人,程序未遇任何错误,有何不足之处还望不吝赐教.

涉县19532067971: 学院c语言实验报告选择结构程序设计 -
栾璐力达: 一、 scanf("%lf", x); 改为scanf("%lf", &x); y = 1 / x 没加分号 二、if( a + b > c || b + c > a || a + c > b)改成if( !(a + b > c || b + c > a || a + c > b) )

涉县19532067971: 《C语言程序设计》实验报告 -
栾璐力达: #include "stdio.h"#define N 10 typedef struct {char name[20]; char xuehao[20]; int xuhao[5]; float shuxue[10]; float yingyu[10]; float jisuanji[10]; float sum[10]; float average[10]; }user; main() {user sp[N],temp; int i; printf("enter xinxi; \n"); for(i=0;i<N;...

涉县19532067971: C语言程序设计实验报告 (1)编写一个函数primeNum(int x),功能是辨别一个数是否为素数. -
栾璐力达: #include <math.h> int primeNum(int p) { int i, q;/* Negative number is not a prime */ if (p < 0) return 0; q = (int) sqrt(p); for (i = 2; i < q; i++) if ((p % i) == 0) return 0; /* No factor of p is found */ return 1; }/*原理::从2-sqrt(x)的数中看是否有可以整除的, 如果没有, 则为素数. */

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网