c语言随机成绩,c语言统计n个学生成绩

本文目录一览:

用c语言随机产生10个学生的成绩,学号=1000+(0-9随机数),学号和对应成绩输出到屏幕,输出

#include stdio.h

#include time.h

int main(){

int id[10],t,v;

float s[10],sv;

int i,j,k=0;

srand(time(0));

for (i=0;i10;i++) id[i]=1000+i;

for (i=0;i10;i++) {t=rand()%10;v=id[i];id[i]=id[t];id[t]=v;};

for (i=0;i10;i++) s[i]=41+rand()%60;

for (i=0;i10;i++) printf(“(%d) %d %g\n”,i,id[i],s[i]);

printf(“==========\nThe best 3:\n”);

for (i=0;i9;i++) for (j=i+1;j10;j++)

if (s[j]s[i]){v=id[i];id[i]=id[j];id[j]=v;sv=s[i];s[i]=s[j];s[j]=sv;};

for (i=0;i3;i++)printf(“%d %g\n”,id[i],s[i]);

printf(“==========\n”);

for (i=0;i10;i++) if (s[i]60) k++;

printf(“k=%d\n”,k);

for (i=0;i10;i++) if (s[i]60) printf(“%d %g\n”,id[i],s[i]);

return 0;

}

C语言,用随机函数生成100个考试分数

#include stdio.h

#include time.h

#include stdlib.h

#include string.h

void GenerateScore(int scoreArray[100])

{

int i;

srand((unsigned)time(NULL));

for (i = 0; i 100; i++)

{

scoreArray[i] = rand() % 51 + 45;

}

}

void GetTop10(int scoreArray[100], int *Top10)

{

int i, j;

int temp;

/* 先让Top10为数组的前10个,并排序 */

memcpy(Top10, scoreArray, 10 * sizeof(int));

for (i = 0; i 10; i++)

{

for (j = 0; j 10-1-i; j++)

{

if (Top10[j] Top10[j+1])

{

temp = Top10[j];

Top10[j] = Top10[j+1];

Top10[j+1] = temp;

}

}

}

/*再从后面的90个中,把比前10大的放到前10中*/

for (i = 10; i 100; i++)

{

Top10[10] = scoreArray[i];

j = 9;

while (j = 0 Top10[j] Top10[j+1])

{

temp = Top10[j];

Top10[j] = Top10[j+1];

Top10[j+1] = temp;

j–;

}

}

}

/*输出结果*/

char OutputResult(int *Top10)

{

int i, sum = 0;

for (i = 0; i 10; i++)

{

sum += Top10[i];

}

char r;

int average = sum / 10;

if (average = 90)

{

r = ‘A’;

}

else if (average = 80)

{

r = ‘B’;

}

else if (average = 70)

{

r = ‘C’;

}

else if (average = 60)

{

r = ‘D’;

}

else

{

r = ‘F’;

}

return r;

}

int main()

{

int a[100];

int top10[11];

GenerateScore(a);

GetTop10(a, top10);

printf(“The result is: %c\n”, OutputResult(top10));

return 0;

}

C语言:生成20个学号姓名和5门成绩的结构体数组,不动其数据,用指针数组按平均成绩由高至低排序,咋写?

(感觉略有难度)  题目没有要求计算和输出平均值,所以排序可以不求平均值而按五门总分进行,效果与求出平均分是一样的——

代码文本:

#include “stdio.h”

#include stdlib.h

#include string.h

#include “time.h”

#define N 20

struct stu{

int s[5];

char SN[9],NAME[6];

};

int main(int argc,char *argv[]){

int i,j,k;

struct stu A[N],*p[N],*q;

srand((unsigned)time(NULL));

for(i=0;iN;i++){//随机生成学生信息

do{//随机生成8位学号且不重复

itoa(10000+rand()%10000,A[i].SN,10);

strcpy(A[i].SN,A[i].SN+1);

itoa(1000+rand()%1000,A[i].SN+4,10);

for(j=0;ji;j++)

if(strcmp(A[i].SN,A[j].SN)==0)

break;

}while(ji);

A[i].NAME[0]=’S’,A[i].NAME[1]=’T’,A[i].NAME[2]=’U’;

A[i].NAME[3]=(i+1)/10+’0′,A[i].NAME[4]=(i+1)%10+’0′;

A[i].NAME[5]=’\0′;

for(j=0;j5;A[i].s[j++]=rand()%101);//随机生成成绩

}

for(i=0;iN;p[i]=A+i++);//为指针数组赋值

for(i=0;iN;i++){

for(k=i,j=k+1;jN;j++)

if(p[k]-s[0]+p[k]-s[1]+p[k]-s[2]+p[k]-s[3]+p[k]-s[4]

p[j]-s[0]+p[j]-s[1]+p[j]-s[2]+p[j]-s[3]+p[j]-s[4])

k=j;

if(i-k)

q=p[i],p[i]=p[k],p[k]=q;//把平均成绩高的向前交换

printf(“%s\t%s\t”,p[i]-SN,p[i]-NAME);//输出学号姓名

for(j=0;j5;printf(“%4d”,p[i]-s[j++]));//输出原始成绩

putchar(‘\n’);

}

return 0;

}

怎样写一个随机生成成绩函数??

先给你说一哈C语言随机函数

编程时有时需要随机输入一些数,这是调用随机函数可以完成此相命令.

# include “stdio.h”

# include “stdlib.h”

# include “time.h” /*需引用的头文件*/

srand((unsigned)time(NULL)); /*随机种子*/

n=rand()%(Y-X+1)+X; /*n为X~Y之间的随机数*/

int rand(void) 函数int rand( void );

返回的是一个界于0~32767(0x7FFF)之间的伪随机数,包括0和32767。

C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。 void srand( unsigned int seed ) 改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。

你要生成随即成绩就可参照上面的生成:

score=rand()%100,产生多个可以加入循环。。

原创文章,作者:PTLC,如若转载,请注明出处:https://www.506064.com/n/140594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PTLC的头像PTLC
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:24

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • Python输入姓名成绩输出等级

    在这个项目中,我们需要输入一个学生的姓名和成绩,然后根据成绩给出等级。 一、获取用户输入 首先,我们需要获取用户输入的姓名和成绩。可以使用Python中的input()函数,让用户…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python成绩分段统计

    成绩分段统计是针对一组成绩数据进行分组计数,以便更好地了解数据的分布情况。Python语言作为一门高效简洁的编程语言,在数据处理领域有着广泛应用,实现成绩分段统计在Python中也…

    编程 2025-04-29
  • 数据结构学生成绩管理系统

    在现代教育中,学生成绩的管理已经成为了一个不可或缺的部分。借助数据结构,一个高效、可靠的学生成绩管理系统可以被轻松实现。 一、数据结构的选择 在构建学生成绩管理系统时,选择合适的数…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28

发表回复

登录后才能评论