百度
360搜索
搜狗搜索

用c语言编写考试系统,用c语言编一简单在线考试系统详细介绍

本文目录一览: 怎样用C语言写学生成绩管理系统?

程序如下: #include\x0d\x0avoid main()\x0d\x0a{\x0d\x0a float student[100][7];\x0d\x0a//student[][0]存放学号,student[][1]到student[][4]存放四门成绩,\x0d\x0a//student[][5]存放总分,student[][6]存放平均分,student[][7]存放排名\x0d\x0a int n,i,j,k,p,t,count,flag;\x0d\x0a int a[100],b[100],c[100];\x0d\x0a//a[]存放排序后的下标,b[]存放总分(备份),c[]存放排名的数据\x0d\x0a printf("输入学生的个数:\n");\x0d\x0a scanf("%d",&n);\x0d\x0a for(i=0;ib[i 1])\x0d\x0a {\x0d\x0a c[i]=count;\x0d\x0a count ;\x0d\x0a }\x0d\x0a }\x0d\x0a printf("\n以下是统计结果:\n");\x0d\x0a printf("学号 s[1] s[2] s[3] s[4] 总分 平均分 排名\n");\x0d\x0a for(i=0;i<=n-1;i )\x0d\x0a {\x0d\x0a printf("%.0f\t%.0f\t%.0f\t%.0f\t%.0f\t%.0f\t%f\t%d\n",student[a[i]][0],student[a[i]][1],student[a[i]][2],student[a[i]][3],student[a[i]][4],student[a[i]][5],student[a[i]][6],c[i]);\x0d\x0a }\x0d\x0a} 有疑问提出

用C语言设计一个学生成绩管理系统

参考代码如下,不过还是建议自己写一写比较好:
#include

#include

#include

struct student //结构体

{

char name[20]; //姓名

char number[20]; //学号

double math; //数学

double english; //英语

double chinese; //语文

double program; //程序

}s[50];

void head() //界面

{

printf(

"**********************************************************************\n"

"** **\n"

"** **\n"

"** 学生成绩管理系统 **\n"

"** **\n"

"** 1.信息录入 **\n"

"** 2.信息统计 **\n"

"** 3.信息浏览 **\n"

"** 4.信息查询 **\n"

"** 5.信息排序 **\n"

"** 6.信息删除 **\n"

"** 0.退出系统 **\n"

"** **\n"

"**********************************************************************\n"

);

}

void daoru(struct student s[], int* n) //文件导入函数

{

FILE *p;

int i=*n;

if((p=fopen("数据.txt", "r"))==NULL)

{

n=n;

}

else

{

while(!feof(p))

{

fscanf(p, "%s%s%lf%lf%lf%lf\n", s[i].name, s[i].number, &s[i].math, &s[i].english, &s[i].chinese, &s[i].program);

i ;

*n=*n 1;

}

}

fclose(p);

}

void daochu(struct student s[], int n)

{

FILE *p;

int i=0;

if((p=fopen("数据.txt", "w"))==NULL)

{

printf("无法打开此文件!");

}

else

{

while(i
<n-1)
{

fprintf(p, "%s %s %lf %lf %lf %lf\n", s[i].name, s[i].number, s[i].math, s[i].english, s[i].chinese, s[i].program);

i ;

}

fprintf(p, "%s %s %lf %lf %lf %lf", s[i].name, s[i].number, s[i].math, s[i].english, s[i].chinese, s[i].program);

}

fclose(p);

}

void dayin(struct student s[], int n) //显示所有信息

{

int i;

double all=0.0;

printf("\n姓名\t\t学号\t\t数学\t英语\t语文\t程序\t总分\n");

for (i=0; i
<n; i )
{

all=s[i].math s[i].english s[i].chinese s[i].program;

printf("%s\t\t%s\t\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n", s[i].name, s[i].number, s[i].math, s[i].english, s[i].chinese, s[i].program, all);

}

}

void shuru(struct student s[], int* n) //信息输入函数

{

int i=*n, j, k, m;

printf("请输入学生姓名:");

scanf("%s", s[i].name);

printf("请输入学生学号:");

for (j=0; ; j )

{

m=0;

scanf("%s", s[i].number);

for (k=0; k
<i; k )
{

if (strcmp(s[i].number, s[k].number)==0)

{

m=m 1;

printf("学号重复,请重新输入学号:");

break;

}

}

if (m==0)

{

break;

}

}

printf("请输入数学成绩:");

scanf("%lf", &s[i].math);

printf("请输入英语成绩:");

scanf("%lf", &s[i].english);

printf("请输入语文成绩:");

scanf("%lf", &s[i].chinese);

printf("请输入程序成绩:") ;

scanf("%lf", &s[i].program);

printf("添加信息成功!\n");

*n=*n 1;

daochu(s, *n);

}

void paixu(struct student s[], int n) //排序函数

{

int i, j;

double all1, all2;

struct student stu;

for (i=0; i
<n-1; i )
{

for (j=i 1; j
<n; j )
{

all1=s[i].math s[i].english s[i].chinese s[i].program;

all2=s[j].math s[j].english s[j].chinese s[j].program;

if (all1
<all2)
{

stu=s[i];

s[i]=s[j];

s[j]=stu;

}

}

}

printf("排序后的数据:\n");

dayin(s, n);

}

void chazhao(struct student s[], int n) //查找函数

{

char name[20], num[20];

int m1, m2=0, i, j;

printf("1.按姓名查找\n2.按学号查找\n选择查询方式(1或2):");

scanf("%d", &m1);

if (m1==1)

{

printf("请输入您要查找的学生姓名:");

scanf("%s", name);

for (i=0; i
<n; i )
{

if (strcmp(s[i].name, name)==0)

{

m2=m2 1;

if (m2==1)

{

printf("\n姓名\t\t学号\t数学\t英语\t语文\t程序\n");

}

printf("%s\t\t%s\t\t%s\t\t%s\t\t%s\n", s[i].name, s[i].number, s[i].math, s[i].english, s[i].chinese, s[i].program);

}

}

if (m2==0)

{

printf("没有此学生信息!\n");

}

}

else if (m1==2)

{

printf("请输入您要查找的学生学号:");

scanf("%s", num);

j=0;

for (i=0; i
<n; i )
{

if (strcmp(s[i].number, num)==0)

{

m2=m2 1;

if (m2==1)

{

printf("\n姓名\t\t学号\t数学\t英语\t语文\t程序\n");

}

printf("%s\t\t%s\t\t%s\t\t%s\t\t%s\n", s[i].name, s[i].number, s[i].math, s[i].english, s[i].chinese, s[i].program);

}

}

if (m2==0)

{

printf("没有此学生信息!\n");

}

}

}

void shanchu(struct student s[], int* n) //删除函数

{

char num[20];

int m=0, i, j;

printf("请输入您要删除的学生学号:");

scanf("%s", num);

for (i=0; i<=*n; i )

{

if (strcmp(s[i].number, num)==0)

{

m=m 1;

for (j=i; j<*n; j )

{

s[j]=s[j 1];

}

*n=*n-1;

}

}

if (m==0)

{

printf("没有此学生信息!\n");

}

else

{

daochu(s, *n);

printf("删除完毕!\n");

}

}

void allAndAver(struct student s[], int n)

{

int i ;

double all=0.0, aver=0.0;

for (i=0; i
<n; i )
{

all=s[i].math s[i].english s[i].chinese s[i].program;

aver=all/4;

printf("%s\t\t%s\t\t%.1lf\t%.1lf\n", s[i].name, s[i].number, all, aver);

}

}

void Fail(struct student s[], int n) //统计单科不及格人数

{

int i, fail[4]={0};

for (i=0; i
<n; i )
{

if (s[i].math<60)

{

fail[0] ;

}

if (s[i].english<60)

{

fail[1] ;

}

if (s[i].chinese<60)

{

fail[2] ;

}

if (s[i].program<60)

{

fail[3] ;

}

}

printf("\n不及格信息:\n");

printf("数学不及格的人数为:%d人\n", fail[0]);

printf("英语不及格的人数为:%d人\n", fail[1]);

printf("语文不及格的人数为:%d人\n", fail[2]);

printf("程序不及格的人数为:%d人\n", fail[3]);

}

void Max(struct student s[], int n) //统计单科最高分人数

{

int i, counter[4]={0};

double max[4]={s[0].math, s[0].english, s[0].chinese, s[0].program};

for (i=0; i
<n; i )
{

if (s[i].math>max[0])

{

max[0]=s[i].math;

}

if (s[i].math>max[1])

{

max[1]=s[i].math;

}

if (s[i].math>max[2])

{

max[2]=s[i].math;

}

if (s[i].math>max[3])

{

max[3]=s[i].math;

}

}

for (i=0; i
<n; i )
{

if (s[i].math==max[0])

{

counter[0] ;

}

if (s[i].math==max[1])

{

counter[1] ;

}

if (s[i].math==max[2])

{

counter[2] ;

}

if (s[i].math==max[3])

{

counter[3] ;

}

}

printf("\n最高分信息:\n");

printf("数学最高分为:%.1lf, 人数为:%d人\n", max[0], counter[0]);

printf("英语最高分为:%.1lf, 人数为:%d人\n", max[1], counter[1]);

printf("语文最高分为:%.1lf, 人数为:%d人\n", max[2], counter[2]);

printf("程序最高分为:%.1lf, 人数为:%d人\n", max[3], counter[3]);

}

void Min(struct student s[], int n) //统计单科最低分人数

{

int i, counter[4]={0};

double min[4]={s[0].math, s[0].english, s[0].chinese, s[0].program};

for (i=0; i
<n; i )
{

if (s[i].math
<min[0])
{

min[0]=s[i].math;

}

if (s[i].math
<min[1])
{

min[1]=s[i].math;

}

if (s[i].math
<min[2])
{

min[2]=s[i].math;

}

if (s[i].math
<min[3])
{

min[3]=s[i].math;

}

}

for (i=0; i
<n; i )
{

if (s[i].math==min[0])

{

counter[0] ;

}

if (s[i].math==min[1])

{

counter[1] ;

}

if (s[i].math==min[2])

{

counter[2] ;

}

if (s[i].math==min[3])

{

counter[3] ;

}

}

printf("\n最低分信息:\n");

printf("数学最低分为:%.1lf, 人数为:%d人\n", min[0], counter[0]);

printf("英语最低分为:%.1lf, 人数为:%d人\n", min[1], counter[1]);

printf("语文最低分为:%.1lf, 人数为:%d人\n", min[2], counter[2]);

printf("程序最低分为:%.1lf, 人数为:%d人\n", min[3], counter[3]);

}

void tongji(struct student s[], int n) //统计函数

{

printf("统计信息如下:\n");

printf("\n姓名\t\t学号\t\t总分\t平均分\n");

allAndAver(s, n);

Max(s, n);

Min(s, n) ;

Fail(s, n);

}

int main() //主函数

{

int k, n=0;

daoru(s, &n);

daochu(s, n);

while (1)

{

head();

printf("\n请按对应的键选择相应的功能:");

scanf("%d",&k);

switch (k)

{

case 1:

shuru(s, &n);

break;

case 2:

tongji(s, n);

break;

case 3:

dayin(s, n);

break;

case 4:

chazhao(s, n);

break;

case 5:

paixu(s, n);

break;

case 6:

shanchu(s, &n);

break;

case 0:

exit(1);

break;

default : printf("请输入正确的命令!\n");

}

system("pause");

system("cls");

}

return 0;

}

#include

#include

#include

#define MAX 1000

/*定义学生成绩信息结构*/

struct stu

{

char id[8];

char name[8];

double Chinese;

double Math;

double English;

double average;

double total;

};

/*学生结构数组,用于存储学生成绩信息*/

struct stu students[MAX];

/*当前学生人数*/

int current;

void input()

{

int i;

printf("请输入学生人数:");

scanf("%d", & current);

for (i = 0; i < current; i )

{

printf("\n请输入学生学号,最多为7位数: ");

scanf("%s", students[i].id);

printf("请输入学生姓名:");

scanf("%s", students[i].name);

printf("请输入语文成绩:");

scanf("%lf", &students[i].Chinese);

printf("请输入数学成绩:");

scanf("%lf", &students[i].Math);

printf("请输入英语成绩:");

scanf("%lf", &students[i].English);

students[i].total = students[i].Chinese students[i].Math students[i].English;

students[i].average = students[i].total / 3;

}

}

/*排名次,即对学生结构数组排序*/

void sort(struct stu array[], int n)

{

int i, j;

struct stu temp;

阅读更多 >>>  实例化和初始化,实例化和初始化一样吗

for (i = 0; i < n; i )

{

for (j = i 1; j < n; j )

{

if (array[i].average - array[j].average < 1e-16)

{

temp = array[i];

array[i] = array[j];

array[j] = temp;

}

}

}

}

/*统计平均成绩,并输出各分数段的人数*/

void print_score(struct stu array[], int n)

{

int i;

double ave = 0;

int sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0;

for (i = 0; i < n; i )

{

ave = array[i].average;

switch ((int)(array[i].average / 10))

{

case 10:

case 9: sum1 ; break;

case 8: sum2 ; break;

case 7:

case 6: sum3 ; break;

default: sum4 ;

}

}

printf("全班的平均分为:%.1f\n", ave/n);

printf("平均分在90分以上的人数为:%d\n", sum1);

printf("平均分在80~89的人数为:%d\n", sum2);

printf("平均分在60~79的人数为:%d\n", sum3);

printf("平均分在60分以下的人数为:%d\n", sum4);

}

/*输出不及格科目及学生名单*/

void print_unreach(struct stu array[], int n)

{

int i;

printf("科目\t学号\t名字\n");

for (i = 0; i < n; i )

{

if (array[i].Chinese < 60)

{

printf("语文\t%s\t%s\n", array[i].id, array[i].name);

}

if (array[i].Math < 60)

{

printf("数学\t%s\t%s\n", array[i].id, array[i].name);

}

if (array[i].English < 60)

{

printf("英语\t%s\t%s\n", array[i].id, array[i].name);

}

}

}

/*打印优等生名单*/

void print_good(struct stu array[], int n)

{

int i;

char mark = 0;

if (n > 3)

{

n = 3;

}

printf("学号\t姓名\t语文\t数学\t英语\t平均分\t名次\n");

for (i = 0; i < n; i )

{

if ((array[i].Chinese > 60) && (array[i].Math > 60) && (array[i].English > 60))

{

if (array[i].average > 90) mark = 1;

else if (array[i].average > 85)

{

if (array[i].Chinese == 100) mark = 1;

if (array[i].Math == 100) mark = 1;

if (array[i].English == 100) mark = 1;

if (array[i].Chinese > 95 && array[i].English > 95) mark = 1;

if (array[i].Chinese > 95 && array[i].Math > 95) mark = 1;

if (array[i].Math > 95 && array[i].English > 95) mark = 1;

}

if (mark == 1)

{

printf("%s\t%s\t", array[i].id, array[i].name);

printf("%.f\t%.f\t%.f\t%.1f\t", array[i].Chinese, array[i].Math, array[i].English, array[i].average);

printf("%d\n", i 1);

}

}

}

}

/*按学生姓名查询成绩*/

void search_name(struct stu array[], int n, char* name)

{

int i;

char mark = 1;

for (i = 0; i < n; i )

{

if (strcmp(name, array[i].name) == 0)

{

printf("学生姓名:%s\n", name);

printf("学生学号:%s\n", array[i].id);

printf("语文:%.f\n", array[i].Chinese);

printf("数学:%.f\n", array[i].Math);

printf("英语:%.f\n", array[i].English);

printf("平均分:%.1f\n", array[i].average);

mark = 0;

}

}

if (mark == 1) puts("不存在该学生记录");

}

/*按学生学号查询成绩*/

void search_id(struct stu array[], int n, char* id)

{

int i;

char mark = 1;

for (i = 0; i < n; i )

{

if (strcmp(id, array[i].id) == 0)

{

printf("学生姓名:%s\n", array[i].name);

printf("学生学号:%s\n", array[i].id);

printf("语文:%.f\n", array[i].Chinese);

printf("数学:%.f\n", array[i].Math);

printf("英语:%.f\n", array[i].English);

printf("平均分:%.1f\n", array[i].average);

mark = 0;

break;

}

}

if (mark == 1) puts("不存在该学生记录");

}

void print_menu()

{

system("cls");

printf("1.输入学生信息\n");

puts("2.统计全班学生成绩");

puts("3.按学号查询学生成绩");

puts("4.按姓名查询学生成绩");

puts("5.输出不及格情况");

puts("6.输出优等生名单");

puts("0.退出本程序");

printf("\n\n 请输入你的选择:");

}

int main(int argc, char **argv)

{

char ch = 0;

char id[8], name[8];

while (ch != '0')

{

print_menu();

ch = getchar();

switch (ch)

{

case '1':

{

system("cls");

input();

sort(students, current);

break;

}

case '2':

{

system("cls");

print_score(students, current);

break;

}

case '3':

{

system("cls");

printf("请输入学号:");

scanf("%s", id);

search_id(students, current, id);

break;

}

case '4':

{

system("cls");

printf("请输入姓名:");

scanf("%s", name);

search_name(students, current, name);

break;

}

case '5':

{

system("cls");

print_unreach(students, current);

break;

}

case '6':

{

system("cls");

print_good(students, current);

break;

}

case '0': exit(0);

}

printf("\n\n按任意键返回主菜单……");

getchar();

getchar();

}

return 0;

}

去年写的,你稍微改下加个成绩就行

#include

#include

#include

FILE *fp;

struct student{

char name[10];

char number[12];

char age[3];

struct student *next;

};

struct student *creat(); //手动创建链表

struct student *build_list(); //从文件读取信息创建链表

void read_list(struct student *head); //打印链表

void search(struct student *head); //查找相应信息

struct student *delete_(struct student *head); //删除相应信息

void ad_list(struct student *head); //增加信息

int control(struct student *head); //控制函数

void head_print(); //打印界面函数

void change_list(struct student *head); //更改链表信息函数

void save(struct student *head); //保存文件

void remove(struct student *head); //递归释放链表空间

char name[10],number[12],age[3]; //学生姓名、学号、年龄全局变量

int main(){

struct student *head;

head=(struct student*)malloc(sizeof(struct student));

control(head);

free(head);

fclose(fp);

return 0;

}

struct student *creat(){

struct student *head;

char name[10],number[12],age[3];

struct student *p,*r,*p1;

head=(struct student *)malloc(sizeof(struct student));

p=head->next;

r=head;

printf("依次输入姓名学号年龄(按q退出):\n");

scanf("%s",name);

while(name[0]!='q'){

p1=(struct student*)malloc(sizeof(struct student));

scanf("%s",number);

scanf("%s",age);

strcpy(p1->name,name);

strcpy(p1->number,number);

strcpy(p1->age,age);

p1->next=NULL;

r->next=p1;

r=p1;

scanf("%s",name);

}

printf("建立成功\n");

return head;

}

/*若无文件或文件为空,用链表创建函数,为防止占用多余内存在循环入口处进行判断,函数返回头指针地址*/

struct student *build_list(){

char ch;

struct student *head;

struct student *p1,*r;

rewind(fp);

head=(struct student*)malloc(sizeof(struct student));

r=head;

while(!feof(fp)){

p1=(struct student*)malloc(sizeof(struct student));

fscanf(fp,"%s%s%s",p1->name,p1->number,p1->age);

p1->next=NULL;

r->next=p1;

r=p1;

fseek(fp,2L,SEEK_CUR);

if((ch=getc(fp))==EOF)

break;

else

fseek(fp,-3L,SEEK_CUR);

}

return head;

}

/*文件内有信息时按行读取文件信息并创建链表,为防止误读结尾换行符,用fseek函数在每次循环后移两单位判断是否为空

,若为空结束循环,若不为空则用fseek函数前移三个单位*/

void read_list(struct student *head){

struct student *p;

p=head->next;

if(p==NULL){

head=creat();

}

printf("*******************************************\n");

while(p!=NULL){

printf("%-20s%-12s%-3s\n",p->name,p->number,p->age);

p=p->next;

}

printf("*******************************************\n");

}

/*输出链表信息,如果进行删除操作后链表为空则转到链表创建函数;按行读取文件信息并输出。*/

void search(struct student *head){

char s[20];

struct student *p;

int k=0;

printf("请输入要查询的字符串:\n");

p=head->next;

scanf("%s",s);

printf("查询结果:\n");

while(p!=NULL){

if((strcmp(s,p->age)&&strcmp(s,p->name)&&strcmp(s,p->number))==0){

printf("%-20s%-12s%-3s\n",p->name,p->number,p->age);

k=1;

}

p=p->next;

}

if(k==0)

printf("无记录\n");

}

/*查找函数,*/

struct student *delete_(struct student *head){

char s[20];

char ch;

int v=0;

struct student *p,*q;

printf("请输入要删除的学生的学号:\n");

scanf("%s",s);

p=head->next;

q=head;

while(p!=NULL){

if(strcmp(s,p->number)==0){

q->next=p->next;

v=1;

free(p);

break;

}

q=p;

p=p->next;

}

if(v==1)

printf("删除成功\n");

else{

printf("未删除成功\n");

return q->next;

}

if(head->next==NULL){

printf("已无信息,是否输入新的(Y/N):\n");

scanf("%c",&ch);

ch=getchar();

if(ch=='y')

head=creat();

return head;

}

return q->next;

}

void ad_list(struct student *head){

char s[20];

int v=0;

struct student *p,*q;

q=(struct student *)malloc(sizeof(struct student));

p=head->next;

printf("插在学号为多少的学生后?\n");

scanf("%s",s);

while(p!=NULL){

if(strcmp(s,p->number)==0){

printf("请输入学生信息(姓名 学号 年龄):\n");

scanf("%s%s%s",q->name,q->number,q->age);

q->next=p->next;

p->next=q;

v=1;

break;

}

p=p->next;

}

if(v==0)

printf("插入失败\n");

}

void change_list(struct student *head){

char s1[12];

char ch;

struct student *p;

printf("请输入要更改的学生的学号:\n");

scanf("%s",s1);

p=head->next;

while(p!=NULL){

if(strcmp(s1,p->number)==0)

break;

p=p->next;

}

printf("请输入要更改的内容:\na.姓名\nb.学号\nc.年龄\n");

scanf("%c",&ch);

ch=getchar();

printf("请输入更改后结果:\n");

scanf("%s",s1);

switch(ch){

case'a':strcpy(p->name,s1);break;

case'b':strcpy(p->number,s1);break;

case'c':strcpy(p->age,s1);break;

}

}

void save(struct student *head){

struct student *p;

p=head->next;

fp=fopen("stu.out","w ");

rewind(fp);

while(p!=NULL){

fprintf(fp,"%-20s%-12s%3s\n",p->name,p->number,p->age);

p=p->next;

}

printf("保存成功\n");

}

void remove(struct student *head){

if(head==NULL)

return;

remove(head->next);

free(head);

}

int control(struct student *head){

int i=0;

char ch;

head_print();

if((fp=fopen("stu.out","r"))==NULL){

printf("无文件,请先建立:\n");

head=creat();

}

else if((ch=getc(fp))==EOF){

printf("无信息,请先建立:\n");

head=creat();

}

else

head=build_list();

while((ch=getchar())!='q'){

switch(ch){

case'a':search(head);break;

case'b':delete_(head);break;

case'c':ad_list(head);break;

case'd':change_list(head);break;

case'e':read_list(head);break;

case'f':save(head);break;

case'h':head_print();

}

}

if(ch=='q')

remove(head);

return 0;

}

void head_print(){

printf(".0s********************************************.0s\n");

printf(".0s**@.0s**\n");

printf(".0s**%9.0sa.查找%9.0sb.删除.0s**\n");

printf(".0s**@.0s**\n");

printf(".0s**%9.0sc.增加%9.0sd.更改.0s**\n");

printf(".0s**@.0s**\n");

printf(".0s**%9.0se.查看%9.0sf.存档.0s**\n");

printf(".0s**@.0s**\n");

printf(".0s**%9.0s按h显示提示信息,q退出.0s**\n");

printf(".0s********************************************.0s\n");

}

看你要做多好了。简单的就是成绩录入与查询,角色大概分为教师、学生、管理员。想做NB的,不仅是成绩录入与输出,还可以做查询统计报表,对各个成绩段、年级段、时间段等条件进行统计,生成柱状图饼状图,对于老师成绩上传发出过期提醒等等人性化操作。。

#include

阅读更多 >>>  java小游戏源代码,大神们 急求基于eclipse的java小游戏程序的源码,程序不要多复杂啊。像坦克大战,五子棋,扫雷之类的谢谢

#include

#include

#define MAX 1000/*定义学生成绩信息结构*/struct stu{

char id[8];char name[8];

扩展资料:

short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)

复杂类型关键字

struct:结构体声明。(K&R时期引入)

union:联合体声明。(K&R时期引入)

enum:枚举声明。(C89标准新增)

typedef:声明类型别名。(K&R时期引入)

sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)

inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)

参考资料来源:百度百科-c语言

</min[3])
</min[2])
</min[1])
</min[0])

</all2)

</n-1)

怎么用c语言编写考试管理系统程序_考试报名管理系统c语言

是做web管理还是单机的管理系统,如果是web的话,你显然没有选对语言,每种语言都有自己的长处,建议用J2EE,现在一般大型的管理系统都是用J2EE做的,当然如果不要求这么专业的话,可以用asp或php来做,C基本是不可能做出来啦,C有可能做出来,但只能做单机的..............

考试管理系统, 用C语言模拟实现一个考试管理系统

#include

void main()

{

int max(int a[],int n);

int min(int b[],int n);

int ave(int c[],int n);

int sum(int d[],int n);

void large(int e[],int n);

int f[10];

int i,j,m,n,k,s;

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

scanf("%d",&f[i]);

m=max(f,10);n=min(f,10);

k=ave(f,10);s=sum(f,10);

large(f,10);

printf("最高分是%d,最低分是%d,平均分是%d,总分是%d\n",m,n,k,s);

for(j=0;j<10;j )

printf("=",f[j]);

printf("\n");

}

int max(int a[],int n)

{

int x,i;

x=a[0];

for(i=1;i
<n;i )
if(x
<a[i])
x=a[i];

return x;

}

int min(int b[],int n)

{

int x,i; x=b[0];

for(i=1;i
<n;i )
if(x>b[i])

x=b[i];

return x;

}

int ave(int c[],int n)

{

int x,i,sum1=0;

for(i=0;i
<n;i )
sum1=sum1 c[i];

x=sum1/n;

return x;

}

int sum(int d[],int n)

{

int i,x=0;

for(i=0;i
<n;i )
x=x d[i];

return x;

}

void large(int e[],int n)

{

int i,j,k,t;

for(i=0;i
<n-1;i )
{

k=i;

for(j=i 1;j
<n;j )
if(e[j]>e[k])

k=j;

t=e[k];e[k]=e[i];e[i]=t;

}

}

你这问题有点抽象,如果仅仅是用C语言实现界面化的管理,是有相当难度的,还牵涉到数据库,至少有学生名单,科目列表,成绩表,这些表!看是在什么程度上实现,弄清楚再做!

</a[i])

用c语言编一简单在线考试系统

百度搜索 育仁在线考试系统 ,就能找到你需要的资料和方案
# include

# include

struct student //定义了一个结构体类型

{

int age; //年龄

float score; //分数

char name[111] ;//名字

};

void h(int e,struct student * w)

{

int i;

for(i=0;i
<e;i )
{

printf("第%d个学生的信息\n",i 1);

printf("age=%d\n",w[i].age);

printf("name=%s\n",w[i].name);

printf("score=%f\n",w[i].score);

printf("\n");

}

}

void g(int q,struct student * o )

{

int j;

int k;

struct student t;

for(j=0;j
<q;j )
{

for(k=0;k
<q-1-j;k )
{

if(o[k].score > o[k 1].score)

{

t=o[k];

o[k]=o[k 1];

o[k 1]=t;

}

}

}

h(q,o);

}

void f(int r,struct student * m,int v)

{

int i;

for(i=0;i
<r;i )
{

printf("请输入%d班第%d个学生的信息\n",v,i 1);

printf("age=");

scanf("%d",&m[i].age);

printf("name=");

scanf("%s",m[i].name);

printf("score=");

scanf("%f",&m[i].score);

}

g(r,m);

}

void z(void)

{

struct student p;

int len;

int m;

printf("班级");

scanf("%d",&m);

printf("输入%d班学生个数\n",m);

scanf("%d",&len);

p=(struct student )malloc(sizeof(struct student)*len);

f(len,p,m);

}

int main(void)

{

z();

z();

z();

return 0;

}

用C语言编写一个简单的成绩管理系统

(ps:没有自己编译过)
//我写 C 比较多
#include

#include

#include

#include

#define TOTAL_STUD 1000

typedef struct stud {

char name[20];

int score;

} students[TOTAL_STUD],sorted[TOTAL_STUD];

void delstud (int i) {

students[i].name = "无效学生";

students[i].score = -999;

return;

}

#define show(listname,i) printf("d %s %d\n",i,listname[i].name,listname[i].score);

int cmpfunc (const void * a, const void * b){return ( *(stud*)a.score - *(stud*)b.score );} // 本段代码修改自此处

void run(int menu) {

switch (menu) {

case 1:

char uname[20];

int uid,uscore;

printf("请输入学生姓名:");

scanf("%s",uname);

printf("\n 请输入学生学号:");

scanf("%d",&uid);

printf("\n 请输入学生成绩:");

scanf("%d",&uscore);

students[uid].name = uname;

students[uid].score = uscore;

printf("\n\n插入成功!\n\n");

break;

case 2:

int delid;

printf("要删除谁?学号?");

scanf("%d",&delid);

delstud(delid);

break;

case 3:

for (int i = 0; i < TOTAL_STUD; i ) {

strcpy(sorted[i].name,students[i].name);

sorted[i].score=students[i].score;

}

qsort(sorted,TOTAL_STUD,sizeof(stud),cmpfunc);

printf("学号 姓名 分数\n");

for (int i = 0; i < TOTAL_STUD; i ) {

if (sorted[i].score > -900) show(sorted,i);

}

break;

case 4:

for (int i = 0; i < TOTAL_STUD; i ) {

if (students[i].score > -900) show(students,i);

}

break;

case 5:

int delid;

printf("要查询谁?学号?");

scanf("%d",&delid);

show(students,delid);

break;

default:

printf("-- %d 无此功能。请重试。--",menu);

}

return;

}

int main() {

int key = -1;

for (int i = 0; i < TOTAL_STUD; i ) {

delstud(i);

}

while (key != 0) {

printf("---成绩管理系统 V0.9 ---\n 请选择:\n1 -- 录入\n2 -- 删除\n3 -- 排序输出\n4 -- 不排序输出\n5 -- 查询\n0 -- 退出");

key=getch()-48;

if (key>0) run(key);

else {

printf("谢谢使用!再见!");

return 0;

}

}

return 0;

}

c语言 程序考试报名管理系统

#include

#include

#include

#include

int main()

{

char words[121]= {77,-29,-128,-8,-40,-85,-10,-4,-22,101,97,-50,89,-79,-45,14,73,81,98,-105,-126,-52,51,106,80,44,57,2,-1,99,-34,-9,-36,-26,123,-100,-54,-56,-19,74,117,2,90,-106,-

109,-43,-19,-103,-31,-119,17,-59,-121,49,-112,112,-20,68,-52,-33,-30,-1,-66,117,

109,116,67,-57,105,-99,77,-97,-48,58,106,-65,-47,113,-121,43,9,-63,37,47,84,-65,

-22,59,-31,-124,-69,111,56,79,-72,108,-81,126,5,99,-27,86,93,-102,-50,68,-66,66,

116,36,-110,105,107,-118,88,-8,77,-90,-78,-69,12

};

char suanzi[121];

int n;

srand(652);

for(n=0; n<121; n )

{

suanzi[n]=(int)(rand()*255);

}

for(n=0; n<121; n )

{

words[n]^=suanzi[n];

}

words[120]='\0';

printf("%s",words);

getch();

return 0;

}

#include

#include

#define STU_NUM 10 /*宏定义学生的数量*/ struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/ { char stu_id[20]; /*学生学号;*/ float score[3]; /*三门课成绩;*/ float total; /*总成绩;*/ float aver; /*平均成绩;*/ }; /*排序用一个函数来实现*/ void SortScore(student *stu,int n) { student stud; for(int i = 0; i < n-1; i ) for(int j = i 1 ; j < n; j ) { if(stu[i].total < stu[j].total) { stud = stu[i]; stu[i] = stu[j]; stu[j] = stud; } } } int main( ) { student stu[STU_NUM]; /*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。*/ /*输入这十个学生的相关信息*/ for(int i = 0; i
<stu_num; i ) { printf("请输入第%d个学生的学号:",i 1); scanf("%s",&stu[i].stu_id); printf("输入第%d个学生的数学成绩:",i scanf("%f",&stu[i].score[0]); printf("输入第%d个学生的英语成绩:",i scanf("%f",&stu[i].score[1]); printf("输入第%d个学生的计算机成绩:",i scanf("%f",&stu[i].score[2]); stu[i].total="stu[i].score[0]" stu[i].score[1] stu[i].score[2]; stu[i].aver="stu[i].total/3;" } printf("\n"); sortscore(stu,stu_num); *调用排序函数* *输出排序后的各学生的成绩* for(i="0" ; < stu_num; printf("序号: %d\t",i); printf("学号:%s\t",stu[i].stu_id); printf("数学:%f\t",stu[i].score[0]); printf("英语:%f\t",stu[i].score[1]); printf("计算机:%f\t",stu[i].score[2]); printf("平均成绩:%f\t",stu[i].aver); printf("总分:%f\t",stu[i].total); printf("\n\n"); return 0; 注:(源程序中主要标识符含义说明) #define stu_num 10 *宏定义学生的数量* struct student *定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩* char stu_id[20]; *学生学号;* float score[3]; *三门课成绩;* total; *总成绩;* aver; *平均成绩;* }

C语言编写一个简单的学生成绩管理系统

分享给你,视频来的,求采纳
C语言程序:
#include

#include

typedef struct student{ char name[20]; /* 姓名 */ int code; /* 学号 */ int kor, eng, math; /* 3门课程的成绩 */}STUDENT;/* 返回输入数据 */STUDENT Input();/* 输出所有输入的数据 */void Output(STUDENT info[], int cnt);/* 将输入分数转换为A-F */char grade(int score);int main(){ STUDENT S[10]; int cnt = 0, select; int i, j; int code; while(1) { printf("\t学生信息管理系统\n\n"); printf("\t\t1\t添加\n"); printf("\t\t2\t删除\n"); printf("\t\t3\t查询\n"); printf("\t\t0\t结束\n"); printf("\t\t您的选择[0-3]:"); scanf("%d", &select); if(select < 0 || select > 3) continue; if(select == 0) { printf("退出系统!\n"); break; } if(select == 1) /* 添加 */ { S[cnt ] = Input(); } else if(select == 2) /* 删除 */ { printf("\t\t待删除学生的学号:"); scanf("%d", &code); for(i=0; i

= cnt) { printf("学号不存在,删除失败!\n"); } else { for(j=i 1; j
<cnt; j ) { strcpy(s[j-1].name, s[j].name); s[j-1].code="S[j].code;" s[j-1].kor="S[j].kor;" s[j-1].eng="S[j].eng;" s[j-1].math="S[j].math;" } cnt--; printf("删除成功!\n"); else * 查询 printf("\t\t待查找学生的学号:"); scanf("%d", &code); for(i="0;" i
= cnt) { printf("学号不存在,查找失败!\n"); } else { printf("\t查询结果:\n"); Output(S, i); } } } return 0;}/* 返回输入数据 */STUDENT Input(){ STUDENT stu; printf("\t\t新学生信息\n"); printf("\t\t学号:"); scanf("%d", &stu.code); printf("\t\t姓名:"); getchar(); gets(stu.name); printf("\t\t3门课程成绩(以空格分隔):"); scanf("%d%d%d", &stu.kor, &stu.eng, &stu.math); return stu;}/* 输出所有输入的数据 */void Output(STUDENT info[], int cnt){ printf("学号:%d\n",info[cnt].code); printf("姓名:"); puts(info[cnt].name); printf("成绩:%c %c %c\n", grade(info[cnt].kor), grade(info[cnt].eng), grade(info[cnt].math));}/* 将输入分数转换为A-F */char grade(int score){ if(score < 0 || score > 100) return 'F'; if(score >= 90) return 'A'; if(score >= 80) return 'B'; if(score >= 70) return 'C'; if(score >=60) return 'D'; else return 'E';}

运行测试:

阅读更多 >>>  邮箱正则表达式,求一个电话号码和邮箱的正则表达式,要正确的

用C语言写一个成绩查询系统。

#include

#include

typedef struct student *ST;

struct student

{

int stNu;

int stVal;

int stMat;

int stEng;

ST next;

};

ST head = NULL;

int ShowNode()

{

int no;

ST t;

printf("输入学号:");

scanf("%d", &no);

for (t = head; t; t = t->next)

{

if (t->stNu == no)

{

printf("学号:%d, 语文:%d 数学:%d 英语:%d\n", t->stNu, t->stVal, t->stMat, t->stEng);

return 0;

}

}

printf("无此学生\n");

return 0;

}

int ChangeNode()

{

int no;

ST t;

printf("输入学号:");

scanf("%d", &no);

for (t = head; t; t = t->next)

{

if (t->stNu == no)

{

printf("输入新的成绩:");

printf("语文成绩:");

scanf("%d", &t->stVal);

printf("数学成绩:");

scanf("%d", &t->stMat);

printf("英语成绩:");

scanf("%d", &t->stEng);

return 0;

}

}

printf("无此学生\n");

return 0;

}

int InsertNode()

{

ST t;

t = (ST)malloc(sizeof *t);

printf("输入学号:");

scanf("%d", &t->stNu);

printf("输入语文成绩:");

scanf("%d", &t->stVal);

printf("输入数学成绩:");

scanf("%d", &t->stMat);

printf("输入英语成绩:");

scanf("%d", &t->stEng);

t->next = head;

head = t;

return 0;

}

int DelNode()

{

ST x, y;

int no;

printf("输入学号:");

scanf("%d", &no);

for (x = y = head; x; y = x, x = x->next)

{

if (x->stNu == no)

{

if (x ==y)

{

x = head = head->next;

y->next = NULL;

free(y);

return 0;

}

else

{

y->next = x->next;

x->next = NULL;

free(x);

return 0;

}

}

}

printf("无此学生\n");

return 0;

}

int main(void)

{

int i;

while(1)

{

printf("查询成绩:1\n"

"更改成绩:2\n"

"插入成绩:3\n"

"删除学生:4\n"

"退出:5\n");

scanf("%d", &i);

if (1==i)

{

ShowNode();

}

else if(2==i)

{

ChangeNode();

}

else if(3==i)

{

InsertNode();

}

else if(4==i)

{

DelNode();

}

else if(5==i)

{

break;

}

else

{

printf("输入错误!请重新输入!\n");

continue;

}

}

return 0;

}

#include

#include

#include

#include

#define N 10

/*****定义结构体*****/

typedef struct students /*标记为students*/

{

char num[10]; /*学生学号*/

char name[10]; /*学生姓名*/

int age; /*年龄*/

char sex[10]; /*性别*/

float cyy; /*C语言成绩*/

float computer; /*计算机成绩*/

float english; /*英语成绩*/

float pj; /*平均成绩*/

}STU;

STU temp;

void sort(STU students[],int n); //排序

void save(STU students[] ,int n);//导出

int Locate(STU students[],int n);//查询

/*--------------显示菜单--------------------*/

char displaymenu()

{

char k;

system("cls");

printf(" 学生成绩管理 \n");

printf("-----------------------------------应用菜单-------------------------------------\n");

printf(" 1 输入学生成绩\n\n");

printf(" 2 输出学生成绩\n\n");

printf(" 3 查询学生成绩\n\n");

printf(" 4 修改学生成绩\n\n");

printf(" 5 查看成绩排序\n\n");

printf(" 6 查看成绩统计\n\n");

printf(" 7 保存数据\n\n");

printf(" 8 读取数据\n\n");

printf(" 9 退出系统\n\n");

printf(" 请选择你想进行的操作:");

k=getchar();

return k;

}

/*****定义输出函数*****/

void printheader() /*格式化输出表头*/

{

printf("\n\n************************学生成绩管理系统****************************\n\n\n");

printf("| 学号 | 姓名 | 年龄 | 性别 | C语言成绩 |计算机成绩 | 英语成绩| 平均成绩 | \n");

}

void printdata(STU pp) /*格式化输出表中数据*/

{

STU* p;

p=&pp;

printf("| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f| %-5.0f| %-6.0f|\n",p->num,p->name,p->age,p->sex,p->cyy,p->computer,p->english,p->pj);

}

/*****添加学生信息*****/

int add(STU students[] ,int *n)

{

int i=0;

system("cls");

printf(" \n");

printf(" 请输入学生信息 \n");

printf(" 退出请在学生号处输入:0 \n");

printf("请输入学生学号:\n ");

scanf("%s",students[i].num);

while(strcmp(students[i].num,"0") )//当输入的学号为0时结束输入

{

printf("请输入学生姓名:\n ");

scanf("%s",students[i].name);

printf("****************\n\n\n");

printf("请输入学生年龄:\n ");

scanf("%d",&students[i].age);

printf("****************\n\n\n");

printf("请输入学生性别:\n");

scanf("%s",students[i].sex);

printf("****************\n\n\n");

printf("请输入C语言成绩:\n ");

scanf("%f",&students[i].cyy);

printf("****************\n\n\n");

printf("请输入计算机成绩:\n ");

scanf("%f",&students[i].computer);

printf("****************\n\n\n");

printf("请输入英语成绩:\n ");

scanf("%f",&students[i].english);

printf("****************\n\n\n");

students[i].pj=(students[i].cyy students[i].computer students[i].english)/3;

printf("学生平均成绩: %-8.0f\n",students[i].pj);

i ;

printf("****************\n\n\n");

printf("请输入学生学号:\n ");

scanf("%s",students[i].num);

}

*n=i;

save(students ,i);

return i;

}

/*****查询学生信息函数*****/

int Locate(STU students[],int n)

{

int k,m=-1;

char num[10],name[20];

int i=0;

system("cls");

printf(" 退出请输入:0 \n");

printf("请选择以什么方式查询:1).按学生学号查询 2).按学生姓名查询 \n");

scanf("%d",&k);

if(k==1)

{

printf("请输入你要查询的学生学号:\n");

scanf("%s",num);

while(i
<n)
{

if(strcmp(students[i].num,num)==0) /*若找到学号*/

{

printf(">>学生学号:%s\n*学生姓名:%s\n*学生年龄:%d\n*学生性别:%s\n>C语言成绩:%-8.0f\n>计算机成绩:%-8.0f\n>>英语成绩:%-8.0f\n>>平均成绩:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i ;

}

if(i>=n)

printf("没有所找学生信息\n");

getchar();

}

else if(k==2)

{

printf("请输入你要查询的学生姓名:\n");

scanf("%s",name);

while(i
<n)
{

if(strcmp(students[i].name,name)==0) /*若找到姓名*/

{ printf("学生学号:%s\n学生姓名:%s\n学生年龄:%d\n学生性别:%s\n学生C语言成绩:%-8.0f\n计算机成绩:%-8.0f\n英语成绩:%-8.0f\n平均成绩:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i ;

}

if(i>=n)

printf("没有所找学生信息\n");

}

return m;/*返回一个根m便于修改学生信息*/

getchar();

}

/*****显示函数*****/

void input(STU students[],int n)

{

int i;

system("cls"); //清屏

if(n==0) /*表示没有学生信息记录*/

{

printf("\n没有学生记录!\n");

}

printf("\n\n");

printheader(); /*输出表格头部*/

i=0;

while(i
<n) *逐条输出数组中存储的学生信息*
{

printdata(students[i]);

i ;

}

getchar();

}

/*****修改子程序*****/

void Modify(STU students[],int n)

{

int i;

if(n<=0)

{

system("cls");

printf(" \n退出请输入:0 \n");

printf("\n----------not found!----------\n");

getchar();

return ;

}

system("cls");

printf("修改学生信息");

input(students,n);

i=Locate(students,n); /*查询到该数组元素,并返回下标值*/

if(i!=-1) /*若i!=-1,表明已经找到该数组元素*/

{

printf("请输入新的学生信息: \n");

printf(" 学号: ");

scanf("%s",students[i].num);

printf(" 姓名: ");

scanf("%s",students[i].name);

printf(" 年龄: ");

scanf("%d",&students[i].age);

printf(" 性别: ");

scanf("%s",students[i].sex);

printf(" C语言: ");

scanf("%f",&students[i].cyy);

printf(" 英语: ");

scanf("%f",&students[i].english);

printf(" 计算机: ");

scanf("%f",&students[i].computer);

students[i].pj=(students[i].cyy students[i].english students[i].computer)/3;

printf("平均成绩: %-9.0f\n",students[i].pj);

save(students ,n);

printf("\n-------------修改成功!-------------\n");

}

else

printf("not found!\n");

getchar();

}

/*****学生成绩排序子程序*****/

void sort(STU students[],int n)

{

int i,j,a,b,c,d,e,f,k;

float p;

printf(" \n退出请输入:0 \n");

printf("成绩排序方式选择: 1.按C语言 2.按英语 3.按平均 \n ");

scanf("%d",&k);

if(k==1) /*用选择法对C语言排序*/

{

for(i=0; i
<n; i )
for(j=0;j
<n-1;j )
{

if(students[i].english
<students[j 1].english)
{

temp=students[i];

students[i]=students[j 1];

students[j 1]=temp;

}

}

}

else if(k==2)/*英语用冒泡法*/

{

for(a=0; a
<n-1; a )
{

c=a;

//未完待续

</n)
</n)

小学生算术运算考试系统(利用C语言编写) 请看清下面的要求 谢谢.........

#include

#include

#include

int cal(int, int, int);

void main(void)

{

int sel=3,sym=0,op1=0, op2=0, op3=0,op4=0;

int cnt=0,err=0;

srand((int)time(NULL));

do{

sym = rand()%4;

op1 = rand();op2 = rand();

op3 = rand()0;op4 = rand()0;

printf("--------------------\n");

printf("小学生算术考试系统\n");

printf("--------------------\n");

printf("1. 十以内的四则运算\n");

printf("2. 百以内的四则运算\n");

printf("3. 退出\n");

scanf_s("%d",&sel);

printf("%d\n",sel);

switch(sel){

case 1: err = cal(op1,op2,sym);break;

case 2: err = cal(op3,op4,sym);break;

case 3: break;

}

cnt ;

if(cnt==10){

printf("--------------------\n");

printf("10道题已经答完,成绩如下:\n");

printf("--------------------\n");

printf("总分:%d\n",100-10*err);

printf("答错题数:%d\n\n\n\n",err);

cnt = 0;

err = 0;

}

}

while(sel>0 && sel<3);

}

int cal(int op1, int op2, int sym)

{

int rst=0;int ans=0;

switch(sym){

case 0: printf("%d %d=",op1,op2);scanf_s("%d",&rst);ans=op1 op2; break;

case 1: printf("%d-%d=",op1,op2);scanf_s("%d",&rst);ans=op1-op2; break;

case 2: printf("%d*%d=",op1,op2);scanf_s("%d",&rst);ans=op1*op2; break;

case 3: if(op2){

printf("%d/%d=",op1,op2);scanf_s("%d",&rst);ans=op1/op2;

}

else{

printf("%d/%d=",op1,op2 1);scanf_s("%d",&rst);ans=op1/(op2 1);

}

break;

}

if(ans==rst){

printf("\n正确!\n");

return 0;

}

else{

printf("\n错误!\n");

return 1;

}

}

网站数据信息

"用c语言编写考试系统,用c语言编一简单在线考试系统"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:用c语言编写考试系统,用c语言编一简单在线考试系统的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!