期末C语言程序设计,题目很简单,请高手帮我完成一下,谢谢了

选修课没选好,完全听不懂,实在没办法只能向高手们求助了共三道题,已上传到115,提取码bhfdd24m,要求也在里面请做好后发送到takikun@qq.com,记得在Wo... 选修课没选好,完全听不懂,实在没办法只能向高手们求助了
共三道题,已上传到115,提取码bhfdd24m, 要求也在里面
请做好后发送到takikun@qq.com,记得在Word里写下自己的ID哦

题目的主要内容:
第一题:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

第二题:建立一个学生信息链表,每个结点包括:学号、姓名、成绩。实现链表的建立、显示和查询。查询是指输入一个学号,如果链表中存在该学号的的结点,则显示此结点的数据。

第三题:有10名学生的数据(包括学号、姓名、和三门课程的成绩即,数学、语言、英语)编写程序,把这些学生的数据存放在文件“score.txt”中,然后在读取文件,把有不及格的学生数据存放到文件“bjg.txt”中,成绩都合格的学生数据存放到文件“jg.txt”中。然后再把文件中的信息分别显示在屏幕上。
展开
 我来答
神玄凰1142
2011-06-27 · TA获得超过218个赞
知道答主
回答量:551
采纳率:0%
帮助的人:292万
展开全部
#include <stdio.h>
#include <windows.h>
#define BUFFER 100

void getScore(int a[],int n);
void sort(int a[],int n);
void sort(int a[],int n, char style);
int foundScore(int a[],int n,int score);
void insertScore(int a[],int *n,int score);
void deleteScore(int a[],int *n,int score);
void displayScore(int a[],int n);
void main_menu();

int score[BUFFER]=; //-1 表示没有成绩

void getScore(int a[],int n)
{
for (int i=0;i!=n;++i)
{
printf("请输入第%d个成绩:\n",i+1);
scanf("%d",&a[i]);
}
}

void sort(int a[],int n)
{
printf("从高到低排序\n");
for (int j=0;j!=n-1;++j)
{
for (int i=0;i!=n-1-j;++i)
{
if (a[i]<a[i+1])
{
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
printf("排序后输出:\n");
for (int i=0;i!=n;++i)
{
printf("%d\n",a[i]);
}
}

void sort(int a[],int n, char style)
{
if (style=='a')
{
printf("按升序排序\n");
for (int j=0;j!=n-1;++j)
{
for (int i=0;i!=n-1-j;++i)
{
if (a[i]>a[i+1])
{
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
printf("排序后输出:\n");
for (int i=0;i!=n;++i)
{
printf("%d\n",a[i]);
}
}
else if (style=='b')
{
printf("按降序排序\n");
for (int j=0;j!=n-1;++j)
{
for (int i=0;i!=n-1-j;++i)
{
if (a[i]<a[i+1])
{
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
printf("排序后输出:\n");
for (int i=0;i!=n;++i)
{
printf("%d\n",a[i]);
}
}
else
{
printf("输出错误");
}
}

int foundScore(int a[],int n,int score)
{
for (int i=0;i!=n;++i)
{
if (a[i]==score)
{
printf("你要查找的成绩%d下标是:%d",a[i],i);
break;
}
}
if (i==n)
{
printf("没有找到\n");
return -1;
}
return i;
}

void insertScore(int a[],int *n,int score)
{
if (BUFFER>*n)
{
a[++(*n)]=score;
printf("%d",a[*n]);
printf("插入成功\n");
}
else
{
printf("数组已满\n");
}

}

void deleteScore(int a[],int *n,int score)
{
if (*n!=0)
{
int temp=foundScore(a,*n,score);
for (;temp!=*n;++temp)
{
a[temp]=a[temp+1];
}
*n--;
printf("删除成功\n");
}
else
{
printf("数组是空的\n");
}
}

void displayScore(int a[],int n)
{
printf("输出所有成绩:\n");
for (int i=0;i!=n;++i)
{
printf("%d\n",a[i]);
}
}

int main_menu(int choice)
{
printf("\n\n\t\t\t 学生成绩管理\n");
printf("\t\t\t1、输入成绩\n");
printf("\t\t\t2、成绩从高到低排名\n");
printf("\t\t\t3、成绩排名\n");
printf("\t\t\t4、成绩查找\n");
printf("\t\t\t5、成绩插入\n");
printf("\t\t\t6、成绩删除\n");
printf("\t\t\t7、输出成绩\n");
printf("\t\t\t0、退出\n");
printf("\t\t 你的输入:");
scanf("%d",&choice);
return choice;
}
int main()
{
int choice=0;
int flag=0;
int num=0,temp;
char way;
while(1)
{
system("cls");
switch (main_menu(choice))
{
case 1:
system("cls");
printf("请输入要输入的成绩个数:");
scanf("%d",&num);
getScore(score,num);
system("pause");
break;
case 2:
system("cls");
sort(score,num);
system("pause");
break;
case 3:
system("cls");
printf("请输入排序方式:\ta==升序\tb==降序\n");
fflush(stdin); //清除缓冲
scanf("%c",&way);
sort(score,num,way);
system("pause");
break;
case 4:
system("cls");
printf("请输入你要查找的成绩:");
fflush(stdin);
scanf("%d",&temp);
foundScore(score,num,temp);
system("pause");
break;
case 5:
system("cls");
printf("请输入你要插入的成绩:");
fflush(stdin);
scanf("%d",&temp);
insertScore(score,&num,temp);
system("pause");
break;
case 6:
system("cls");
printf("请输入你要删除的成绩:");
fflush(stdin);
scanf("%d",&temp);
deleteScore(score,&num,temp);
system("pause");
break;
case 7:
system("cls");
displayScore(score,num);
system("pause");
break;
case 0:
flag=1;
break;
}
if (flag)
{
system("cls");
printf("感谢使用!");
break;
}

}
return 0;
}
1156374953
2011-06-26 · 超过18用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:43万
展开全部
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
int data[10];
int i,a,b,min,max;
printf("请输入10个整数:");
for(i=0;i<10;i++)
{
scanf("%d",&data[i]);
}
min=max=data[0];
for(i=1;i<10;i++)
{
if(min>data[i])
{min=data[i]; a=i; }
if(max<data[i])
{max=data[i]; b=i; }
}
data[a]=data[0];
data[0]=min;
data[b]=data[9];
data[9]=max;
printf("按要求排列好的顺序为:");
for(i=0;i<10;i++)
{
printf("%d ",data[i]);
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式