国二c语言真题哪里有,国二_C语言上机国二真题

第一套

程序填空

给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。如输入一个数:27638496,新的数为729

第一空:{ t=*n%10; 第二空:if(t%2!=0) 第三空:*n=x; 2.程序修改

给定程序modi1.c中函数fun的功能是:计算n!。例如,给n输入5,则输出120.000000。

double fun(int n ) { double result=1.0; /*****found******/ 1. if(n==0)

while(n>1&&n<170) /*****found******/ result*=n--; }

程序设计

请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。 long fun(char *p) {

int i,len,t; 2. 第二套

1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 第1 处 FILE * fp; 第2 处 while (!feof(fp)) {

第3 处 putchar(ch); ch = fgetc(fp); } 2.程序修改

给定程序MODI1.C中函数3. fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

void fun( char *s ) { int i,j;

for(i=0,j=0;s[i]!=’\0’;i++)

if(s[i]>=’0’&&s[i]<=’9’)

/*****found******/ s[j++]=s[i];

请编写函数fun,函数的功1. 能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 void fun(char s[][N],char *b) {

int i,j,n=0; for(i=0;i

/*请填写其相应语句完成其功能*/ {

for(j=0;j

b[n]=’\0’; }

第三套

程序填空 2.

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数 fun的功能是重写形参filename所指的文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。 第1处:fp=fopen(filename, ”rb+”)

第2处:fseek(fp,-1L* sizeof(STU),SEEK_END); 第3处:fwrite(&n, sizeof(STU),1,fp);

程序修改

给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。请改正函数Creatlink中指定部位的错误,使它能得出3. 正确的结果。 NODE *Creatlink(int n,int m)

{ NODE *h=NULL,*p,*s; int i;

/*****found******/ p=( NODE *) p->next=null; for(i=1;i<=n;i++) {s=( NODE *) malloc(sizeof(NODE)); s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; }

/*****found******/ return h; 程序设计

请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输1. 入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。

int fun(char *s) {

int k=1; 程序填空 2.程序修改

程序通过定义学生结给定程序MODI1.C中函数构体变量,存储了学生的学fun的功能是:对N名学生号、姓名和3门课的成绩。的学生成绩,按从高到低的所有学生数据均以二进制方顺序找出前m(m<10) 名学式输出到文件中。函数fun生来,将这些学生数据存放的功能是从形参filename在一个动态分配的连续存储所指的文件中读入学生数区中,此存储区的首地址作据,并按照学号从小到大排为函数值返回。

序后,再用二进制方式把排STU *fun(STU a[ ],int m) 序后的学生数据输出到{ STU b[N],*t; filename所指的文件中,覆 int i,j,k; 盖原来的文件内容。 /*****found******/ 第1处fp = fopen(filename, t=(STU "rb"); 1. 第2处if (s[i].sno >s[j].sno) b[i]=a[i]; 第3处 for(k=0;k

fwrite(s,sizeof(STU),N,f{ for(i=j=0;ib[j].s)j=i;

程序修改 /*****found******/

给定程序MODI1.C中函数t[k]=b[j]; fun的功能是:在字符串的最前端加入n个*号,形成新}

串,差且覆盖原串。注意:return t; 字符串的长度最长允许为} 79. 3. 程序设计

void fun(char s[ ],int n) 请编写函数fun,函数的功{ 能是,删去一维数组中所有char a[80],*p; 相同的数,使之只剩一个。int i; 数组中的数已按从小到大的/*****found******/ 顺序排序,函数返回删除后p=s; 数组中数据的个数。 int fun(int a[ ],int n) a[i]=’*’; { do int i,j=1,k=a[0]; {a[i]=*p; i++; } /*****found******/ while(*p++) strcpy(s,a); } 第六套

程序设计 1. 程序填空

请编写函数fun,函数的功给定程序中,函数fun的功能是:统计各年龄段的人数,能是根据形参i的值返回某N个年龄能过调用随机函数个函数年值。当调用正确时,获得,并放在主函数的age 程序输出:x1=5.000000 数组中:要求函数把0至9x2=3.000000.

岁的年龄段的人数放在d[0]x1*x1+x1*x2=40.000000 中,把10至19岁的年龄段第一处:double fun(int 的人数放在d[1]中,把20i,double x,double y) 至29岁的年龄段的人数放第二处:return f1(x); 在d[2]中,其余依次类推,第三处:return f2(x,y); 把100岁(含100岁)以上2.程序修改

年龄的人数都放在d[10]给定程序MODI1.C中函数中。结果在主函数中输出。 fun的功能是:比较两个字void fun(int *a, int *b) 符串,将长的那个字符串的{ 首地址作为函数值返回。 int i,j; #include /*****found******/ char *fun(char *s,char int sl=0,tl=0; char *ss,*tt; ss=s; tt=t; while(*ss) 第五套 { sl++;

程序填空 /*****found******/

给定程序中,函数fun的功ss++; 能是将参数给定的字符串、整数、浮点数写到文件文件while(*tt) 中,再用字符串方式从此文{ tl++;

本文件中逐个读入,并调用/*****found******/ 库函数atoi和atof将字符tt++; 串换成相应的整数和浮点数,然后将其显示在屏幕上。 if(tl>sl) return t; 第1处: FILE *fp; else return s; 请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平均移到字符串的最后,把第m+1个到最后的;字符移到字符串的前部。 void fun(char *w, int m ) {

int i;

第七套

程序填空

程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun的功能是输出这位学生的信息。 第1处 void show( STU tt) 第2处 printf(“%5.1f”,tt.score[i]);

第2处 show(std) 2.程序修改

给定程序MODI1中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 int fun(int *a,int n) { int i,m,t,k; for(i=0;i<2;i++){ /*****found******/ m=i;

/*****found******/ if(a[k]>a[m])m=k;

} }

3.程序设计

请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。

例如:w值为5923,则函数返回923;w值为923则函数返回23。 unsigned fun( unsigned w ) {

if(w>=10000) return 第八套

程序填空

给定程序通过定义并赋值的方式,利用结构体变量存储了一名学生学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系统a。

第1处 void modify(STU *ss,float a )

第2处 ss->score[i]*=a; 第3处 modify(&std,a); 2.程序修改

给定程序MODI1.C中函数fun的功能是:求k!<13>,所求阶乘的值作为函数值返回。例如:若k=10,则应输出:3628800。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值