2. 請幫我設計實作一個隨機點名程式
我現在共有 50 個學生,計劃本學期對學生點名 15 次,為了顯示我的公平公正,采用電腦隨機抽取學生姓名進行點名的辦法,所以請你來幫我開發一套隨機點名程式,需求如下:
1 每次隨機抽取 10 個學生的名字,并輸出他們的姓名和學號;
2 能夠記錄被點到的學生是否出勤;
3 能夠統計出最后每個學生的出勤分(滿分為 5 分,一次不出勤扣 1 分,2次不出勤扣 3 分,3次不出勤扣 5 分)
4 其他你能幫我想到的功能
uj5u.com熱心網友回復:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct student
{
int id;
int name;
int ml;
int score;
int k1;
}s[51];
int k1[10];
void chuanjiang()
{
for(int i=1;i<=50;i++)
{
s[i].id=i;
s[i].name=i;
}
}
int main()
{
int d;
int num[10];
int cnt=0,n=0;
void chuanjiang();
chuanjiang();
srand(clock());
int m=0;
for(int l=0;l<15;l++)
{
while(cnt<10)
{
n=rand()%50+1;
for(int i=0;i<cnt;i++)
{
if(num[i]==n)
{
m++;
}
}
if(m==0)
{
num[cnt]=n;
d=num[cnt];
s[d].k1=rand()%2;
if(s[d].k1==0)
{
s[d].ml++;
}
cnt++;
}
m=0;
}
printf("\t\t第%d次課被點到的學生姓名及學號:",l+1);
for(int i=0;i<10;i++)
{
if(s[num[i]].k1==1)
{
printf("\n\t\t%d 姓名:%d 學號:%d 出勤狀況%:已出勤",i+1,num[i],num[i]);
}
if(s[num[i]].k1==0)
{
printf("\n\t\t%d 姓名:%d 學號:%d 出勤狀況%:未出勤",i+1,num[i],num[i]);
}
}
printf("\n");
cnt=0;
}
for(int i=1;i<=50;i++)
{
if(s[i].ml==0)
{
s[i].score=5;
}
if(s[i].ml==1)
{
s[i].score=4;
}
if(s[i].ml==2)
{
s[i].score=2;
}
if(s[i].ml>=3)
{
s[i].score=0;
}
}
for(int g=1;g<=50;g++)
{
printf("\t\t%d學號同學%d出勤分數為%d:\n",s[g].id,s[g].name,s[g].score);
}
system("pause");
return 0;
}
uj5u.com熱心網友回復:
這就是程式啊,整編程式全都是演算法呀,你不懂演算法這可怎么學呀?uj5u.com熱心網友回復:
啊?我這就是程式啊,我請同學代寫的。其實我也不太懂

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/34101.html
標籤:基礎類
上一篇:求助
下一篇:C語言撰寫一個程式
