请大家帮我做下计算机C语言作业很简单的(必须包括算法、代码、结果截图。)

一:题目(共有三个题目,第一题必须完成、第二、第三题可以选择其中一题)

1. 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

⑴提示
把输入的10个整数存入数组中,10个中最小的数与数组的第一个元素对换,最大的数与数组的第10个元素对换。其他的保持不变。例如:
23
10 8 5 9 34 12 67 89 31
原数组:

5 10 8 23 9 34 12 67 31 89
交换后的数组:

⑵要求
 定义3个函数:
void input(int number[10]); /*此函数向首地址为number的数组输入10个元素*/
void max_min_value(int array[10]); /*此函数交换array数组的对应元素*/
void output(int array[10]);  /*此函数输出array数组的10个元素*/
 在main函数中调用上述3个函数,实现题目要求的功能;

2.建立一个学生信息链表,每个结点包括:学号、姓名、成绩。实现链表的建立、显示和查询。查询是指输入一个学号,如果链表中存在该学号的的结点,则显示此结点的数据。
⑴提示
采用动态分配内存,。由于结点结构中包含三个域,可以采用C语言中的结构体类型实现。
struct Node //定义一个节点结构体类型
{ long num;
char name[10];
float score;
struct Node *next;
};
⑵要求
 在程序中定义了三个函数:
void init(); //初始化链表
void create(); //创建学生成绩信息链表
void disp(); //输出链表信息
 定义一个查询函数void search(int number),其中,参数是学生的学号。如果链表中存在该学号的的结点,则显示此结点的数据,否则输出没有该学号的结点。
 定义一个删除函数void del(int number),用于删除指定学号的结点。如果链表中存在该学号的的结点,则删除该结点,否则显示链表中没有该学号的结点。
3.有10名学生的数据(包括学号、姓名、和三门课程的成绩即,数学、语言、英语)编写程序,把这些学生的数据存放在文件“score.txt”中,然后在读取文件,把有不及格的学生数据存放到文件“bjg.txt”中,成绩都合格的学生数据存放到文件“jg.txt”中。然后再把文件中的信息分别显示在屏幕上。
⑴提示:先定义一个结构体类型
struct Node //定义一个节点结构体类型
{ long num;
char name[10];
float math;
float chinese;
float english;
};

⑵要求:在屏幕上显示及格“jg.txt”和不及格“bjg.txt”学生信息时要求有表头,格式如下:
成绩都合格的学生信息:
学号 姓名 数学 语文 英语
20083159 张三 67 89 90
20083170 李四 71 88 91
…………………………………………………………

成绩有不及格的学生信息:
学号 姓名 数学 语文 英语
20083134 王三 61 55 90
20083123 二马 50 84 71
………………………………………

第一题

#include <stdio.h>

void input(int number[10]); 

void max_min_value(int array[10]);

void output(int array[10]);

int main()

{

int a[10];

input(a);

max_min_value(a);

output(a);

}

void input(int number[10])

{

int i;

for(i=0;i<10;i++)

scanf("%d",&number[i]);

}

void max_min_value(int array[10])

{

int i,j,k,t;

int min=10000,max=0;

for(i=0;i<9;i++)

{

if(array[i]<min) 

{

min=array[i];j=i;

}

if(array[i]>max)

{

max=array[i];k=i;

}

}

t=array[0];array[0]=array[j];array[j]=t;

t=array[9];array[9]=array[k];array[k]=t;

}

void output(int array[10])

{

int i;

for(i=0;i<10;i++)

printf("%d ",array[i]);

printf("\n");

}

第三题

#include <stdio.h>

#include <stdlib.h>

#define N 4 //可以变化的  ,题目要求可以改成10 ,4只是为了测试

typedef struct Node   

{

long num;

char name[10];

float math;

float chinese;

float english;

}std;

void write_score();

void deal();

int main()

{

write_score();

deal();

return 0;

}

void write_score()

{

FILE *fp;

std a[N];

int i;

if((fp=fopen("score.txt","w"))==NULL)

printf("cannot open this file\n");

printf("请分别输入学号、姓名、数学、语文、英语:\n");

for(i=0;i<N;i++)

{

scanf("%ld%s%f%f%f",&a[i].num,a[i].name,&a[i].math,&a[i].chinese,&a[i].english);

fprintf(fp,"%ld %s %.1f %.1f %.1f\n",a[i].num,a[i].name,a[i].math,a[i].chinese,a[i].english);

}

fclose(fp);

}

void deal()

{

FILE *fp,*fp1,*fp2;

std a[N];

int i,j,sign[N]={0};

if((fp=fopen("score.txt","r"))==NULL)

printf("cannot open this file\n");

if((fp1=fopen("jg.txt","w"))==NULL)

printf("cannot open this file\n");

if((fp2=fopen("bjg.txt","w"))==NULL)

printf("cannot open this file\n");

for(i=0;i<N;i++)

{

fscanf(fp,"%ld %s %f %f %f",&a[i].num,a[i].name,&a[i].math,&a[i].chinese,&a[i].english);

if(a[i].math<60||a[i].chinese<60||a[i].english<60)

sign[i]=1;

}

printf("成绩都合格的学生信息:\n");

printf("学号    姓名    数学  语文  英语\n");

for(i=0,j=0;i<N;i++)

{

if(sign[i]==0)

{

fprintf(fp1,"%ld %s %.1f %.1f %.1f\n",a[i].num,a[i].name,a[i].math,a[i].chinese,a[i].english);

printf("%-15d%10s%6.1f%6.1f%6.1f\n",a[i].num,a[i].name,a[i].math,a[i].chinese,a[i].english);

}

}

printf("........................................................\n");

printf("成绩有不及格的学生信息:\n");

for(i=0,j=0;i<N;i++)

{

if(sign[i])

{

fprintf(fp2,"%ld %s %.1f %.1f %.1f\n",a[i].num,a[i].name,a[i].math,a[i].chinese,a[i].english);

printf("%-15d%10s%6.1f%6.1f%6.1f\n",a[i].num,a[i].name,a[i].math,a[i].chinese,a[i].english);

}

}

printf("........................................................\n");

fclose(fp);

}

那个怎么插入图片不怎么会,你要的话,可以发给你,或则你自己调试

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-27
伸手党 必须党 还有什么党啊
第2个回答  2011-06-27
大一川农的吧!?哈哈。。。。
第3个回答  2011-06-27
我讨厌必须党。。
相似回答