C语言问题编程问题?

1、某班有30名学生,C语言期中考试过后,老师想让你编写一个程序,实现如下功能:
(1)从键盘输入n名学生的成绩;(n由用户键盘输入)
(2)计算n名学生成绩的平均分,并输出;
(3)将n名学生的成绩进行降序排序(冒泡排序法和选择排序法均可),并输出;

#include <stdio.h>

int main()

{

    int i,j,n=-1;

    float scores[30],sum=0,temp;

    printf("请输入n的值(0~30):");

    while(n<0 || n>30) scanf("%d",&n);

    if(!n) return 0;

    for(i=0;i<n;scanf("%f",&scores[i]),sum+=scores[i],i++)

        printf("请输入学生%d分数:",i+1);

    printf("%d名学生的平均分为%.1f\n",n,sum/i);

    for(i=0,printf("开始降序排序\n");i<n-1;i++)

        for(j=i+1;j<n;j++)

            if(scores[i]<scores[j])

                temp=scores[i],scores[i]=scores[j],scores[j]=temp;

    for(i=0,printf("排序后的分数为:\n");i<n;i++)

        printf("%.0f ",scores[i]);

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-11-26

#include <stdio.h>

int main()

{ int i,j,t,n,s=0,a[50];

  scanf("%d",&n);

  for(i=0; i<n; i++)

  { scanf("%d",&a[i]);

    s+=a[i];

  }

  printf("\nAver=%.2f\n",(float)s/n);

  for(i=0; i<n-1; i++)

    for(j=0; j<n-1-i; j++)

      if(a[j]<a[j+1])

      { t=a[j];

        a[j]=a[j+1];

        a[j+1]=t;

      }

  for(i=0; i<n; i++)

    printf("%d ",a[i]);

  return 0;

}

本回答被网友采纳
第2个回答  2021-11-27
#include <stdio.h>
main(){
int i,j,n;
float s[100],sum,aver,t;
printf("请输入n的值:");
do{
scanf("%d",&n);
}while(n<0||n>100);
printf("请输入%d名学生的分数:",n);
for(sum=i=0;i<n;i++){
scanf("%f",s+i);
sum+=s[i];
}
aver=sum/n;
printf("%d名学生的平均分为%.2f\n",n,aver);
printf("降序排序结果:\n");
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(s[i]<s[j]){
t=s[i];
s[i]=s[j];
s[j]=t;
}
for(i=0;i<n;i++)
printf("%.2f ",s[i]);
}
第3个回答  2021-12-06
C语言三个数从小到大排序/输出 。 C语言猴子吃桃问题 。百钱买百鸡 。C语言渔夫打鱼晒网问题。C语言希尔排序算法 6。C语言冒泡排序算法。
第4个回答  2021-11-26
19题
#include<stdio.h>
void main()
{
float n;
printf("pleas input a score:\n");
scanf("%f",&n);
if(n<0) printf("shuru cuowu");
if(n>=90) printf("A");
if(n>=80&&n<89) printf("B");
if(n>=70&&n<79) printf("C");
if(n>=60&&n<69) printf("D");
if(n<59&&n>=0) printf("E");

}
第四题
#include<stdio.h>
void main()
{
int a[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
int i;
for(i=0;i<=12;i++)
{if(a[i]==3||a[i]==13)
a[i]=a[i+1];
}
printf("shengxia xuesheng de xuhao\n");
for(i=0;i<=10;i++)
{
printf("%d->",a[i]);

}
printf("%d",a[11]);
}
第五题
#include<stdio.h>
void main()
{int a[20],i,j,n,temp;
printf("please input 20 number:\n");
for(i=0;i<20;i++)
{scanf("%d",&n);
a[i]=n;
}
for(j=0;j<20;j++)
for(i=0;i<20-j;i++)
{if(a[i]>a[i+1]){
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<20;i++)
printf("%d ",a[i]);
}
相似回答