首页小程序c语言程序设计考试题(大一C语言程序设计考试题)

c语言程序设计考试题(大一C语言程序设计考试题)

编程之家2026-05-15623次浏览

其实c语言程序设计考试题的问题并不复杂,但是又很多的朋友都不太了解大一C语言程序设计考试题,因此呢,今天小编就来为大家分享c语言程序设计考试题的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

c语言程序设计考试题(大一C语言程序设计考试题)

c语言程序设计习题!!10道

1.在C程序中,只能用于整型变量的运算符是___求余(%)___。

2.在C语言中,char类型变量占 2个字节。

3.若a已定义为double类型,请写出从键盘给a输入数据的语句 scanf("%lf",&a);。

4.为使以下程序能正确运行,请填空。

#include<stdio.h>

#include<math.h>

c语言程序设计考试题(大一C语言程序设计考试题)

main()

{ double x, y;

scanf("%lf%lf",&x,&y);

printf("y=%f\n", pow(x,y));}

5.以下程序执行后的输出结果是-2。

main()

c语言程序设计考试题(大一C语言程序设计考试题)

{ int m=3,n=4,x;

x=-m++;

x=x+8/++n;

printf("%d\n",x);}

6.以下程序的输出结果是 10 20 0。

main()

{ int a,b,c;

a=10; b=20; c=(a%b<1)||(a/b>1);

printf("%d%d%d\n",a,b,c);}

7.以下程序中调用fun函数,对主函数x和y中的值进行对调。请填空。

void fun( double*a, double*b)

{ double x;

x=*a;*a=*b;*b=x;}

main()

{ double x,y;

printf(“Enter x, y:“); scanf(“%lf%lf”,&x,&y);

fun( x,y);

printf(“x=%f y=%f\n”,x,y);}

8. C语言规定:字符串以'\0'作为结束标志。

9.以下程序的输出结果是 3。

long fun( int n)

{ long t;

if( n==1|| n==2) t=1;

else t=fun(n-1)+ fun(n-2);

return( t);

}

main()

{ printf(“%d\n”,fun(4));}

10.设有定义:

struct date

{ int year, month, day;} d1;

请写出利用输入语句,为变量d1中的year成员从键盘输入数值的语句 scanf("%d",&(d1.year));。

求一份C语言程序设计的期末考试试题!!!谢谢了

一.选择题(共15题,每题2分,共30分)

1.定义结构体的关键字是()

A. union B. enum C.struct D.typedef

2.设整型变量a为5,使b不为2的表达式是()

A. b=a/2 B. b=6-(--a) C. b=a%2 D. b=a>3?2:1

3.下面哪一项是不正确的字符串赋值或赋初值的方法()

A. char*str; str=“china”;

B. char str[7]={‘c’,‘h’,‘i’,‘n’,‘a’};

C. char str1[]=“china”,str2[]=“123”;

D. char str1[10]; str1=“china”;

4.以下对二维数组a进行正确初始化的是()

A. int a[2][3]={{1,2},{3,4},{5,6}}; B. int a[ ][3]={1,2,3,4,5,6};

C. int a[2][ ]={1,2,3,4,5,6}; D. int a[2][ ]={{1,2},{3,4}};

5.选出下列标识符中不是合法的标识符的是()

A. hot_do B. cat1 C. _pri D. 2ab

6.以下说法中正确的是()

A. C语言程序总是从第一个的函数开始执行

B.在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

7.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()

A. p+1 B. a+1 C. a++ D.++p

8.若有说明: int i,j=7,*p=&i;,则与i=j;等价的语句是()

A. i=*p; B.*p=*&j; C. i=&j; D. i=**p;

9.若变量c为char类型,能正确判断出c为小写字母的表达式是()

A.‘a’<=c<=‘z’ B.(c>=‘a’)||(c<=‘z’)

C.(‘a’<=c) and(‘z’>=c) D.(c>=‘a’)&&(c<=‘z’)

10.以下程序的输出结果是()

main()

{ int a[]={1,2,3,4,5,6,7,8,9},*p;

p=a;

*(p+3)+=2;

printf(“%d,%d\n”,*p,*(p+3));}

A. 0, 5 B. 1, 6 C. 1, 5 D. 0, 6

11.以下程序的输出结果是()

main()

{ int a=5;

float x=3.14;

a*=x*(‘E’-‘A’);

printf(“%f\n”,(float)a);}

A. 62.000000 B. 62.800000 C. 63.000000 D. 62

12.以下程序的输出结果是()

#define f(x) x*x

main()

{ int a=6,b=2,c;

c=f(a)/f(b);

printf(“%d\n”,c);}

A. 9 B. 6 C. 36 D. 18

13.定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};

则语句for(i=0;i<3;i++) printf("%d",x[i][2-i]);的输出结果是()

A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9

14.下列程序段的输出结果是()

void main()

{ int k;

for(k=1;k<5;k++)

{ if(k%2!=0)

printf(“#”);

else

printf(“*”);}

}

A.#*#* B.*#*# C.## D.**

15.下列程序执行后输出的结果是()

int d=1;

fun(int p)

{ int d=5;

d+=p++;

printf("%d,",d);}

main()

{ int a=3;

fun(a);

d+= a++;

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

A. 8, 4 B. 9, 6 C. 9, 4 D. 8, 5

二.填空题(共7题,每空2分,共30分)

1.数组 int a[3][5];共定义了_______________个元素。

2.有float f=3.1415927;则 printf(“%5.4f”, f);输出的结果是_______________。

3.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。

main()

{ int i;

for(i=1; _______________; i++)

if(_______________)

printf("%d", i);

}

4.设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是 _______________

5.以下是使用指针,进行字符串复制的程序,请填空。

main()

{ char a[]=“Tsinghua University”, b[30],*p1,*p2;

p1=a;

p2=b;

for(;*p1!=‘_______________’; p1++, p2++)

_______________=_______________;

*p2=‘_______________’;

printf(“string a is:%s\n”,a);

printf(“string b is:%s\n”,b);

}

6.下面程序用冒泡法对数组a进行降序排序,请填空。

main()

{ int a[5]={4,7,2,5,1};

int i,j,m;

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

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

if( _______________< _______________)

{ m=a[ j];

a[ j]=a[ j+1];

a[ j+1]= m;}

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

printf("%d",a[i]);

}

7.函数fun的功能是:使一个字符串按逆序存放,请填空。

void fun(char str[])

{ char m; int i,j;

for(i=0,j=strlen(str);i<_______________;i++,j--)

{ m=str[i];

str[i]= _______________;

str[j-1]=m;

}

printf("the rotated string is%s\n",_______________);

}

c语言程序设计题目

第一种:

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<string.h>

struct student{

int id;

char name[10];

int age;

char sex[10];

char birthady[20];

int tel;

char nativeplace[50];

}st[50];

int i=0;

void shuru(){

char a;

do{

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

scanf("%d",&st[i].id);

fflush(stdin);

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

gets(st[i].name);

printf("\n");

printf("请输入年龄:");

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

fflush(stdin);

printf("\n请输入姓别:");

gets(st[i].sex);

fflush(stdin);

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

gets(st[i].birthady);

printf("\n请输入电话:");

scanf("%d",&st[i].tel);

fflush(stdin);

printf("\n请输入籍贯:");

gets(st[i].nativeplace);

printf("\n是否继续输入另外一个学生信息?(y/n)");

fflush(stdin);

a=getchar();

i++;

}while(a=='y'&& i<=50);

}

void xianshi()

{

int j;

printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t籍贯\n");

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

printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",

st[j].id,st[j].name,st[j].age,st[j].sex,st[j].birthady,st[j].tel,st[j].nativeplace);

}

void paixu()//按年龄从大到小排序函数

{

int j,k;

int temp;

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

{

for(k=0;k<i-1-j;k++)

{

if(st[k].age<st[k+1].age)

{

temp=st[k].age;

st[k].age=st[k+1].age;

st[k+1].age=temp;

}

}

}

xianshi();//排序后输出

}

void chazhao()

{

int m;

char name[20],b;

do

{

printf("\n请输入想查找的学生姓名:");

fflush(stdin);

gets(name);

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

{

if(strcmp(name,st[m].name)==0)

{

printf("\n\t您查找的学生在第%d个位置找到了!!!\n",m+1);

break;

}

}

if(m>=20)

printf("\n\t没有找到这个学生!!!\n");

else

{

printf("\t学号\t姓名\t年龄\t性别\t生日\t\t电话\t籍贯\n");

printf("\t%d\t%s\t%d\t%s\t%s\t%d\t%s\n",

st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace);

}

printf("\n是否查找另一个学生的信息?(y/n)");

fflush(stdin);

b=getchar();

}while(b=='y');

}

void shanchu()

{

char name[20],c;

int a,b;

do

{

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

fflush(stdin);

gets(name);

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

{

if(strcmp(name,st[a].name)==0)

break;

}

for(b=a;b<i;b++)

st[b]=st[b+1];

if(a>i)

printf("\t没有找到这个学生!!!\n");

else

{

i--;

xianshi();

}

printf("\n是否继续删除另一个学生信息?(y/n)");

fflush(stdin);

c=getchar();

}while(c=='y');

}

void charu()

{

shuru();

paixu();

}

void main()//主函数

{

int change;

do{

system("cls");

printf("============================学生信息管理系统===================================\n");

printf("\t\t一:输入学生信息\n");

printf("\t\t二:显示学生信息\n");

printf("\t\t三:查找学生信息\n");

printf("\t\t四:删除学生信息\n");

printf("\t\t五:插入学生信息\n");

printf("\t\t六:退出程序\n");

fflush(stdin);

printf("\t\t请输入功能选项:");

scanf("%d",&change);

switch(change)

{

case 1:

shuru(); break;

case 2:

xianshi(); break;

case 3:

chazhao(); break;

case 4:

shanchu(); break;

case 5:

charu(); break;

case 6:

break;

}

getch();

}while(change!=6);

}

第二种

#include<stdio.h>

#include<conio.h>

#include<string.h>

typedef struct STUDENT

{

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

char studentName[20];/*学生姓名*/

char studentSEX[10];/*学生性别*/

char className[20];/*班级名称*/

float mark1;/*第1门成绩*/

float mark2;/*第2门成绩*/

float mark3;/*第3门成绩*/

float mark4;/*第4门成绩*/

float mark5;/*第5门成绩*/

struct STUDENT*next;

}STUDENT;

STUDENT*headLink;/*链表表头指针*/

/*以下是函数声明*/

void ReadInfoFormFile(void);

void DesplayMenu(void);

void CreateHeadLink(void);

STUDENT*MallocNode(void);

void GetInformation(STUDENT*t);

void OutputInformation(void);

void DesplayInfoBystudentName(void);

void DesplayInfoBystudentNumber(void);

void DesplayOneNode(STUDENT*t);

void InsertOneNode(STUDENT*t);

void DeleteNodeBystudentNumber(void);

void ChangeMarkByName(void);

void ChangeMarkByNumber(void);

void SaveLinkToFile(void);

void DesplayMarkSegment(void);

void CompositorByTotalMark(void);

int choose;/*用于接受用户的选择*/

/*主函数*/

void main()

{

CreateHeadLink();

ReadInfoFormFile();

DesplayMenu();

}

/************************************

函数功能:从文件中读学生信息到链表中

************************************/

void ReadInfoFormFile(void)

{

FILE*fp;

STUDENT*p;

fp=fopen("student.txt","r");

if(!fp)

{

printf("文件不存在\n");

return;

}

p=MallocNode();

while(fscanf(fp,"%s%s%s%s%f%f%f",p->studentNumber,p->studentSEX,p->studentName,p->className,&(p->mark1),&(p->mark2),&(p->mark3),&(p->mark4),&(p->mark5))>0)

{

InsertOneNode(p);

p=MallocNode();

}

fclose(fp);

}

/************************************

函数功能:显示菜单,根据用户的输入

完成相应的功能

************************************/

void DesplayMenu(void)

{

STUDENT*p;

printf("-------请选择相应功能------------\n\n");

printf("| 1显示所有学生的信息|\n");

printf("| 2按姓名查询|\n");

printf("| 3按学号查询|\n");

printf("| 4增加学生|\n");

printf("| 5删除学生|\n");

printf("| 6按姓名修改学生成绩|\n");

printf("| 7按学号修改学生成绩|\n");

printf("| 8保存所有学生信息|\n");

printf("| 9显示优秀和不及格学生成绩|\n");

printf("| 10排序结果并输出成绩|\n");

printf("| 11退出|\n\n");

scanf("%d",&choose);/*取得用户的选择*/

switch(choose)

{

case 1:

OutputInformation();/*显示所有学生的信息*/

break;

case 2:

DesplayInfoBystudentName();

break;

case 3:

DesplayInfoBystudentNumber();/*根据用户输入的学号显示该学生的信息*/

break;

case 4:

p=MallocNode();/*先申请一个新结点*/

GetInformation(p);/*要求用户输入信息到新结点中*/

InsertOneNode(p);/*将新结点加到链表中*/

break;

case 5:

DeleteNodeBystudentNumber();/*根据用户输入的学号删除该学生*/

break;

case 6:

ChangeMarkByName();/*根据用户输入的姓名修改学生成绩*/

break;

case 7:

ChangeMarkByNumber();/*根据用户输入的学号修改学生成绩*/

break;

case 8:

SaveLinkToFile();/*保存数据*/

break;

case 9:

DesplayMarkSegment();/*显示各分数段的学生成绩*/

break;

case 10:

CompositorByTotalMark();

break;

case 11:

SaveLinkToFile();/*保存数据后再退出*/

free(headLink);

exit(1);

break;

default:

break;

}

DesplayMenu();/*递归调用*/

}

/************************************

函数功能:建立链表表头

************************************/

void CreateHeadLink(void)

{

STUDENT*p;

p=(STUDENT*)malloc(sizeof(STUDENT));

headLink=p;

p->next=NULL;

}

/************************************

函数功能:申请一个新结点,并将其初始化

************************************/

STUDENT*MallocNode(void)

{

STUDENT*p;

int i;

p=(STUDENT*)malloc(sizeof(STUDENT));

if(p==NULL)

return NULL;

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

p->studentNumber[i]='\0';

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

p->studentName[i]='\0';

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

p->studentSEX[i]='\0';

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

p->className[i]='\0';

p->mark1=0.0;

p->mark2=0.0;

p->mark3=0.0;

p->mark4=0.0;

p->mark5=0.0;

p->next=NULL;

return p;

}

/************************************

函数功能:取得用户输入的学生信息

************************************/

void GetInformation(STUDENT*t)

{

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

scanf("%s",t->studentNumber);

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

scanf("%s",t->studentName);

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

scanf("%s",t->studentSEX);

printf("请输入该生所在班级:\n");

scanf("%s",t->className);

printf("请输入第1门成绩:\n");

scanf("%f",&(t->mark1));

printf("请输入第2门成绩:\n");

scanf("%f",&(t->mark2));

printf("请输入第3门成绩:\n");

scanf("%f",&(t->mark3));

printf("请输入第4门成绩:\n");

scanf("%f",&(t->mark4));

printf("请输入第5门成绩:\n");

scanf("%f",&(t->mark5));

}

/************************************

函数功能:在链表的结尾处增加一个结点

************************************/

void InsertOneNode(STUDENT*t)

{

STUDENT*p;

p=headLink;

while(p->next)

{

p=p->next;

}

p->next=t;

}

/************************************

函数功能:根据用户输入的学生姓名显示该学生的信息

************************************/

void DesplayInfoBystudentName(void)

{

STUDENT*p;

char studentName[20];

char flag=0;

p=headLink->next;

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

scanf("%s",studentName);

while(p)

{

if(strcmp(p->studentName,studentName)==0)

{

printf("学号\t姓名\t性别\t班级\t成绩1\t成绩2\t成绩3\t成绩4\t成绩5\t总成绩\t平均成绩\n\n");

DesplayOneNode(p);

flag=1;

break;

}

p=p->next;

}

if(!flag)

printf("对不起,不存在姓名为%s的学生\n",studentName);

}

/************************************

函数功能:根据用户输入的学号显示该学生的信息

************************************/

void DesplayInfoBystudentNumber(void)

{

STUDENT*p;

char studentNumber[10];

char flag=0;

p=headLink->next;

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

scanf("%s",studentNumber);

while(p)

{

if(strcmp(p->studentNumber,studentNumber)==0)

{

printf("学号\t姓名\t性别\t班级\t成绩1\t成绩2\t成绩3\t成绩4\t成绩5\t总成绩\t平均成绩\n\n");

DesplayOneNode(p);

flag=1;

break;

}

p=p->next;

}

if(!flag)

printf("对不起,不存在学号为%s的学生\n",studentNumber);

}

/************************************

函数功能:输出一个结点的信息

************************************/

void DesplayOneNode(STUDENT*t)

{

printf("%s\t",t->studentNumber);

printf("%s\t",t->studentName);

printf("%s\t",t->studentSEX);

printf("%s\t",t->className);

printf("%.2f\t",t->mark1);

printf("%.2f\t",t->mark2);

printf("%.2f\t",t->mark3);

printf("%.2f\t",t->mark4);

printf("%.2f\t",t->mark5);

printf("%.2f\t",t->mark1+t->mark2+t->mark3+t->mark4+t->mark5);

printf("%.2f\t\n",(t->mark1+t->mark2+t->mark3+t->mark4+t->mark5)/5);

}

/************************************

函数功能:根据用户输入的学号删除该学生

************************************/

void DeleteNodeBystudentNumber(void)

{

char studentNumber[10];

STUDENT*p,*q;

char flag=0;

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

scanf("%s",studentNumber);

p=headLink;

q=headLink->next;

while(q)

{

if(strcmp(q->studentNumber,studentNumber)==0)

{

p->next=q->next;

free(q);

flag=1;

break;

}

p=p->next;

q=q->next;

}

if(!flag)

{

printf("不存在该学号的学生\n");

return;

}

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

}

/************************************

函数功能:显示所有学生的信息

************************************/

void OutputInformation(void)

{

STUDENT*p;

p=headLink->next;

if(p==NULL)

{

printf("现在没有学生信息,请先输入学生信息\n\n");

return;

}

printf("学号\t姓名\t性别\t班级\t成绩1\t成绩2\t成绩3\t成绩4\t成绩5\t总成绩\t平均成绩\n\n");

while(p)

{

DesplayOneNode(p);

p=p->next;

}

}

/************************************

函数功能:根据输入的姓名修改成绩

************************************/

void ChangeMarkByName(void)

{

STUDENT*p;

char studentName[20];

char flag=0;

float mark1,mark2,mark3,mark4,mark5;

p=headLink->next;

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

scanf("%s",studentName);

while(p)

{

if(strcmp(p->studentName,studentName)==0)

{

printf("请输入新的第1门成绩:\n");

scanf("%f",&mark1);

printf("请输入新的第2门成绩:\n");

scanf("%f",&mark2);

printf("请输入新的第3门成绩:\n");

scanf("%f",&mark3);

printf("请输入新的第4门成绩:\n");

scanf("%f",&mark4);

printf("请输入新的第5门成绩:\n");

scanf("%f",&mark5);

p->mark1=mark1;

p->mark2=mark2;

p->mark3=mark3;

p->mark4=mark4;

p->mark5=mark5;

flag=1;

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

break;

}

p=p->next;

}

if(!flag)

printf("对不起,不存在姓名为%s的学生\n",studentName);

}

/************************************

函数功能:根据输入的学号修改成绩

************************************/

void ChangeMarkByNumber(void)

{

STUDENT*p;

char studentNumber[20];

char flag=0;

float mark1,mark2,mark3,mark4,mark5;

p=headLink->next;

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

scanf("%s",studentNumber);

while(p)

{

if(strcmp(p->studentNumber,studentNumber)==0)

{

printf("请输入新的第1门成绩:\n");

scanf("%f",&mark1);

printf("请输入新的第2门成绩:\n");

scanf("%f",&mark2);

printf("请输入新的第3门成绩:\n");

scanf("%f",&mark3);

printf("请输入新的第4门成绩:\n");

scanf("%f",&mark4);

printf("请输入新的第5门成绩:\n");

scanf("%f",&mark5);

p->mark1=mark1;

p->mark2=mark2;

p->mark3=mark3;

p->mark4=mark4;

p->mark5=mark5;

flag=1;

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

break;

}

p=p->next;

}

if(!flag)

printf("对不起,不存在学号为%s的学生\n",studentNumber);

}

/************************************

函数功能:保存链表数据到文件中

************************************/

void SaveLinkToFile(void)

{

STUDENT*p;

FILE*fp;

p=headLink->next;

if(p==NULL)

{

printf("现在没有学生信息,请先输入学生信息\n\n");

return;

}

fp=fopen("student.txt","w+");

if(!fp)

{

printf("文件不存在\n");

return;

}

while(p)

{

fprintf(fp,"%s%s%s%s%f%f%f%f%f\n",p->studentNumber,p->studentName,p->studentSEX,p->className,p->mark1,p->mark2,p->mark3,p->mark4,p->mark5);

p=p->next;

}

fclose(fp);

}

/************************************

函数功能:显示优秀和不及格学生成绩

************************************/

void DesplayMarkSegment(void)

{

STUDENT*p;

int count=0;

p=headLink->next;

printf("60分以下(不及格)的学生成绩如下:\n");

printf("学号\t姓名\t性别\t班级\t成绩1\t成绩2\t成绩3\t成绩4\t成绩5\t总成绩\t平均成绩\n\n");

while(p)

{

if((6>((int)(p->mark1/10)))||(6>((int)(p->mark2/10)))||(6>((int)(p->mark3/10)))||(6>((int)(p->mark4/10)))||(6>((int)(p->mark5/10))))/*只要有一科不及格就认为该生不及格*/

{

count++;

DesplayOneNode(p);

}

p=p->next;

}

printf("不及格的学生一共有%d人\n",count);

p=headLink->next;

printf("成绩优秀的学生成绩如下:\n");

printf("学号\t姓名\t性别\t班级\t成绩1\t成绩2\t成绩3\t成绩4\t成绩5\t总成绩\t平均成绩\n\n");

count=0;

while(p)

{

if((8<=((int)(p->mark1/10)))&&(8<=((int)(p->mark2/10)))&&(8<=((int)(p->mark3/10)))&&(8<=((int)(p->mark4/10)))&&(8<=((int)(p->mark5/10))))

{

count++;

DesplayOneNode(p);

}

p=p->next;

}

printf("成绩优秀的学生一共有%d人\n",count);

}

/************************************

函数功能:按总成绩排序

************************************/

void CompositorByTotalMark(void)

{

STUDENT exchange,*r,*p,*q;

r=headLink->next;

if(r==NULL)

{

printf("现在还没学生信息,请先输入学生信息\n");

return;

}

while(r)/*两层while循环实现排序*/

{

p=r;

q=r->next;

while(q)

{

if((q->mark1+q->mark2+q->mark3+q->mark4+q->mark5)>(p->mark1+p->mark2+p->mark3+p->mark4+p->mark5))

{

strcpy(exchange.studentNumber,q->studentNumber);/*先复制q结点信息到exchange*/

strcpy(exchange.studentName,q->studentName);

strcpy(exchange.className,q->className);

exchange.mark1=q->mark1;

exchange.mark2=q->mark2;

exchange.mark3=q->mark3;

exchange.mark4=q->mark4;

exchange.mark5=q->mark5;

strcpy(q->studentNumber,p->studentNumber);/*再复制p结点信息到q*/

strcpy(q->studentName,p->studentName);

strcpy(q->studentSEX,p->studentSEX);

strcpy(q->className,p->className);

q->mark1=p->mark1;

q->mark2=p->mark2;

q->mark3=p->mark3;

q->mark4=p->mark4;

q->mark5=p->mark5;

strcpy(p->studentNumber,exchange.studentNumber);/*最后复制exchange结点信息到p*/

strcpy(p->studentName,exchange.studentName);

strcpy(p->className,exchange.className);

p->mark1=exchange.mark1;

p->mark2=exchange.mark2;

p->mark3=exchange.mark3;

p->mark4=exchange.mark4;

p->mark5=exchange.mark5;

}

q=q->next;

}

r=r->next;

}

OutputInformation();

}

我比较倾向于第二种,因为是自己调试的,呵呵~~

你只要把"成绩"改成你需要的其他信息就OK了~~

c语言程序设计考试题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于大一C语言程序设计考试题、c语言程序设计考试题的信息别忘了在本站进行查找哦。

asp源代码免费下载 asp源码怎么用自建网站流程,怎么搭建属于自己的网站