C语言程序改错2
c语言改错题及答案
c语言改错题及答案
【篇一: c 语言二级上机(t 填空 ,改错 ,编程 )题库及答案】
100套题目(每套题
目包含 3 道题:一道程序填空题、一道程序修改题、一道程序设计
题),真实考试的时候,
考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时
只需考一套题目(包含三道题)
二级 c 语言上机试题汇编
※※※※※※※※※※※※※※※※※※※※※※※
第01套:
给定程序中,函数 fun 的功能是:将形参 n 所指变量中,各位上为偶数
的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通
过形参指针 n 传回
所指变量。
例如,输入一个数:27638496 ,新的数:为739 。
请在程序的下划线处填入正确的内容并把下划线删除 , 使程序得出正确
的结果。
注意:源程序存放在考生文件夹下的blank1.c中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include stdio.h
void fun(unsigned long *n)
{ unsigned long x=0, i; int t;
i=1;
while(*n)
/**********found**********/
{ t=*n % __1__;
/**********found**********/
if(t%2!= __2__)
{ x=x+t*i; i=i*10; }
*n =*n /10;
}
/**********found**********/
*n=__3__;
}
main()
{ unsigned long n=-1;
while(n99999999||n0)
C语言程序改错题及答案
printf("\nThe sorted numbers: \n"); /*输出排序结果*/
for (i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
}
6、
#include <stdio.h>
void main()
{
char s1[80],s2[40];
int i=0,j=0;
}
printf("%f,%f\n",max,min);
}
10、.在考生目录下,有Modify.c程序,该程序中"/***** N *****/"的下
一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。
#include <stdio.h>
#iΒιβλιοθήκη Baiduclude <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{ int n,i;
/***** 1 *****/
char str;// char*str
程序改错完整版---C语言
(一)功能:用选择法对数组中的n个元素按从小到大的顺序进行排序。#include "stdio.h"
#define N 20
void fun(int a[], int n)
{
int i, j, t, k;
for (j = 0 ;j < n-1 ;j++)
{
/**********ERROR**********/
k = j
for (i = j+1;i < n; i++)
/**********ERROR**********/
if(a[i] >a[k])
/**********ERROR**********/
k=j;
t = a[k] ;
a[k] = a[j] ;
a[j] = t;
}
}
main()
{
int a[N]={9,6,8,3,-1},i, m = 5;
printf("排序前的数据:") ;
for(i = 0;i < m;i++)
printf("%d ",a[i]);
printf("\n");
fun(a,m);
printf("排序后的数据:") ;
for(i = 0;i < m;i++)
printf("%d ",a[i]);
printf("\n");
}
【参考答案】
k = j;
【参考答案】
if(a[i] < a[k])
if(a[k] > a[i])
【参考答案】
k = i;
(二)功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,……
项值通过函数值返回 main ( )函数。
例如:若 n = 15,则应输出:The value is: 2209。
c语言计算机二级填空改错编程题库105套..
第一套
1. 程序填空程序通过定义学生结构体
数组,存储了若干个学生的学号、
姓名和三门课的成绩。函数fun的
功能是将存放学生数据的结构体数
组,按照姓名的字典序(从小到大排
序)。
第一处struct student t;
第二处for(i=0;i<n-1;i++)
第三处if(strcmp(a[i]. name,a[j]. name)
>0)
2 程序修改
/**fou nd**/
q=p+i;
/**fou nd**/
while(q>p)
3程序设计
int fun(STREC *a,STREC *b,int
l,i nt h)
{int i,j=0;
for(i=0;i<N;i++)
if((a[i].s>=1 &&a[i].s<=h) b[j++]=a[i]; return j;
}
第二套
1. 程序填空
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);
第二处q=p->next; 第三处q=q_>next;
2. 程序修改
/**fou nd**/
p=j;
/**fou nd**/
p=i;
3. 程序设计
void fun (i nt m,i nt *a,i nt *n)
{
int i;
*n=0;
for(i=7;i<=m;i++)
if((i%7==0)||(i%11==0)) a[(* n)++]=i;
}
第三套
1. 程序填空
函数fun的功能是:逆置数组元素是的值。例如:若a所指数组中的
大学C语言期末考试练习题程序改错(带详解答案)
2.求一个数组中最大值及其下标。 main( ) { int max,j,m; int a[5]; for(j=1;j<=5;j++) // j=1 为循环变量 j 赋初值为 1,同时用 j 作为数字元素的逻
第三处改为:if(n%3==0)
第四处改为:sum=sum+n;
8. 求表达式 c ab 的值
#include <stdio.h>
Baidu Nhomakorabea
#include <math.h>
int fun(int x, int y);
main()
{ int a,b; float f; scanf(“%d,%d”,a,b); //与改错第 1 题中的 scanf 错误相同 if(ab>0){ // C 语言中乘号不能省略,且用*表示乘法运算 fun(a,b); // 调用带有返回值的函数,应将函数的返回值保存在变量里
printf(“\n Input x:\n”); scanf(“%d”, x); // 错误同上题 scanf if(x<0)
C实验报告答案
C程序设计初步
一、实验目的
(1) 熟悉C语言程序的运行环境(VC++ 。
(2) 掌握C语言程序的上机步骤,了解运行C程序的方法。
(3) 掌握C语言程序的书写格式和C语言程序的结构。
二、实验内容(均要求给出运行结果)
1.程序改错题
(1) 以下程序实现计算x×y的值并将结果输出。请改正程序中的错误。
#include ""
void main()
/**********FOUND**********/
{ int x=y=4;
z=x*y;
/**********FOUND**********/
printf("z=%d/n", Z);
}
答案:
=======(答案1)=======
int x=,4,y=4,z;
=======(答案2)=======
printf("z=%d\n", z);
(2) 以下程序实现输入圆的半径,求圆的周长。请改正程序中的错误。
#include ""
void main()
{ int r;
float l;
printf("Enter r:");
scanf("%d", &r);
/**********FOUND**********/
l=2πr
/**********FOUND**********/
printf("l=%d\n",l);
}
答案:
=======(答案1)=======
l=2**r;
=======(答案2)=======
printf("l=%f\n", l);
2.程序填空题
(1) 下面程序能对两个整型变量的值进行交换,请填空。
#include ""
void main()
{ int a=3,b=4,t;
计算机二级c语言题型
计算机二级c语言题型
计算机二级C语言考试通常包含以下几种题型:
1. 填空题,在给定的代码中,要求填写合适的代码来完成特定的功能或达到特定的要求。
2. 编程题,给出一个具体的问题或要求,要求考生编写完整的C语言程序来解决问题。这类题目通常要求考生熟练掌握C语言的语法和常用函数库的使用。
3. 程序阅读题,给出一段已经编写好的C语言程序,要求考生理解程序的功能和运行逻辑,并回答相关的问题。
4. 程序改错题,给出一段有错误的C语言程序,要求考生找出错误并进行修正,使程序能够正确运行。
5. 程序填空题,给出一段部分代码,要求考生根据要求填写缺失的代码,使得程序能够正确运行。
6. 程序设计题,给出一个具体的问题或要求,要求考生设计并
实现一个C语言程序来解决问题。这类题目通常需要考生综合运用C语言的各种知识和技巧。
在考试中,以上不同类型的题目可能会结合起来,形成一套完整的试题,以考察考生对C语言的全面理解和应用能力。考生需要熟悉C语言的基本语法、常用函数库的使用、程序的调试和错误处理等方面的知识,才能在考试中取得好成绩。
C语言程序改错2
1、以下程序的功能是求如下表达式: 1 1
1
S = 1 + —— + ——— + ...... + ——————— 1+2 1+2+3 1+2+3+......+n 『答案』 :1 scanf("%d",&n); 2 float fun(int n) 3 for(i=1;i<=n;i++) 4 s+=1.0/t 或 s= s + 1.0 /t; 2、题目:函数 fun 的功能是:根据整型形参 m 的值,计算如下公式的值。 1 1 1 t = 1- —— - —— - ... - —— 2x2 3x3 mxm 例如,若 m=5,则应输出:0.536389 『答案』 :1 for(i=2;i<=m;i++)或 for(i=2;i<m+1;i++) 2 y-=1.0/(i*i); 或 y=y-1.0/(i*i); 3 return y; 或 return (y); 3、函数 fun 的功能是:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于 0.0001。 π 1 1 1 — = 1 - — + — - — + ... 4 3 5 7 『答案』 :1 #include "math.h" 或 #include <math.h> 2 float s=0,t=1,p=1; 3 while(fabs(t)>1e-4)或 while(fabs(t)>0.0001) 4 printf("pi=%f\n", s * 4 ); 4、功能:计算正整数 num 的各位上的数字之积。例如,输入 252,则输出应该是 20。 『答案』 :1 long k=1; 或 long int k=1; 2 num/=10; 或 num=num/10; 3 scanf("%ld",&n); 4 printf("\n%ld\n",fun(n)); 5、功能: (与上题略有不同)计算正整数 num 的各位数字之积。例如,若输入:252,则输 出应该是:20。若输入:202,则输出应该是:0。 『答案』 :1 {long k=1; 2 num/=10; 或 num=num/10; 3 } while(num) ; 或 }while(num!=0); 或 }while(num>0); 6、题目:判断 m 是否为素数,若是返回 1,否则返回 0。 『答案』 :1 int fun( int m) 或 fun( int m) 2 for(i=2;i<m;i++) 3 if( m%i == 0 ) k=0; 4 return(k); 或 return k; 7、功能:找出大于 m 的最小素数,并将其作为函数值返回。 『答案』 :1 for(k=2;k<i;k++) 或 for(k=2;k<=i-1;k++) 或 for(k=2;k<=sqrt(i);k++) 2 if( i%k == 0 ) break; 或 if(!(i%k)) break; 3 if(i<=k)或 if( k == i ) 或 if(k>sqrt(i)) 4 return i; 或 return (i);
C语言程序改错答案
C语⾔程序改错答案
题⽬:下题是⼀段有关结构体变量传递的程序.
答案:
1). a.c='a';
2). printf("%d,%c",a.x,a.c);
3). b.c='y';
题⽬:下列程序中,函数fun的功能是:先将在字符
串s中的字符按正序存放到t串中,然后把s中
的字符按逆序连接到t串的后⾯。
例如:当s中的字符串为:“ABCDE”时,
则t中的字符串应为:“ABCDEEDCBA”。
答案:
1). for(i=0;i2). t[sl+i]=s[sl-i-1];
3). t[sl+i]='\0';
题⽬:编写函数fun其功能是在键盘上输⼊⼀个3⾏3列矩阵
的各个元素的值(值为整数),然后输出矩阵第⼀⾏
与第三⾏元素之积,并在fun()函数中输出。
答案:
1). sum=1;
2). for(i=0;i<3;i+=2) 或 for(i=0;i<3;i=i+2) 或 for(i=0;i<3;i++,i++)
3). sum=sum*a[i][j]; 或 sum*=a[i][j];
题⽬:函数fun的功能是:⽤下⾯的和式求圆周率的近似值。直
到最后⼀项的绝对值⼩于等于0.0001。
π 1 1 1
— = 1 - — + — - — + ...
2 3 5 7
请改正程序中的错误,使它能得出正确的结果。
答案:
1). #include "math.h"
2). float s=0,t=1,p=1; 或 float s=0,p=1,t=1; 或 float p=1,s=0,t=1; 或 float p=1,t=1,s=0; 或 float t=1,p=1,s=0; 或 float t=1,s=0,p=1;
C语言试题及答案解析(二)
C语言试题及答案解析(二)
班级姓名学号____________
一、选择题(20分)
1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________
A.if、while和for; B. switch、do-while和for;
C.while、do-while和for;
D.顺序结构、分支结构和循环结构。
2.算法的特征不包括:______。
A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。
3.C语言源程序的基本组成单位是______。
A.函数 B. 语句 C. 声明和语句 D. 文件
4.下列标识符中,只有______是合法的。
A.if B. 3ab C. Int D. A-4
5.下列常量中,只有______是合法的。
A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’
6.下列说法中正确的是:______。
A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。
B.宏替换比函数调用的执行速度慢。
C.实质上,C语言中的指针就是一个变量的地址。
D.C语言中的任何函数都可以由程序员命名。
7.C语言中,运算对象必须是整型的运算符是_______。
A./ B. % C. + D. -
8.以下叙述中错误的是_______。
A.C语句必须以分号结束
B.复合语句在语法上被看作一条语句
C.空语句出现在任何位置都不会影响程序运行
D.赋值表达式末尾加分号就构成赋值语句
9.以下叙述中正确的是_______。
A.调用printf函数时,必须要有输出项
C语言习题级答案
测试题 3
1.C语言中不合法的字符常量是C
A、’\65 ’
B、’\xff’
C、’\028 ’
D、’&’
2.具有相同类型的指针变量 p与数组 a,不能进行的操作是( C)。
A、 p=&a[0];
B、 p=a;
C、 p=&a;
D、 *p=a[0];
3.若有 x=22,y=26,z=0; ,则执行下面语句后 ,z 的输出结果是 (B ) z=x>y?x:y
A、 72
B、 26
C、 48
D、 22
4. 对于建立函数的目的,正确的说法是D
A、提高程序的执行效率
B、减少程序的篇幅
C、减少程序文件所占的内存
D、提高程序的可读性
5.有定义 :char*p1,*p2; 则下列表达式中正确合理的是 C
A、 p1/=5
B、 p1+=5
C、 p1=&p2
D、 p1*=p2
6.以下程序的运行结果是( B)。
main()
{
int i=1,sum=0;
while(i<10) sum=sum+1;i++;
printf("i=%d,sum=%d",i,sum);
}
A、 i=10,sum=9
B、运行出现错误
C、 i=2,sum=1
7. 若变量已正确定义且k的值是4,计算表达式( j =4, k--)后,j和k的值为(C)
A、 j=4, k=4
B、 j=3, k=3
C、 j=4, k=3
D、 j=3, k=4
8.给出以下定义 :
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的叙述为(A)
A、数组 x的长度大于数组y 的长度
B、数组 x和数组 y等价
计算机二级等级考试C语言改错题讲解
1.调试C程序时常见的错误类型分析
一般情况下,错误主要分为两大类:一、语法错误。对于这种错误,用编译器很容易解决。所以,改错题的第一步是先编译,
解决这类语法错误。下面总结了二级C 语言上机改错题中常见的语法错误:
(1)丢失分号,或分号误写成逗号。
(2)关键字拼写错误,如本来小写变成大写。
(3)语句格式错误,例如for语句中多写或者少写分号。
(4)表达式声明错误,例如:少了()
(5)函数类型说明错误。与main()函数中不一致。
(6)函数形参类型声明错误。例如:少*等。
(7)运算符书写错误,例如:/写成了\。
二、逻辑错误,或者叫语义错误,这和实现程序功能紧密相关,一般不能用编译器发现。
对于逻辑错误可以按这样的步骤进行查找。
(1)先读试题,看清题目的功能要求。
(2)通读程序,看懂程序中算法的实现方法。
(3)细看程序,发现常见错误点。
2.改错题的改错方式总结,当然这些总结只能对大部分改错行有效。
1、若错误行是函数首部,可分为以下几种情况:
A、该行最后若有分号则删除,中间若有分号则改成逗号
B、形参类型不一致的问题,特别是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同
C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return语句则函数的类型必须与return 后变量的类型一致。
2、若错误行是if或while语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。
2013计算机等级考试二级C语言程序改错题
1、下列给定程序中,函数fun的功能是:将s所指字符串的郑旭和反序进行连接,形成的新串放在t所指的数组中
2、函数fun的功能是:用下面的公式求π的近似值,知道最后一项的绝对值小于指定的数为止。
3、函数fun的功能是:传入一个整数m,计算如下公式的值。T=1/2-1/m。
4、函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
5、从参数1-55,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的属猪中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。
6、求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未能找到,则函数值为null。
7、按以下递归公式求函数的值fun(n)={10 (n=1)。
8、函数fun和funx的功能是:用二分法求方程2x-4x+3x-6=0的一个根,并要求绝对误差不超过0.001。
9、首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的升序字符接在c所指的数组的尾部。
10、计算整数n的阶乘。
11、计算函数F(x,y,z)=(x+y)的值。其中x和y的值不相等,z和y的值不相等。
12、利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。
13、求三个数的最小公倍数。
14、将s所指字符串中最后一次出现的鱼t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。
C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改
实验一Visual C++集成环境实验内容
(一)程序改错
1.
(1)无法运行
(2)将第二个C程序重新存放到另一个工程文件中
(3)同一个工程文件只能有一个main函数
2.
(1)/*一个简单的程序*/
(2)void main()
(3)}
3.
(1)int a,b,c;
(2)a=2;
(3)c=a*b;
(二)完善程序
1.
(1)year
(2)month
(3)day
2.
(1)c
(2)a*a+b*b
(3)c
3.
(1)4
(2)4*a
(3)s
课后练习
1.D
2.D
3.A
4.C
5.C
6.C
7.stdio.h
8.main函数
实验二数据类型、运算符和表达式课前练习
1. 20 8 70 0
2. Abs3 Class _else sum my_class 、
3block a+b for fun(4) a-b
3.B
4.D
5.A
6.C
7.D
8.B
实验内容
(一)程序改错
1.
(1)int x1,x2,x3,x4;
(2)scanf("%d,%d",&a,&b);
(3)c=x4*1000+x2*100+x3*10+x1;
2.
程序1:
① 2 2
②error C2065: 'a1' : undeclared identifier
变量a1没有定义
sum=a+b+c
③ 1
error C2146: syntax error : missing ';' before identifier 'printf' printf语句之前缺少分号
sum=a+b+c;
④0 error(s), 0 warning(s)
⑤a=1 b=3 c=2 sum=6
2016年安徽省计算机二级考试C语言(模拟试卷一)
A. 1,2,3 B. 2,1,2 C. 1,2,1 D. 2,1,1 参考答案:C
22: for(表达式1 ; ;表达式3)可理解为______。
A. x=y==5; B. x=y%2.8; C. x=y=5; D. x+=x+2; 参考答案:B
17: 设有定义int a; char c;,执行输入语句scanf("%d%c",&a,&c);时,若要求a和c得到的值为10和'Y',正 确的输入方式是_______。
A. 10,Y B. 10.Y C. 10Y D. 10 Y 参考答案:C
程序改错题1
题目: 输出个位数为7的最小的10个素数,如7,17,37,47 ......等。 参考答案: $1$:while(n<10) $2$:if(i%j==0) $3$:if(flag==0)
程序改错题2
题目: 删除字符串中的所有空格字符。 参考答案: $1$:j++; $2$:s[j]='\0'; $3$:printf("%s\n", s);
C语言二级改错题总结
二级C语言上机考试改错题总结
一、上机改错题的特点和注意事项
1.上机改错的试题中通常包含两个(或三个)错误需要修改。
2.试题中用"******found******/"来提示在下一行(或下面第二行)有错。
3.错误的性质基本分语法错和逻辑错两种,也有些试题要求把语句添加在下划线处。
4.特别要注意的是:只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程序。
二、上机改错测试时,建议按以下步骤进行
1.首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改错后程序运行的结果是否正确。
2.调出源程序后,审视"/******found******/"所在函数,根据题义理解程序所采用的基本算法,做到心里有数。
3.先对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考编译提示来查找并改正错误。
4.当不再出现语法错时,执行程序,按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。
5.当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检查数据的流程,以便确定错误所在。例如,题目要求数据按由小到大排序,而结果数据是按由大到小进行了排序,问题可能出现在条件判断上。又如,输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。再如做循环的时候数组上限下限错误了,基数是从0开始而不是1开始的。修改程序中的逻辑错时,要求考生认真读懂程序代码。
6.修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、以下程序的功能是求如下表达式:
1 1 1
S = 1 + ——+ ———+ ...... + ———————
1+2 1+2+3 1+2+3+......+n
『答案』:1 scanf("%d",&n);
2 float fun(int n)
3 for(i=1;i<=n;i++)
4 s+=1.0/t 或s= s + 1.0 /t;
2、题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。
1 1 1
t = 1- ——- ——- ... - ——
2x2 3x3 mxm 例如,若m=5,则应输出:0.536389 『答案』:1 for(i=2;i<=m;i++)或for(i=2;i 2 y-=1.0/(i*i); 或y=y-1.0/(i*i); 3 return y; 或return (y); 3、函数fun的功能是:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 π 1 1 1 —= 1 - —+ —- —+ ... 4 3 5 7 『答案』:1 #include "math.h" 或#include 2 float s=0,t=1,p=1; 3 while(fabs(t)>1e-4)或while(fabs(t)>0.0001) 4 printf("pi=%f\n", s * 4 ); 4、功能:计算正整数num的各位上的数字之积。例如,输入252,则输出应该是20。『答案』:1 long k=1; 或long int k=1; 2 num/=10; 或num=num/10; 3 scanf("%ld",&n); 4 printf("\n%ld\n",fun(n)); 5、功能:(与上题略有不同)计算正整数num的各位数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 『答案』:1 {long k=1; 2 num/=10; 或num=num/10; 3 } while(num) ; 或}while(num!=0); 或}while(num>0); 6、题目:判断m是否为素数,若是返回1,否则返回0。 『答案』:1 int fun( int m) 或fun( int m) 2 for(i=2;i 3 if( m%i == 0 ) k=0; 4 return(k); 或return k; 7、功能:找出大于m的最小素数,并将其作为函数值返回。 『答案』:1 for(k=2;k 2 if( i%k == 0 ) break; 或if(!(i%k)) break; 3 if(i<=k)或if( k == i ) 或if(k>sqrt(i)) 4 return i; 或return (i); 8、功能:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。 『答案』:1 while ( (k>=2) && (mc<10) )或while ( (k>=2) && (mc<=9) ) 2 if(!(k%17!=0 && k%13!=0 )) 或if( ( k%1 3 == 0 ) || ( k%17 == 0 ) ) 3 k--; 或k=k-1; 或k-=1; 或--k; 4 return m; 或return(m); 9、在一个一维整型数组中找出其中最大的数及其下标。程序中共有4条错误语句,请改正错误。 『答案』:1 int fun(int *a,int *b,int n) 2 *b=c-a;} 3 scanf("%d",&a[i]); 或scanf("%d", a + i ); 4 max=fun(a,&p,N); 10、通过键盘输入10个整数为一维数组各个元素赋值;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出调整后的数组元素。 『答案』:1 scanf("%d",p++); 或scanf("%d",&arr[i]); 或scanf("%d",p+i); 2 if(*p>*max) 或if(*max<*p) 3 if( max == arr ) 4 for(i=0;i 11、用起泡法对10个整数从小到大排序。 『答案』:1 for(j=0;j< n -1 -i ;j++) 2 if(x[j]>x[ j + 1 ]) 或if(x[ j + 1] 3 scanf("%d",&a[i]); 或scanf("%d",a+i); 4 sort(a,n); 或sort(&a[0],n); 12、在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。 『答案』:1 scanf("%d",&number); 2 for(i=N-2;i>=0;i--) 或for(i=N-2;0<=i;i--) 3 a[ i + 1 ]=a[i]; 4 break;} 13、将一个字符串中第m个字符开始的全部字符复制成为另一个字符串。 『答案』:1 { char *p1,*p2; 或{ char *p2,*p1; 2 p1= str1 + m -1; 或p1=-1+ str1 + m ; 3 while(*p1) 或while(*p1!='\0') 4 strcopy(str1,str2,m); 14、将一个字符串中的大写字母转换成小写字母。例如:输入aSdFG输出为asdfg。 『答案』:1 char fun(char *c) 2 return *c; 或return (*c); 或return(*c); 3 { char s[81],*p=s; 4 putchar(*p); 或printf("%c",*p); 15、题目:将若干学生的档案存放在一个文件中,并显示其内容。 『答案』:1 { struct student *p; 2 FILE *fp; 3 for(p=stu;p< stu + 3 ;p++) 或for(p=stu; stu + 3 >p;p++) 4 printf("%4d %-10s %4d\n",(*p).num ,p->name,(*p).age); 16、题目:下列给定程序中,函数fun的功能是:求1到10的阶乘的和。