当前位置:首页 » 编程语言 » 怎么用c语言进行分数筛选
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

怎么用c语言进行分数筛选

发布时间: 2022-08-13 00:42:13

A. c语言 学生成绩筛选及排序等问题

#include "stdio.h"
main()
{
float std[30],B,S;
int n=0,bjg=0,i,j,temp;
system("cls");
printf("请输入学生成绩(不多于30个):\n");
do
{
scanf("%f",&std[n]);
n++;
}
while(std[n-1]>=0);
if(n==1)
printf("没有收到哦!");
else
{
n--;
/*不及格成绩筛选*/
for(i=0;i<n;i++)
{
if(std[i]<60)
{
printf("%.2f ",std[i]);
bjg++;
}
}
printf("\n不及格人数为:%d",bjg);

/*排序*/
for(j=0;j<n-1;j++)
{
for(i=0;i<n-1-j;i++)
if(std[i]>std[i+1])
{
temp=std[i];std[i]=std[i+1];std[i+1]=temp;
}
}
printf("\n排序结果为:\n");
for(i=0;i<n;i++)
printf("%.2f ",std[i]);
/*最高最低成绩*/
printf("\n最高成绩是: %.2f \n最低成绩是:%.2f",std[n-1],std[0]);

}

}

B. 这是C语言编译的一个成绩筛选程序,为什么最后输出是0怎么改呢

你的Input函数有问题啊

你只判断了max<score的情况,当你的score小于0的时候,没有处理,而且也没有返回

上面估计默认就当你返回0了,因此你最后的时候y=0,而且max是个局部变量,你每次比较x都是与0比较,并没有起到每次获取大值的目的。

main函数中,你应该先判断x是否小于0,然后调用Input

Input可以这样用:

y=y>Input(x)?y:Input(x);


其实不都不用使用Input函数,直接在main中就能实现

intmain()
{
intx,y;
printf("pleaseinputscores(-1tobreak):");
y=0;
for(;;)
{
scanf("%d",&x);
if(x<0)
break;
y=y>x?y:x;
printf("%d已键入",x);
}
printf("最高成绩为%d",y);
}

C. c语言筛选法

scanf("%s",name);//输入名字
for(i=0;i<人数;i++)
{
//比较名字
if(strcmp(stu[i].name,输入的名字)==0)
{
//打印
printf(.............);
}
}

D. C语言在数组中筛选数处理

#include"stdio.h"
#defineN100
intmain(intargc,charconst*argv[])
{
inta[N],i,j;
for(i=0;i<N;++i)
{
scanf("%d",a+i);
}
for(i=0;i<N;i++)
{
for(j=i+1;j<N;++j)
{
if(a[i]%2==1&&a[j]%2==1&&a[i]>a[j])
{
a[i]=a[i]-a[j];
a[j]=a[i]+a[j];
a[i]=a[j]-a[i];
}
}
}
for(i=0;i<N;++i)
{
if(i%10==0)printf(" ");
printf("%d",a[i]);

}
return0;
}

以上算法基于选择排序算法


可将N设置为10 ,进行测试

E. C语言中筛选法是怎么一回事,请知道的详细讲一下

你真是大哥啊,筛选法是算法,他不是C语言中独有的,是一种解题思想

F. C语言中筛选法是怎么考虑的,就是分几个步骤考虑筛选出素数

先解释一下筛选法的步骤:<1>
先将1挖掉(因为1不是素数)。<2>
用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。<3>
用3去除它后面的各数,把3的倍数挖掉。<4>
分别用4、5…各数作为除数去除这些数以后的各数。上述操作需要一个很大的容器去装载所有数的集合,只要满足上述条件,即2的N次方的全部置0,3的N次方的全部置0,4的N次方的全部置0.。。。一直到这个数据集合的末尾,这样一来不为0的数就是素数了,然后按下标在里面进行查找就好了筛选法程序如下
#includeint
main()
{
int
x[100001];
int
temp,n,
i;
//初始化数组
for(i=0;i<100001;i++)
x[i]=0;
//初始化数组完成
/*
预计结果,
数组中质数为0,其它为1
*/
x[0]=x[1]=1;//因为
0和1不能通过计算得到,所以只能手工置1
,1即不是合数也不是质数for(i=2;i<100001;i++)
{//循环数组中的每个数
if(x[i]==0){//如果该数所存的值为0,即第一次接触此数
temp=2*i;//将它的二倍,及n倍(要小于100000)
,都置为1,因为这些数都能被i整除
while(temp<=100000)
{
x[temp]=1;
temp+=i;
}
}
}
scanf("%d",&n);
while(n
!=
0)
{
if(x[n]==0)
printf("素数\n");
else
printf("合数\n");
scanf("%d",&n);
}
return
0;
}如果你觉得这个方法不好理解,你可以用上面他们写的那些常规算法,但是数字过大的话,算起来是很慢的

G. c语言筛选成绩最高学生

#include<stdio.h>
#include<string.h>
#defineMaxNum30

typedefstruct{
charNo[7+1];

floatMathScore;
floatEnglishScore;
floatComputeScore;

doubleAverage;
}Student;

doubleave(Student*S,char*no);
voidprint(Student*S,char*no);
intfind(Student*S);

staticunsignedintcnt;

intmain(intargc,char*argv[]){
printf("Pleaseinputstudents'count:");
scanf("%d",&cnt);

Studentstd[MaxNum];

for(unsignedinti=0;i!=cnt;i++){
scanf("%s%f%f%f",std[i].No,&std[i].MathScore,&std[i].EnglishScore,&std[i].ComputeScore);
}

charno[7+1];
printf("Ave|Pleaseinputthestudent'sNo:");
scanf("%s",no);
doubleaverage;
average=ave(std,no);
printf(" no.=%s|ave=%.2f ",no,average);

printf("Find|");
unsignedintnumber;
number=find(std);
printf("%dth|%s ",number,std[number].No);

printf("Print|pleaseinputthestudents'No:");
scanf("%s",no);
print(std,no);
return0;
}

//输出某个学生的全部信息
voidprint(Student*S,char*no){
printf("No. Math. Eng. Comp Average ");
for(unsignedinti=0;i!=cnt;i++){
if(strcmp(S[i].No,no)==0){
printf("%8s%8.2f%8.2f%8.2f%8.2f ",S[i].No,S[i].MathScore,S[i].EnglishScore,S[i].ComputeScore,S[i].Average);
}
}
}

//计算并返回某个学生的平均成绩
doubleave(Student*S,char*no){
floatval=0.0;
for(unsignedinti=0;i!=cnt;i++){
S[i].Average=(S[i].MathScore+S[i].EnglishScore+S[i].ComputeScore)/3;
if(strcmp(S[i].No,no)==0){
val=S[i].Average;
}
}
returnval;
}

//查找并返回平均成绩最高的学生在结构体数组中的位置下标
intfind(Student*S){
floatscore[MaxNum];
for(unsignedinti=0;i!=cnt;++i){
score[i]=(S[i].MathScore+S[i].EnglishScore+S[i].ComputeScore)/3;
}
floatmax;
unsignedinttmp;
for(unsignedinti=0;i!=cnt;++i){
if(score[i]>max){
max=score[i];
tmp=i;
}
}
returntmp;
}

结果如图:

H. c语言中数组的筛选、排序

第二个要求需要用另外的数组去存储所存数标记。
如定义一个数组A[11],然后判定上面要求筛选的数据的奇偶性,将标记存在新的数组中,需要时再判定数组听标记,然后输出所代表的标记的数据即可。
但是这样的话空间耗费比较大。