- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(j=0;j<n-i-1;j++)
if(a[j]<a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
printf("n个学生成绩排名是:\n");
for(i=0;i<n;i++)Leabharlann Baidu//输出结果
printf("%5d",a[i]);
printf("\n");
scanf("%d",&n);
printf("输入n个学生成绩:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++) //冒泡法对n个数字排序
for(j=0;j<n-i-1;j++)
if(a[j]<a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
二,总体设计:
1,学生成绩排名
1,流程图:
假?
真?
假?
真?
<通过冒泡法对数组进行排序>
<测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>
2,程序:
#include<stdio.h>
int main()
{
int a[11],i,j,t,b,c,temp1,temp2,temp3; //定义一个数组a[11],用以存放学生的成绩
a[10]=b;
else
{for(i=0;i<10;i++)
{if(a[i]<b)
{temp1=a[i];a[i]=b;
for(j=i+1;j<11;j++)
{temp2=a[j];a[j]=temp1;temp1=temp2;
}break;
}
}
}
printf("11个学生成绩数组:\n"); //输入11个学生成绩
for(i=0;i<11;i++)
printf("%5d",a[i]);
printf("\n");
for(i=0;i<5;i++) //排好序的成绩单进行反序存放
{
temp3=a[i];
a[i]=a[10-i];
a[10-i]=temp3;
}
printf("排好序的成绩单进行反序存放为:\n");
for(i=0;i<11;i++) //输出反序存放后的学生成绩数组
printf("10个学生成绩从高到低排名是:\n");
for(i=0;i<10;i++) //输出结果
printf("%5d",a[i]);
printf("\n");
}
void sort2(int a[],int n) //定义函数
{
int i,j,t;
printf("请输入学生个数n:\n");
printf("%5d",a[i]);
printf("\n");
return 0;
}
3,运行结果:
2,根据条件进行学生成绩排名
1,流程图:
Sort1sort2
假?
真?
Sort3
假?
假?真?
真?
2,程序:
#include<stdio.h>
void sort1(int a[10]) //定义函数
{ int i,j,t;
printf("输入10个学生成绩:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]); //输入n个学生成绩
for(i=0;i<10;i++) //冒泡法对n个数字排序
for(j=0;j<9-i;j++)
if(a[j]<a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
设计报告
一,实验目的:
通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知识点。
C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上机实习可以帮助我们更好地理解这种结构式的中级语言以及其各式各样的数据类型和高效率的运算程序,为我们进一步学习C++打下坚实基础。
for(i=0;i<n;i++) //冒泡法对n个数字升序排列
for(j=0;j<n-i-1;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
else if(style==100)
{ printf("对n个数字降序排列为:\n");
for(i=0;i<n;i++) //冒泡法对n个数字降序排列
同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而且也让我们发现了一些自己的个人误区以及其他人容易犯的错误,从而在今后的学习中更加谨慎,达到事半功倍的效果;通过询问老师,也让我们养成了不耻下问的好习惯,这将很有利于以后的学习。
闲乐-一个人闲。不如大家一块儿乐http://www.xlw.cc
style=getchar();
printf("请输入学生个数n:\n");
scanf("%d",&n);
printf("输入n个学生成绩:\n");
int i,j,t;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
if(style==97)
{ printf("对n个数字升序排列为:\n");
printf("n个学生成绩从高到低排名是:\n");
for(i=0;i<n;i++) //输出结果
printf("%5d",a[i]);
printf("\n");
}
void sort3(int a[],int n, char style)
{ char c; getchar(c);
printf("请输入style类型:a or d\n");
printf("从键盘输入10个学生成绩:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]); //输入10个学生成绩
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]<a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;} //采用冒泡法,将学生成绩按照从高到低进行排序
printf("10个学生成绩数组:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("再输入一个学生的成绩\n");
scanf("%d",&b); //再输入一个学生的成绩
c=a[9];
if(b<c) //将此成绩按照排序规律插入原学生成绩数组