搜索

...采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此...

发布网友 发布时间:2024-10-24 14:55

我来回答

3个回答

热心网友 时间:5分钟前

#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);//插入新成绩函数
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("程序结束!");
}
}

热心网友 时间:2分钟前

啊,晕倒,现在都有EXCEL了,有这点功夫早都分析好了

热心网友 时间:4分钟前

1.form里有一个FpSpread控件,单击第2列的单元格,此单元格就进入待输入的状态。
2.我搞了半天也没弄明白怎么才能实现单击就能待输入,于是只能改变做法。可是双击单元格的时候,我又取不到这个单元格的Text,因为我不会确定这个单元格。求确定此单元格的方法。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top