...采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此...
发布网友
发布时间: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,因为我不会确定这个单元格。求确定此单元格的方法。