(一)学生成绩排名 采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规
#include
//#define num 10
//int a[10];
void main()
{
int a[10];
int studentNum;
int i;
void Ascending(int a[],int studentNum); //声明升序函数
void Descending(int a[],int studentNum);//声明降序函数
void Input(int a[],int studentNum);//插入新成绩函数
studentNum = 10;
printf("请输入%d个学生成绩
",studentNum);
for(i = 0;i < studentNum;i++)
{
scanf("%d",&a[i]);
}
Descending(a,studentNum);
printf("经排序后的数为:
");
for(i = 0;i < studentNum;i++)
{
printf("%d",a[i]);
}
Input(a,studentNum);
}
//升序排列
void Ascending(int a[10],int studentNum)
{
int i,j;
for(i = 0;i < studentNum;i++)
{
for(j = i + 1;j <= studentNum;j++)
{
if(a[j] < a[i])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
//降序排列
void Descending(int a[10],int studentNum)
{
int i;
Ascending(a,studentNum);
for(i = 0;i < (studentNum - 1)/2;i++)
{
int t = a[i];
a[i] = a[studentNum - 1 - i];
a[studentNum - 1 - i] = t;
}
}
//插入新成绩函数
void Input(int a[10],int studentNum)
{
int b[11];
int i,newScore;
int con;
printf("是否要插入一个新成绩1/0:");
scanf("%d",&con);
if(con == 1)
{
printf("请输入新的成绩:");
scanf("%d",&newScore);
for(i = 0;i < studentNum;i++)
{
b[i] = a[i];
}
b[studentNum] = newScore;
studentNum++;
Ascending(b,studentNum);
printf("经升序后的数为:
");
for(i = 0;i < studentNum;i++)
{
printf("%d",b[i]);
}
Descending(b,studentNum);
printf("
经降序后的数为:
");
for(i = 0;i < studentNum;i++)
{
printf("%d",b[i]);
}
Input(b,studentNum);
}
else
{
printf("程序结束!");
}
}
#include main() { void paixun(int a[],int n); void new_px(int a[],int ad); void fx(int a[],int n); int a[11],i; printf("请输入10个同学的成绩
"); for(i=0;ia[k]) k=j; temp=a[i];a[i]=a[k];a[k]=temp; } } void new_px(int a[],int ad) { int i,j,x,k; x=ad; for(i=0;ik;i--) { a[i]=a[i-1]; } a[k]=x; printf("新的排序
"); for(i=0;i<11;i++) printf("%4d",a[i]); } void fx(int a[],int n) { int i,j,temp; i=0; j=n-1; for(i=0,j=n-1;i<j;i++,j--) {temp=a[i];a[i]=a[j];a[j]=temp;} for(i=0;i<11;i++) printf("%4d",a[i]); printf("
"); }
//#define num 10
//int a[10];
void main()
{
int a[10];
int studentNum;
int i;
void Ascending(int a[],int studentNum); //声明升序函数
void Descending(int a[],int studentNum);//声明降序函数
void Input(int a[],int studentNum);//插入新成绩函数
studentNum = 10;
printf("请输入%d个学生成绩\n",studentNum);
for(i = 0;i < studentNum;i++)
{
scanf("%d",&a[i]);
}
Descending(a,studentNum);
printf("经排序后的数为:\n");
for(i = 0;i < studentNum;i++)
{
printf("%d\t",a[i]);
}
Input(a,studentNum);
}
//升序排列
void Ascending(int a[10],int studentNum)
{
int i,j;
for(i = 0;i < studentNum;i++)
{
for(j = i + 1;j <= studentNum;j++)
{
if(a[j] < a[i])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
//降序排列
void Descending(int a[10],int studentNum)
{
int i;
Ascending(a,studentNum);
for(i = 0;i < (studentNum - 1)/2;i++)
{
int t = a[i];
a[i] = a[studentNum - 1 - i];
a[studentNum - 1 - i] = t;
}
}
//插入新成绩函数
void Input(int a[10],int studentNum)
{
int b[11];
int i,newScore;
int con;
printf("是否要插入一个新成绩1/0:");
scanf("%d",&con);
if(con == 1)
{
printf("请输入新的成绩:");
scanf("%d",&newScore);
for(i = 0;i < studentNum;i++)
{
b[i] = a[i];
}
b[studentNum] = newScore;
studentNum++;
Ascending(b,studentNum);
printf("经升序后的数为:\n");
for(i = 0;i < studentNum;i++)
{
printf("%d\t",b[i]);
}
Descending(b,studentNum);
printf("\n经降序后的数为:\n");
for(i = 0;i < studentNum;i++)
{
printf("%d\t",b[i]);
}
Input(b,studentNum);
}
else
{
printf("程序结束!");
}
}
1.form里有一个FpSpread控件,单击第2列的单元格,此单元格就进入待输入的状态。
2.我搞了半天也没弄明白怎么才能实现单击就能待输入,于是只能改变做法。可是双击单元格的时候,我又取不到这个单元格的Text,因为我不会确定这个单元格。求确定此单元格的方法。
啊,晕倒,现在都有EXCEL了,有这点功夫早都分析好了
镇习复方: #include<stdio.h>//#define num 10//int a[10]; void main() { int a[10]; int studentNum; int i; void Ascending(int a[],int studentNum); //声明升序函数 void Descending(int a[],int studentNum);//声明降序函数 void Input(int a[],int studentNum);//插入新...
新和县19644638655: c语言求助 学生成绩排名拜托各位大神 - ?
镇习复方: #include main() { void paixun(int a[],int n); void new_px(int a[],int ad); void fx(int a[],int n); int a[11],i; printf("请输入10个同学的成绩\n"); for(i=0;ia[k]) k=j; temp=a[i];a[i]=a[k];a[k]=temp; } } void new_px(int a[],int ad) { int i,j,x,k; x=ad; for(i=0;ik;i--) { a[i]=a[i-1]; } a[k]=x; printf("新的排序\n"); for(i=0;i
新和县19644638655: 选择法排序 - 关于一道C程序题排序查找用选择法对15个学生的成绩按从大到小的顺 ?
镇习复方: 题目中给的选择法和折半法的提示都是按数组从小到大来说的.但题目要求要把成绩按从大到小排序.这个要注意. #include void main() { int a[15],b; int i,j,t; int min,mid,max; //输入15个学生的成绩 for(i=0;i100) { printf("输入错误\n"); i--; } } //选择法排序 for(i=0;ia[mid])max=mid-1; else min=mid+1; } if(min==max) { printf("无此成绩\n"); break; } } getch(); }
新和县19644638655: c语言求助 学生成绩排名?
镇习复方: #include<stdio.h>main(){ void paixun(int a[],int n); void new_px(int a[],int ad); void fx(int a[],int n); int a[11],i; printf("请输入10个同学的成绩\n"); for(i=0;i<10;i++)scanf("%d",&a[i]); paixun(a,10); for(i=0;i<10;i++) printf("%4d",a[i]); printf(...
新和县19644638655: 有五个学生信息要求采用选择法对各元素排序..按照成绩从低到高排序,c语言 - ?
镇习复方: 选择法排序是一种简单的容易实现的对数据排序的算法.以整形数组元素为例,有数组A[10],即A[0],A[1],…,A[8],A[9](假设其元素均互不相同).要求对其元素排序使之递增有序.首先以一个元素为基准,从一个方向开始扫描,比如从左至右...
新和县19644638655: 用C语言写出 “从键盘上输入10个学生5门课程的成绩,并用选择法对每个学生的成绩 进行排序,最后输 - ?
镇习复方: #include <stdio.h> #include <math.h> #include <time.h> #define N 10 int maxi,maxj; void aver(int a[][5]) { int i,j; printf("Average:"); for(i=0;i<N;i++) for(j=0;j<5;j++) a[N][j]+=a[i][j]; for(i=0;i<5;i++) printf("%6.1f",(float)a[N][i]/10); printf("\n"); } void ...
新和县19644638655: 用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩 - ?
镇习复方: 你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下. #include <iostream> using namespace std; int main() { int s [10], i, j, t; cout << "输入10个数:"; for (i = 0; i < 10; i++) { cout << "请输入第" << i+1 << "名学生的...
新和县19644638655: 用选择法对N 个学生的成绩按从大到小的顺序排序,N 个学生的成绩整数用scanf 输入, 入的成绩在[0,100]之 - ?
镇习复方: 建议用冒泡排序,效率高
新和县19644638655: 定义函数buble,以数组作为参数,采用冒泡法,将学生成绩按照从低到高进行排序 - ?
镇习复方: #include void main() { int i,j,temp; int a[10]; for(i=0;iscanf ("%d,",&a[i]); for(j=0;j{ for (i=0;iif (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=1;iprintf("%5d,",a[i] ); printf("\n"); }
新和县19644638655: 电子表格排序 - ?
镇习复方: 电子表格排序有数据重排和序数计算(类似成绩统计中的名次)两类. 一、文本排序1、一般排序 比如将学生花名册按“姓名”的笔划排序,可以使用以下方法: 选中排序关键字所在列(或行)的首个单元格,单击Excel“数据”菜单下的“排...