c语言实验答案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言实验答案Prepared on 21 November 2021

n");

printf("The first number:");

scanf("%d",&a);

printf("The second number");

scanf("%d",&b);

printf("Results as follows:\n");

printf("%d+%d=%d\n",a,b,a+ b);

printf("%d-%d=%d\n",a,b,a-b);

printf("%d*%d=%d\n",a,b,a* b);

printf("%d+%d=%f\n",a,b,*a /b); .+1/n!的值。

#include<>

void main()

{

int n,p=1,i;

float sum=0;

printf("please input n:");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

p=p*i;

sum+=p;

}

printf("sum=%f\n",sum);

}

.14

p=j;

switch(p) umber);

for(j=0;j<3;j++)

printf("%",stu[i].score[j] );

printf("

ave=%.2f\n",average(stu[i]));umb er);

printf("score:");

for(j=0;j<3;j++)scanf("%f",&(stu[i].score[j]));

}

}

void main()

{

struct student stu[3]; //定义结构体数组

input(stu); //数组名做参数,传递的是地址

output(stu);

}

//静态链表的建立,有三个学生,包

括学号(sno char(8)),姓名

(sname char(20)),分数(grade

float[]),

//定义结构体类型数组存学生信息,

使用链表所有学生,实现链表的输入

输出。

//静态的书上有原题目,我写成动态

的了,用子函数的方式实现

#include <>

#include<>

#include <>

struct stu

//定义全局结构体

{

char sno[8];

char sname[20];

float grade;

struct stu *next;

} ;

////////////////////////////////

////////////////////////

void main( )

{

struct stu *creat(struct

stu *);

void print(struct stu*);

struct stu *head;

head=NULL;

head=creat(head);

print(head);

}

///////////////////////////////////////////////////////// struct stu *creat(struct stu*head) //建立链表 { struct stu *p,*q; q=(struct stu*)malloc(sizeof(struct stu)); //分配空间 printf("please input sno:"); scanf("%s",q->sno); printf("please input sname:"); scanf("%s",q->sname); printf("please input grade:"); scanf("%f",&q->grade); head=q; while(q->grade!=0) //当分数为0时结束 { p=(struct stu*)malloc(sizeof(struct stu)); printf("please input sno:"); scanf("%s",p->sno); printf("please input sname:"); scanf("%s",p->sname); printf("please input grade:"); scanf("%f",&p->grade); q->next=p; q=p; } q->next=NULL; return head; //返回链表的头指针 } //////////////////////////////////////////////////////////

void print(struct stu *head) //输出链表 { struct stu *p; //设游标指针 p=head; //取得链表的头指针 printf("data:\n----------------------\n"); while(p->next!=NULL) { printf("%s\n",p->sno); printf("%s\n",p->sname); printf("%f\n",p->grade); printf("----------------------\n"); p=p->next; } } //递归方法实现快速排序算法。快速排序的基本原理是: //(1)选择一个充当划分较小和较大元素的界限的元素,称其为基准值。 //(2)将数组中的元素重新排列使得较大元素向数组尾端移动,较小元素向数组首端移动。 //如此在形式上将数组分成两部分,界限左边元素都小于基准值,而界限右边元素都大于基准值,此过程称为分解。 //在分解完成后,充当界限的数组首元素可能需要和中间某元素对调。 //(3)排序两个子数组中元素。因为基准值左边元素都小于基准值右边元素,所以将两个子数组分别排序后即使得整个数组有序。 #include<> #define N 10 void main() {

相关文档
最新文档