當前位置:首頁 » 編程語言 » 在線評測系統c語言編程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

在線評測系統c語言編程

發布時間: 2022-06-15 09:05:01

⑴ 《c語言程序設計》第10章在線測試

//做一題。
第一題、單項選擇題(每題1分,5道題共5分)
1、以下數組定義中不正確的是:
D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

2、C語言中規定,函數的返回值的類型是由:
D、在定義該函數時所指定的函數類型所決定

3、一個C程序的執行是從( )。
A、main()函數開始,在main()函數中結束

4、若有int a[3][4]; ,則數組a的第10 個元素是( )。
A、a[2][1]

5、若有int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};,則數組a的第1維的長度為( )。
B、3

⑵ c語言編程:歌唱比賽評委評分系統

#include <stdio.h>
#include<string.h>
void main()
{
int i,j,m,n;
float num,xgrade[100],max,min,pgrade[100],pdis[100];
char str[10],xname[100][10],pname[100][10];
printf("請輸入評委人數:");
scanf("%d",&m);
printf("\n請分別輸入評委姓名:\n");
for(i=0;i<m;i++)
{
scanf("%s",&pname[i]);//評委姓名
pgrade[i]=0;//評委給的分
pdis[i]=0;//評委給分和最後結果的差距
}
printf("\n請輸入選手人數:");
scanf("%d",&n);
printf("\n請分別輸入選手姓名:\n");
for(i=0;i<n;i++)
{
scanf("%s",&xname[i]);//選手姓名
xgrade[i]=0;//選手成績
}
for(i=0;i<n;i++)
{
max=0;min=10;//評委給選手的最大最小成績
printf("\n請給選手%s打分!",xname[i]);
for(j=0;j<m;j++)
{
printf("\n%s老師給的分數為:",pname[j]);
scanf("%f",&pgrade[j]);
xgrade[i]+=pgrade[j];//加到該選手的總分數中
if(max<pgrade[j])
max=pgrade[j];
if(min>pgrade[j])
min=pgrade[j];
}
xgrade[i]=(xgrade[i]-max-min)/(m-2);//最後成績為總成績-最高分-最低分,然後平均
for(j=0;j<m;j++)//算出每個評委本次評分和最終成績的差,加到pdis中保存起來
{
pdis[j]+=pgrade[j]>xgrade[i]?(pgrade[j]-xgrade[i]):(xgrade[i]-pgrade[j]);
}
}
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(xgrade[j]<xgrade[j+1])
{
strcpy(str,xname[j]);
strcpy(xname[j],xname[j+1]);
strcpy(xname[j+1],str);
num=xgrade[j];
xgrade[j]=xgrade[j+1];
xgrade[j+1]=num;
}
printf("\n選手按名次排名為:\n");
printf("選手名\t得分\n");
for(i=0;i<n;i++)
printf("%s\t%f\n",xname[i],xgrade[i]);
for(i=0;i<m-1;i++)
for(j=0;j<m-1-i;j++)
if(pdis[j]>pdis[j+1])
{
strcpy(str,pname[j]);
strcpy(pname[j],pname[j+1]);
strcpy(pname[j+1],str);
num=pdis[j];
pdis[j]=pdis[j+1];
pdis[j+1]=num;
}
printf("\n評委按名次排名為:\n");
printf("評委名\t差分\n");
for(i=0;i<m;i++)
printf("%s\t%f\n",pname[i],pdis[i]);
}
vae.la

⑶ 學生綜合測評管理系統C語言程序

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

typedef struct stu{
int id;
char name[40];
int mark[4];
float total;
} STU;
int id;
int m1,m2,m3,m4;
char str[40];

void main()
{
int i,j,N=0;
FILE *fin, *fout;
STU tmp;
STU *s;

fin = fopen("score.txt","r");
while (1){
if ( fscanf(fin,"%*d %*s %*d %*d %*d %*d") ==EOF) break;
N++;
}

fclose(fin);

s = (STU *) malloc(N * sizeof(STU));
if (!s) {
printf("no enough memory for STU\n"); exit(0);
}

fin = fopen("score.txt","r");

for (i=0;i<N;i++){
fscanf(fin,"%d %s %d %d %d %d",&id,&str[0],&m1,&m2,&m3,&m4);
s[i].id = id;
strcpy(&s[i].name[0],str);
s[i].mark[0]= m1;
s[i].mark[1]= m2;
s[i].mark[2]= m3;
s[i].mark[3] = m4;
s[i].total = 0.2*m1 + 0.6*m2 + 0.5 * m3 + 0.15*m4;
}
fclose(fin);

for (i=0;i<N-1;i++){
for (j=i+1;j<N;j++){
if (s[j].total > s[i].total){
tmp = s[j]; s[j]=s[i];s[i]=tmp;
};
};
};

fout = fopen("score_Q.txt","w");
for(i=0;i<N;i++){
fprintf(fout,"%d %s %d %d %d %d\n",s[i].id,s[i].name,s[i].mark[0],s[i].mark[1],s[i].mark[2],s[i].mark[3]);
}
fclose(fout);
exit(0);
}

⑷ 用C語言編寫一個測試儀器的程序

我的專著《計算機監控系統開發與實戰》(機械工業出版社,2012.4)有詳細的串口通信解決方案,包括 C、Java 和 Visual Basic 2010 語言的各種源代碼。例如,在 C 語言中,通過 InstallCom 函數初始化串口,SendData 函數通過串口發送數據,ReadDataDelay 函數獲取指定埠的數據,並存入指定的緩沖區中等。

⑸ 基於C語言題庫用C#實現的在線考試系統編程題評分

void swap (int a, int b)
{
int t;
t = a; a = b; b = t;
}

⑹ 求編程文本:利用Vitual Studio C++進行C語言編程設計一個成績測評系統

我有一個類似的:
/*設計一個Student(學生)類,並使Student類具有以下特點:
該類具有學生姓名、學號、程序設計、信號處理、數據結構三門課程的成績。
學生全部信息由鍵盤輸入,以提高程序的適應性。
通過成員函數分別統計每個學生的平均成績和每門課程的平均成績,當課程 數量增加或減少時成員函數無需修改仍可求取平均成績。
輸出學生的各科成績與平均成績。
學生對象的定義採用對象數組實現。
統計不及格學生人數。
表格輸出整齊美觀。
能以最方便的方式實現對課程數量和學生人數的修改。
採用多文件方式組織程序。
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):1
請依次輸入該學生的相關信息:
學號:1001
姓名:張三
信號處理:67
數據結構:65
C語言:87
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):1
請依次輸入該學生的相關信息:
學號:1002
姓名:王龍龍
信號處理:78
數據結構:89
C語言:98
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):1
請依次輸入該學生的相關信息:
學號:1003
姓名:王麗麗
信號處理:76
數據結構:89
C語言:90
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):3
學號:1001 姓名:張三 信號處理:67 數據結構:65 C語言:87 總分:219 平均分:73
學號:1002 姓名:王龍龍 信號處理:78 數據結構:89 C語言:98 總分:265 平均分:88.3333
學號:1003 姓名:王麗麗 信號處理:76 數據結構:89 C語言:90 總分:255 平均分:85
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):4
不及格學生人數: 0
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):2
請輸入要修改的學生學號:
1001
該學號的學生信息如下:
學號:1001 姓名:張三 信號處理:67 數據結構:65 C語言:87 總分:219 平均分:73
請輸入新的學生信息:
學號:1001
姓名:張三
信號處理:67
數據結構:75
C語言:40
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):3
學號:1001 姓名:張三 信號處理:67 數據結構:75 C語言:40 總分:182 平均分:60.6667
學號:1002 姓名:王龍龍 信號處理:78 數據結構:89 C語言:98 總分:265 平均分:88.3333
學號:1003 姓名:王麗麗 信號處理:76 數據結構:89 C語言:90 總分:255 平均分:85
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):4
不及格學生人數: 1
1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序
請根據你的需要選擇(1~5):7
謝謝使用!!!
*/
#include <iostream>
#include <string>
using namespace std;
struct Student //聲明一個名為student的結構體類型
{
string name; //姓名
long number; //學號
double xhcl; //信號處理
double sjjg; //數據結構
double Cyuyan; //C語言
double ZF; //總分
double PJF; //平均分
};
class Students //聲明類Students
{
public:
Students(){n=0;} //構造函數
void add();//添加
void show();//顯示
void change();//修改
void PX();//排序
void bjg();//統計不及格學生人數
private:
Student stu[1000];//定義一個結構體類型Students的變數stu,其最大值為100
int n;
};

void Students::add()//添加
{
cout<<"學號:";
cin>>stu[n].number;
cout<<"姓名:";
cin>>stu[n].name;
cout<<"信號處理:";
cin>>stu[n].xhcl;
cout<<"數據結構:";
cin>>stu[n].sjjg;
cout<<"C語言:";
cin>>stu[n].Cyuyan;
stu[n].ZF= stu[n].xhcl+ stu[n].sjjg+ stu[n].Cyuyan;
stu[n].PJF=stu[n].ZF/3;
n++;//學生個數增加一個
}
void Students::show()//顯示
{
for(int i=0;i<n;i++)
cout<<"學號:"<<stu[i].number<<' '<<"姓名:"<<stu[i].name<<' '<<"信號處理:"<<stu[i].xhcl<<' '<<"數據結構:"<<stu[i].sjjg<<' '<<"C語言:"<<stu[i].Cyuyan<<' '<<"總分:"<<stu[i].ZF<<' '<<"平均分:"<<stu[i].PJF<<endl;
}
void Students::change() //修改
{long num;
cout<<"請輸入要修改的學生學號:"<<endl;
cin>>num;
for(int i=0;i<n;i++)
if(stu[i].number==num)
{cout<<"該學號的學生信息如下:"<<endl;
cout<<"學號:"<<stu[i].number<<' '<<"姓名:"<<stu[i].name<<' '<<"信號處理:"<<stu[i].xhcl<<' '<<"數據結構:"<<stu[i].sjjg<<' '<<"C語言:"<<stu[i].Cyuyan<<' '<<"總分:"<<stu[i].ZF<<' '<<"平均分:"<<stu[i].PJF<<endl;
cout<<"請輸入新的學生信息:"<<endl;
cout<<"學號:";
cin>>stu[i].number;
stu[n].number=stu[i].number;
cout<<"姓名:";
cin>>stu[i].name;
stu[n].name=stu[i].name;
cout<<"信號處理:";
cin>>stu[i].xhcl;
stu[n].xhcl=stu[i].xhcl;
cout<<"數據結構:";
cin>>stu[i].sjjg;
stu[n].sjjg=stu[i].sjjg;
cout<<"C語言:";
cin>>stu[i].Cyuyan;
stu[n].Cyuyan=stu[i].Cyuyan;
stu[i].ZF= stu[i].xhcl+ stu[i].sjjg+ stu[i].Cyuyan;
stu[i].PJF=stu[i].ZF/3;
break;
}
if(stu[i].number!=num)
cout<<"無此學生信息!!"<<endl;
}
void Students::PX() //排序
{cout<<"請選擇排序方式:";
cout<<"1.按學生總分排序";
cout<<"2.按學生平均分排序";
cout<<"3.返回"<<endl;
int k;
cin>>k;
switch (k)
{
case 1://按學生總分排序
{
Student p;
for(int i=0;i<n;i++)
for(int j=0;j<n-i;j++)
{
if(stu[j].ZF<stu[j+1].ZF)
{
p=stu[j];
stu[j]=stu[j+1];
stu[j+1]=p;
}
}
cout<<"學號 姓名 信理 數構 C語言 平均分"<<endl;
for(int m=0;m<n;m++)
cout<<stu[m].number<<" "<<stu[m].name<<" "<<stu[m].xhcl<<" "<<stu[m].sjjg<<" "<<stu[m].Cyuyan<<" "<<stu[m].PJF<<endl;
}
break;

case 2://按學生平均分排序
{ Student p;//定義一個Student類型的變數p
for(int i=0;i<n;i++)
for(int j=0;j<n-i;j++)
{
if(stu[j].PJF<stu[j+1].PJF)
{
p=stu[j];
stu[j]=stu[j+1];
stu[j+1]=p;
}
}
cout<<"學號 姓名 信號處理 數據結構 C語言 平均分"<<endl;
for(int m=0;m<n;m++)
cout<<stu[m].number<<" "<<stu[m].name<<" "<<stu[m].xhcl<<" "<<stu[m].sjjg<<" "<<stu[m].Cyuyan<<" "<<stu[m].PJF<<endl;
}break;

case 3:return;//返回
}
}
void Students::bjg()//統計不及格學生人數
{
int count=0;
for(int m=0;m<n;m++)
if(stu[m].xhcl<60||stu[m].sjjg<60||stu[m].Cyuyan<60)
count++;
cout<<"不及格學生人數: "<<count<<endl;
}
void main()
{
Students person;
int b;
do
{
cout<<" 1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序 "<<endl;
cout<<"請根據你的需要選擇(1~5):";
cin>>b;
switch(b)
{
case 1:
cout<<"請依次輸入該學生的相關信息:"<<endl;
person.add();
break;
case 2:
person.change();
break;
case 3:
person.show();
break;
case 4:
person.bjg();
break;
case 5:
person.PX();
break;
case 6:
cout<<"謝謝使用!!!"<<endl;
}
}while(b<7);
}

⑺ C語言編程---學生獎評系統

確定你的函數所要的功能
先用switch語句編一個菜單函數
然後再編倆個輸入函數
用冒泡法編一個排序函數,要用到庫函數strcpy()
查詢函數,用庫函數,有個判斷兩個字元串是否相等那個函數就哦了
自己只要有點基礎 編出來還是不成問題的

⑻ 寫一個C語言程序,數學測試系統

加減乘除?
設定題目的參數,題目可以去其他地方讀取。比如txt
然後與輸入的答案比對啊,對的則加分,錯的則不加分。
最後輸出的。這個很難么?

⑼ 我想用JAVA寫一個C語言在線評測系統,,java代碼中已經實現了控制台編譯C語言 ,現在有一個問題是我怎麼

用輸入輸出重定向就行了呀,不知道你什麼環境運行的

假如是WINDOWS,在編譯完成後,執行EXE的時候用小於符號,再加個文件路徑就好了,例如

hello.exe < "D:\input\01.txt"

01.txt里就存放你要輸入的數據就好了,具體怎麼存要看你的評測題目的輸入了,例如按空格分隔輸入,回車分隔輸入之類

⑽ c語言學生綜合測評系統

根據你提供的信息,思路如下:
typedef struct{int id;...}student; //先根據學生信息定義結構體
student a{1,"張三",1,993902938,89,79,80,0};
某個學生綜合測評總分= a.89*0.55+a.79*0.25+a.80*0.20;
double wg[NUM]; //將每個學生綜合測評總分加入數組
再進行全班評比即對數組進行升序排序