程序设计题目(用C语言)

程序设计题目(用C语言),第1张

#include<stdioh>

#include<stringh>

#include<malloch>

typedef struct stu //一个学生的档案

{

char num[20];//学号

char name[20];//姓名

float score[5]; //成绩,前三门是单科成绩,第四个是总分,最后一个是平均分

}student;

student s[10]; //所有学生的信息

void main()

{

void init();//初始化函数申明

void sort();//排序函数申明

void print();//输出函数申明

init();

sort();

print();

}

void init()//初始化所有学生的档案

{

int i,j;

for(i=0;i<10;i++) //逐个键入学生的信息

{

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

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

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

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

printf("请输入该学生的三门成绩:");

s[i]score[3]=0;

for(j=0;j<3;j++)

{

scanf("%f",&s[i]score[j]);

s[i]score[3]+=s[i]score[j]; //求总分

}

s[i]score[4]=s[i]score[3]/3; //求平均分

}

printf("学生档案建立成功!\n");

}

void sort()

{

int i,j,k;

char str[20];

float temp;

for(i=0;i<9;i++) //主循环,进行排名

for(j=i+1;j<10;j++)

if(s[j]score[3]>s[i]score[3])

{

strcpy(str,s[i]num); //交换学号

strcpy(s[i]num,s[j]num);

strcpy(s[j]num,str);

strcpy(str,s[i]name); //交换姓名

strcpy(s[i]name,s[j]name);

strcpy(s[j]name,str);

for(k=0;k<5;k++) //交换成绩

{

temp=s[i]score[k];

s[i]score[k]=s[j]score[k];

s[j]score[k]=temp;

}

}

}

void print()

{

int i;

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

printf("%s %s %1f %1f %1f %1f %1f\n",s[i]num,s[i]name,s[i]score[0],s[i]score[1],s[i]score[2],s[i]score[3],s[i]score[4]

/按照要求和提示我写了patient Creat()、patient Delete()、int InLine(patient head)、patient OutLine(patient head)、int Search(patient head)函数,因为不清楚你对程序控制的要求,我简单地写了个控制菜单int menu()函数,用来简单控制程序。你可以根据需要修改int menu()和int main(),在需要的地方声明链表头指针patient head

此程序在DEV-CPP测试通过/

#include<stdioh>

#include<stringh>

#define LEN sizeof(patient)

int IsExist;

struct date

{

char name[20];

char sex[7];

int age;

struct date next;

};

typedef struct date patient;

patient Creat() //创建链表

{

patient head=(patient )malloc(LEN);

if(head==NULL) return NULL; //创建失败,返回0

printf("Input name,sex(\"male\" or \"female\"),age:");

scanf("%s %s %d",&head->name,&head->sex,&head->age);

head->next=NULL;

IsExist=1; //标记链表存在

return(head);

}

patient Delete()

{

return NULL;

}

int InLine(patient head) //排队

{

patient p1,p2;

p1=head;

while(p1->next!=NULL) p1=p1->next; //找链尾

p2=(patient )malloc(LEN);

if(p2==NULL) return 0; //新增元素失败,返回0

printf("Input name,sex(\"male\" or \"female\"),age:");

scanf("%s %s %d",&p2->name,&p2->sex,&p2->age);

p1->next=p2;

p2->next=NULL;

return 1;

}

patient OutLine(patient head) //就诊病人离开

{

if(!IsExist) return 0; //链表不存在,返回0

patient p1,p2;

p1=head;p2=head->next;

if(head->next==NULL) //链表只有一个元素,删除链表

{

IsExist=0;

return(Delete());

}

if(p2!=NULL) return(p2);

}

int Search(patient head) //查询自己当前位置

{

patient p;

p=head;

int i=0;

char sea_name[20];

if(!IsExist) return(i); //链表不存在,返回0

i++;

printf("Input your name:");

scanf("%s",sea_name); //输入姓名并查找

while(strcmp(p->name,sea_name))

{

i++;

p=p->next;

}

return(i); //返回当前位置

}

int menu() //菜单函数

{

int quit=0,temp; //quit变量用于控制退出程序

int select;

static patient head;

printf("1Line up\n2Search my state\n3Delete the first element\n4Exit\nYou want to:");

scanf("%d",&select);

switch(select)

{

case 1:if(!(IsExistInLine(head):(head=Creat()))) exit(0);return 0;

//排队,如果链表不存在则创建,存在则增加长度, *** 作失败则终止程序

case 2:if(temp=Search(head)) printf("There are %d persons\n",temp);return 0;

case 3:head=OutLine(head);return 0;

case 4:return 1;

}

}

int main()

{

IsExist=0;

int quit;

do

{

quit=menu();

}while(!quit);

return 0;

}

一、

1B

2A

二、

1

#include <stdioh>

void strcopy(char s,char t)

{ int i=0;

while((t+1) != NUll)

{ s=t;

i++;

t++;

}

}

void main()

{ char a[20],b[10];

gets(b);

strcopy(a,b);

puts(a);

}

2

w,one

3p表示a (&a)= p

1第一个是正确的 具体怎么改 我还没想好 方法很多

2

ABCDEFG

CDEFG

EFG

G

可以设置每个题目的关键词或者题目的标题,这个在数据库中设为表subject

然后依据每个题目,建立相关答案的表answer

可以架构在web上,利用ajax,输入查询内容,匹配keywords,然后匹配answer

也可以利用正则,用JS来写全部程序。

前者思路清晰, *** 作没什么难点。

后则,涉及到JS的多级数组,正则匹配,麻烦但不需要服务器支持。

可以参考下17173的答题系统。只支持IE,不支持FF等。

以上就是关于程序设计题目(用C语言)全部的内容,包括:程序设计题目(用C语言)、急求一道C语言题目,怎么编程序、C语言程序设计题目等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10078631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存