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

scoresc语言

发布时间: 2022-07-05 07:03:43

c语言的问题

按题意分别用到if和switch。

数组我懒得输入71个成绩,直接给初值,你想输入,把常量N改成71,然后用循环scanf给score数组赋值好了。

#include<stdio.h>
#defineN10//学生人数
voidprintfA(int*a);
voidinit(int*scores,int*a);
intmain()
{
intscores[N]={90,91,92,81,82,71,75,65,68,50},a[5]={0};//a数组分别对应分数段,90~100,80~89,70~79,60~69,小于60
init(scores,a);
printfA(a);
return0;
}
voidinit(int*scores,int*a)
{
inti;
for(i=0;i<N;i++)
if(scores[i]>=90&&scores[i]<=100)
a[0]++;
elseif(scores[i]>=80&&scores[i]<=89)
a[1]++;
elseif(scores[i]>=70&&scores[i]<=79)
a[2]++;
elseif(scores[i]>=60&&scores[i]<=69)
a[3]++;
elseif(scores[i]<60)
a[4]++;
}

voidprintfA(int*a)
{
inti;
for(i=0;i<5;i++)
switch(i)
{
case0:printf("分数段90~100的人数:%d ",a[i]);break;
case1:printf("分数段80~89的人数:%d ",a[i]);break;
case2:printf("分数段70~79的人数:%d ",a[i]);break;
case3:printf("分数段60~69的人数:%d ",a[i]);break;
case4:printf("分数段小于60的人数:%d ",a[i]);break;
}
}

⑵ C语言:有一个数组,内放5个学生成绩,求平均分,用函数实现。

代码如下:

#include<stdio.h>

voidshow_score(intscores[],intn){
printf("scores:");
for(inti=0;i<n;i++)
printf("%d",scores[i]);
printf(" ");
}
floatget_avg(intscores[],intn){
intsum=0;
for(inti=0;i<n;i++)
sum+=scores[i];
returnsum*1.0/n;
}
intmain(){
intscores[5]={60,70,80,90,80};
show_score(scores,5);
printf("average:%.2f",get_avg(scores,5));

getchar();
return0;
}

运行结果如下:


望采纳~

⑶ C语言指针问题 *score 与score 有什么区别

score是二维数组指针常量.看到指针,你第一反应是想它指向什么.对于score,它指向的是一维数组score[0], 而score[0]它也是个一维数组指针常量(同样,你也得马上反应过来score[0]是指向score[0][0]的).所以*score就是score[0]了,所以average(*score, 12)就是把score[0][0]的地址和score的元素总个数传给了该函数咯.
再看下search的函数定义:search(float (*p)[4], int n).
float (*p)[4]; //看声明先看变量名,然后由右往左看.如果遇到括号则先看括号里的.所以这声明是说:p是个指针(p的右边是括号,所以先看括号里的.'*'即代表是个指针),这指针指向一个数组(括号看完后就往右看),该数组有4个float型元素.
即p为数组指针(后面两个字说明它是指针,前面两个字说明它指向一个数组.就像我们说美女一样,后面一个字说明它是女人,前面一个字才说明它是美丽的.如果是指针数组则说明它先是个数组,然后它的元素为指针,那么该定义为:float *p[4])
简单点说float (*p)[4]即声明p指向有4个float型元素的数组,而上面我说了,score也是指向一维数组score[0]的,而score[0]正是有4个float型元素的数组.即p和score是同类型的指针(只不过p是指针变量,score是指针常量).
所以search(score,2)中的实参score是可以作为"void search(float (* p)[4],int n)"这函数的形参p的(因为类型一样).它是把数组名和2传给了该函数.(顺便提下,score[n][i]=*(*(score+n)+i),而score和p是同类型的,所以*(*(p+n)+i)即是score[n][i])

⑷ C语言,编写一程序:3个学生,4门功课,求各行各列的平均成绩。

//用二维数组,行和列的最后一个存储单元用来存它那行或列的平均成绩
#include<stdio.h>
int
main()
{
int
i,j;
float
scores[4][5]={{0},{0},{0},{0}};
for(i=0;i<3;i++)
{
printf("请输入第%d个学生的4门功课成绩\n",i+1);
for(j=0;j<4;j++)
scanf("%f",&scores[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
//求各行的平均成绩
{
for(j=0;j<4;j++)
scores[i][4]+=scores[i][j];
scores[i][4]/=4;
}
for(j=0;j<4;j++)
//求各列的平均成绩
{
for(i=0;i<3;i++)
scores[3][j]+=scores[i][j];
scores[3][j]/=3;
}
printf("各行的平均成绩为\n");
for(i=0;i<3;i++)
printf("%f
",socres[i][4]);
printf("各列的平均成绩为\n");
for(j=0;j<4;j++)
printf("%f
",scores[3][j]);
return
0;
}

⑸ C语言编程程序,成绩排序并求最高低分

最简单的冒泡法:
float StudentMark[20];//20学生成绩
//赋值过程省略
float Temp;//中间变量
for(int i=0;i<20-1;i++) //冒泡法
for(int j=1;j<20-i;j++)
{
if(StudentMark[j]<StudentMark[j-1})
Temp=StudentMark[j-1]; //交换数据
StudentMark[j-1]=StudentMark[j];
StudentMark[j]=Temp;
}

⑹ c 语言中 score是什么意思

在C语言中没有score这个保留字,换句话它在C语言中只能算是一个标识符,没有特殊的语法功能。

一般来说C语言的标识符,有两个基本的使用原则。
1、要符合语法要求,C语言中规定,标识符有数字、字母、下划线(_)组成,而且第1符号只能为字母或者下划线。
2、标识符的命名,尽量便于阅读。如问题中的score用于表示分数,就容易理解。

⑺ C语言 score的意思

在C语言中没有score这个保留字,换句话它在C语言中只能算是一个标识符,没有特殊的语法功能。
一般来说C语言的标识符,有两个基本的使用原则。
1、要符合语法要求,C语言中规定,标识符专有数字、字母、下划线(属_)组成,而且第1符号只能为字母或者下划线。
2、标识符的命名,尽量便于阅读。如问题中的score用于表示分数,就容易理解。

⑻ c语言排序问题

C语言程序:

#include <stdio.h>

#define N 15


void show(int totalScores[], int scores1[], int scores2[], int scores3[]);

void sort(int totalScores[], int scores1[], int scores2[], int scores3[]);


void main()

{

int totalScores[] = {255, 250, 275, 225, 225, 245, 250, 190, 220, 220, 275, 245, 230,

245, 250 };

int scores1[] = {80, 85, 90, 75, 75, 82, 85, 65, 70, 65, 95, 85, 75, 80, 85};

int scores2[] = {85, 82, 90, 85, 80, 83, 85, 60, 75, 75, 90, 80, 70, 85, 80};

int scores3[] = {90, 83, 95, 65, 70, 80, 80, 65, 75, 80, 90, 80, 85, 80, 85};


//输出排序前的成绩列表

printf("排序前: ");

show(totalScores, scores1, scores2, scores3);



//对成绩排序

sort(totalScores, scores1, scores2, scores3);


printf(" 排序后: ");

show(totalScores, scores1, scores2, scores3);


}


void show(int totalScores[], int scores1[], int scores2[], int scores3[])

{

printf("序号 总分 得分1 得分2 得分3 ");

printf("--------------------------------------- ");

for(int i=0; i<N; i++)

{

printf("%2d ", i+1);

printf("%3d %3d %3d %3d ", totalScores[i], scores1[i], scores2[i], scores3[i]);

}

}


void sort(int totalScores[], int scores1[], int scores2[], int scores3[])

{

int i, j;

int temp;


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

{

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

{

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

|| ((totalScores[j] == totalScores[j+1]) && (scores1[j] < scores1[j+1]))

|| ((totalScores[j] == totalScores[j+1]) && (scores1[j] == scores1[j+1]) && (scores2[j]

< scores2[j+1]))

|| ((totalScores[j] == totalScores[j+1]) && (scores1[j] == scores1[j+1]) && (scores2[j]

== scores2[j+1]) && (scores3[j] < scores3[j+1])))

{

temp = totalScores[j];

totalScores[j] = totalScores[j+1];

totalScores[j+1] = temp;


temp = scores1[j];

scores1[j] = scores1[j+1];

scores1[j+1] = temp;


temp = scores2[j];

scores2[j] = scores2[j+1];

scores2[j+1] = temp;


temp = scores3[j];

scores3[j] = scores3[j+1];

scores3[j+1] = temp;

}

}

}

}





运行结果:


⑼ C语言编程:学生成绩排序

#include <stdio.h>
#include <stdlib.h>

int main() {
struct student {
int num;
float scores;
};
student *stu = new student;
float insert = 0, temp = 0;
int i = 0;
for (; insert != -1; i++) {
printf("请输入学生成绩(结束输入-1):");
scanf("%f", &insert);
stu[i].num = i + 1;
stu[i].scores = insert;
}
for (int m = 0; m < i - 2; m++) {
for (int n = 0; n < i - 2; n++) {
temp = stu[n].scores;
if (temp < stu[n + 1].scores) {
stu[n].scores = stu[n + 1].scores;
stu[n + 1].scores = temp;
temp = stu[n].num;
stu[n].num = stu[n+1].num;
stu[n+1].num = (int)temp;
}
}
}
for (int j = 0 ; j < i - 1 ; j++){
printf("%s%d%s\t%s%d\t%s%.2f\n","第",j+1,"名:","号数:",stu[j].num,"成绩:",stu[j].scores);
}
system("PAUSE");
return 0;
}

⑽ C语言编程,两个班,输入每个班成绩,求每个班平均成绩,并求每个班低于80分的人数(人数分数自己设)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#defineCOUNT50//每班人数上限设定
//定义一个班级人数及成绩的结构体类型
typedefstructcl
{
intnumbers;//班级人数
intscores[COUNT];//每人分数
}CLASS;

//设置班级的人数
voidset_number(CLASS*cls,intnumber);
//设置班级人员的成绩
voidset_scores(CLASS*cls,int*scores);
//获取班级的平均成绩
floatget_average(constCLASS*cls);
//随机生成班级的成绩信息
voidget_score(int*scores,intn);
//打印成绩信息
voidprint_scores(constint*scores,intn);
//获取班级低于80分的人数
intget_numbers_under80(constCLASS*cls);

intmain()
{
CLASScls1,cls2;//创建两个班级对象
intscores[COUNT]={0};//定义存储成绩的数组
intnums1=0,nums2=0;//定义班级人数变量
//接收并校验班级的人数信息
printf("请输入班级1的人数(50以内):");
scanf("%d",&nums1);
while(nums1>COUNT)
{
printf("人数输入错误,请重新输入:");
scanf("%d",&nums1);
}
printf("请输入班级2的人数(50以内):");
scanf("%d",&nums2);
while(nums2>COUNT)
{
printf("人数输入错误,请重新输入:");
scanf("%d",&nums2);
}

//设置班级1的相关信息
get_score(scores,nums1);
printf("班级1的成绩信息: ");
print_scores(scores,nums1);
set_number(&cls1,nums1);
set_scores(&cls1,scores);

//设置班级2的相关信息
get_score(scores,nums2);
printf("班级2的成绩信息: ");
print_scores(scores,nums2);
set_number(&cls2,nums2);
set_scores(&cls2,scores);

printf("班级1的平均成绩[%.2f] ",get_average(&cls1));
printf("班级2的平均成绩[%.2f] ",get_average(&cls2));
printf("班级1中低于80分的人数[%d] ",get_numbers_under80(&cls1));
printf("班级2中低于80分的人数[%d] ",get_numbers_under80(&cls2));

return0;
}

voidset_number(CLASS*cls,intnumber)
{
cls->numbers=number;
}

voidset_scores(CLASS*cls,int*scores)
{
inti=0;
for(;i<cls->numbers;i++)
{
cls->scores[i]=scores[i];
}
}

floatget_average(constCLASS*cls)
{
inti=0;
floatsum=0.0;
for(;i<cls->numbers;i++)
{
sum+=cls->scores[i];
}

returnsum/cls->numbers;
}

//为了方便,使用随机数据代表成绩
voidget_score(int*scores,intn)
{
inti=0;
srand(time(NULL));

for(;i<n;i++)
{
scores[i]=rand()%100+1;
}
}

voidprint_scores(constint*scores,intn)
{
inti=0;
for(;i<n;i++)
{
if(0!=i&&0==i%10)
printf(" ");
printf("%d",scores[i]);
}
printf(" ");
}

intget_numbers_under80(constCLASS*cls)
{
inti=0,nums=0;
for(;i<cls->numbers;i++)
{
if(80>cls->scores[i])
nums++;
}

returnnums;
}