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/zh-tw/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

發表回復

登錄後才能評論