三、读程序题
1、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
则程序的输出结果是3.141593,3.1416,3.142 .
2、int x=6,y=7;
printf(“%d,”,x++);
printf(“%d\n”,++y);
程序的输出结果是6,8
3、a=3;
a+=(a<1)?a:1;
printf(“%d”,a);
结果是. 4
4、for (a=1,b=1;a<=100;a++)
{ if(b>=20)break;
if(b%3==1)
{b+=3;continue;}
b-=5;}
程序的输出结果a的值为22 .
5、int y=1,x,*p,a[ ]={2,4,6,8,10};
p=&a[1];
for(x=0;x<3;x++)
y + = * (p + x);
printf(“%d\n”,y);
程序的输出结果y的值是19 .
四、程序填空题
1、从键盘上输入10个数,求其平均值。
main()
{int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{ scanf(“%f”,&f);
Sum+=f ;}
printf(“average=%f\n”,sum/10);}
2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include
main()
{ FILE *fp;
char c;
fp= ;
do{
c=getchar();
fputs(c,fp);
}while(c!=EOF)
;
3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
main()
{ float x,amax,amin;
scanf(“%f”,&x);
amax=x;amin=x;
while(x>=0.0 )
{ if(x>amax)amax=x;
if(x<=amin )amin=x;
scanf(“%f”,&x);}
printf(“\namax=%f\namin=%f\n”,amax,amin);}
三、阅读程序题
(1) 3.141593,3.1416,3.142
(2)6,8
(3) 4
(4)22
(5)19
四、程序填空题
1、scanf(“%f”,&f);sum+=f;
2、fopen(“myfile”,w)fclose(fp);
3、x>=0.0 x<=amin
三、阅读程序题
1、int x=6,y=7;
printf(“%d,”,x++);printf(“%d\n”,++y);
程序的输出结果是______.
2、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
则程序的输出结果是______.
3、a=3;
a+=(a<1)a:1;printf(“%d”,a);
结果是______.
4、main()
{ int a[5]={2,4,6,8,10},*P,* *k;
p=a;k=&p;
printf(“%d,”,*(p++));
printf(“%d\n”,* *k);
程序的输出结果是______.
5、main()
{int a,b;
for (a=1,b=1;a<=100;a++)
{ if(b>=20)break;
if(b%3==1)
{b+=3;continue;}
b-=5;} }
程序的输出结果a的值为______.
四、程序填空题
1、求主次对角线之和。
main()
{static int a[ ][3]={9,7,5,1,2,4,6,8};
int I,j,s1=0,s2=0;
for(I=0;I<3;I++)
for(j=0;j<3;j++)
{if()
s1=s1+a[I][j];
if()
s2=s2+a[I][j];
}
printf(“%d\n%d\n”,s1,s2);
}
2、从键盘上输入10个数,求其平均值。
main()
{int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{ scanf(“%f”,&f) ;
Sum+=f ;
}
printf(“average=%f\n”,sum/10);
}
3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include
main()
{
FILE *fp;
char c;
fp= ;
do
{
c=getchar();
fputs(c,fp);
}while(c!=EOF);
;
;
}
三、阅读程序题
(1)6,8
(2) 3.141593,3.1416,3.142
(3) 4
(4)2,4
(5)8
四、程序填空题
1、I==j I+j==2
2、scanf(“%f”,&f);sum+=f;
3、fopen(“myfile”,w)fclose(fp);
四、读出程序
1. 改正下列程序中不正确的语句。
main()
{ int a=8 ,b=1;
a=a+b;
b=a*b;
printf(“%d,%d”,a,b);}
2.写出下列程序的运行结果。
fun(int a,int b)
{ if(a>b)return (a);
Else return (b);}
main()
{ int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf(“%d\n”,r);}
3. 改正下列程序中不正确的语句。
main()
{ int n ;
float s=1.0;
for(n=10;n>1;n- -)
s=s+1.0/n;
printf(“%6.1f\n”,s);}
4. 写出下列程序的运行结果。
main()
{ int n;
For(n=3;n<=10;n++)
{ if(n%5= =0)break;
Printf(“%d”,n);} }
5.写出下列程序的运行结果。
#include “stdio.h”
main()
{ int a[]={1,2,3,-4,5};
int m,n,*p;
p=&a[0];p=&a[0];
m=*(p+2);
n=*(p+4);
printf(“%d %d %d ”,*p,m,n);}
四、读出程序
1 printf(“%d,%d”,&a,&b);
2 12
3 s=s+1.0/n
4. 3 4
5 1 3 5
四、读程序。
1. 改正下列程序中不正确的语句。
main()
{ int a;
scanf(“%d”,a);if (a = 1)printf(“One\n”);} 2.写出下列程序的运行结果。
fun(int a,int b)
{ if(a>b)return (a);
Else return (b);}
main()
{ int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);printf(“%d\n”,r);}
3. 改正下列程序中不正确的语句。
main()
{ int n ;
float s=1.0;
for(n=10;n>1;n- -)
s=s+1/n;
printf(“%6.1f\n”,s);}
4. 写出下列程序的运行结果。
main()
{ int n;
For(n=3;n<=10;n++)
{ if(n%6= =0)break;Printf(“%d”,n);} }
5.写出下列程序的运行结果。
#include “stdio.h”
Main()
{ int a[]={1,2,3,-4,5};
int m,n,*p;p=&a[0];m=*(p+1);n=*(p+4);
printf(“%d %d %d ”,*p,m,n);}
四、读出程序
1 printf(“%d,”,&a);if (a==1)
2 12
3 s=s+1.0/n
4. 3 4 5
5 1 2 5
三、读出下列程序,写出程序的运行结果
1. main()
{ int a=8 ,b=1;
a=a+b;
b=a*b;
printf(“a=%d,b=%d”,a,b);}
该程序的运行结果是___________________________________.
2. main()
{ int i,num[5];
for(i=0;i<5;i++)
num[i]=i*10 - 2;
printf(“%d”,num[3]);}
该程序的运行结果是___________________________________.
3. main()
{ float c,f;
c=30.0;
f=(6*c)/5+32;
printf(“f=%f”,f);}
该程序的运行结果是___________________________________.
4. main()
{ int a=6095 ,b ;
b=a%1000 ;
printf(“%d”,b);}
该程序的运行结果是___________________________________.
5. # include “stdio.h”
main()
{ int a[]={8,2,9,4,1},*p;
p=a;
*(p+2)+=2;
printf(“%d,%d ”,*p,*(p+2));}
该程序的运行结果是___________________________________.
四、将下列程序中不正确的语句改正
1. main()
{ int k ;
k=35555 ;
printf (“%d ”,k);}
2. main ()
{ int a ,b ;
scanf (“input a ,b:”,a ,b );
printf (“a=%d,b=%d”,a,b);}
3. main()
{ int sum ,k ;
sum=0 ;
k= 1 ;
while (k < =100 )
sum = sum+k ;
k + + ;
printf (“ sum=%d\n”,sum);}
4. main()
{ int k ,a(8 );
for(k=0;k<10 ;k++)
scanf(“%d”,&a(k));
……}
5. main()
scanf(“%d”,a);
if (a = 1)
printf(“One\n”);}
三、读出下列程序,写出程序的运行结果
1.a=9,b=9
2. 28
3. f=68
4. 95
5. 8,11
四、将下列程序中不正确的语句改正
1.long int k ;printf (“%ld ”,k);}
2.scanf (“%d,%d”,a , b );
3.while (k < =100 )
{sum = sum+k ;
k + + ;}
4.int k,a[8] ;
scanf(“%d”,&a[k]);
5.if (a = = 1)
二、写出下列程序的运行结果
1. main ()
{ int x=10,y=10;
printf(“%d %d\n”,x——,——y);}
该程序的运行结果是_______________.
2.main()
{ int j ,k ,p,s;
s=0 ;
for (j=1;j<=3;j++)
{ p=1;
for(k=1;k<=j;k++)
p=p*k;
s=s+p;
}
printf(“s=%d\n”,s);}
该程序的运行结果是__________________.
3. # include “stdio.h”
main()
{ int a[]={1,2,3,4,5},*p;
p=a;
*(p+2)+=2;
printf(“%d,%d ”,*p,*(p+2));}
该程序的运行结果是___________________________________.
4.main()
{ int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)
y + =*(p+x);
printf(“%d\n”,y);}
该程序的运行结果是________________.
5.main()
{ int a[5],k;
for(k=0;k<5;k++)
a[k]=10*k ;
printf(“%d”,a[k-1]);}
该程序的运行结果是_________________.
二、写出下列程序的运行结果
1.10 9
2.S=9
3. 1,5
4.19
5.40
四、程序填空题
1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整。
main()
{ int i ,j ,k;
for(i=1;_____________;i++)
{bsp;{
for(__________;j<=i ;j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
}
2.设计一个自定义函数,实现如下功能:求两个数的平方和,并且返回该和。
自定义函数如下:
int max(x,y)
{
}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:包括(姓名,性别,年龄,分数:根据合适情况选择各项类型)
struct student
{
}
4. 根据给出的程序段,请写出正确的结果
x=1 ;p=1 ,sum=0 ;
for (x=1 ;x<=5 ;x++)
{ p=p*x;
sum=sum+p ;}
上面的程序段实现的功能是计算下面的式子_______________________________ ;
其运行结果为
_________________________________________________________.
五、阅读程序,写出下列程序段的结果
1. int *p,i;
i=100;
p=&i;
i=*p+10;执行完上面的语句段后,i的值是______
2. int A,B,C,m=1,n=0;
A=(——m=n++)?- -m:++n;
B=++m;
C=n——;
执行完上面的语句段后,A的值为B的值为C的值为
3. main()
{ int c1=10,c2=10;
printf(“c1=%d,c2=%d \n c1=%d”,++c1,c2++,c1——);
}
该程序的运行结果是_______________________________________________.
4.main()
{ int i;
for(i=3;i<10;i++)
{ if(i%4==0)
continue;
else
printf(“%d,”,i);
} }
该程序输出的结果是_______________________________________
5. main()
{ int x;
x=3;
do
{ printf(“%d”,x——);
}while(!x);}
该程序运行的结果是
___________________________________________________________
四、程序填空题
1.i<=9 j=1 i ,j ,i*j “\n”
2 2 2.int max(x,y)
int x,y;sp;int x,y;
{ int z;
z=x*x+y*y;
return(z);}
3. struct student
{ char xm [10];
char sex;
int age;
float score;}
4. 1!+2!+3!+4!+5!1+2+6+24+120=153
五、阅读程序,写出下列程序段的结果
1.110
2.–1 0 1
3.c1=10 ,c2=10 ,c1=10
4.3,5,6,7,9
5.3
四、程序填空题
1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。
main()
{ int i ,j ,k;
for(i=1;_____________;i++)
{ for(j=1;______________;j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
}
2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:
int max(x,y)
int x ,y ;
{
}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud1[30]
struct student
{
}
4. 根据给出的程序段,请写出正确的结果
x=1 ;sum=1 ;
for (x=1 ;x<=5 ;x++)
sum=sum*x;
上面的程序段实现的功能是:
______________________________________________________ ;
其运行结果为
______________________________________________________________________.
5.设有如下的语句。
int a=43,b,c;
b=23;
c=a++ * ——b;
(1)上面的语句段执行后a= b= c= ;
(2)简述a++和++a的相同点和不同点:
6.设有如下的程序:
main()
{ int i=3,*p1;
int a[3]={15,30,45},*p2;
p1=&i;p2=a;
p1=p2+2;
printf(“%d,%d\n”,*p1,*p2);
}
程序运行结果是:
四、程序填空题
1. i<=9 j<=9
printf(“%d*%d=%d”,i,j,i*j);
printf(“\n”);i ,j ,k;
2. int z;
if (x>=y)z=x;
else z=y;
return z;
3. char name[20];
char sex;
int age;
float score;
4. 实现功能:计算连续数之积,即sum=1*2*3*4*5 ;
运行结果:sum=120
5. 44 22 946
a++:先加1,后使用表达式的值;++a表示先加1,后使用表达式的值,它们最后的结果使a加1.
6.45,15
三、程序填空与算法题
1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。
#include
main()
{ int a,b,c,i;
a=c=0;
for(i=1;i<=10;i++)
{ scanf(“%d”,&b);canf(“%d”,&b);
}
printf(“偶数的和=%d\n”,a);
printf(“奇数的和=%d\n”,c);}
2.编写一个自定义函数,实现求两个实数的平方和
3. 以下程序运行后的输出结果是 .
main()
{ char s[ ]=“GFEDCBA”;
int p=6;
while(s[p]!=‘D’)
{ printf(“%c ”,p);
p=p-1;} }
4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。
5.以下程序输出的结果是 .
int ff(int n)
{ static int f=l;
f=f*n;
return f;}
main()
{ int i;
for(i=1;i<=5;i++)printf(“%d\n”,ff(i));}
6. 设有以下程序:
main()
{ int n1,n2;
scanf(“%d”,&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf(“%d ”,n1);} }
程序运行后,如果从键盘上输入1298;则输出结果为
7.下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。
#Include<stdio.h>
main()
{ int i,j;
for(i=1;____________;i++)
if (________________)
printf(“%d”,j);}
8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素
C.
所需要的语句为:(如果用到指针,在图中标出指针的位置)
A
B
Head
D
Z
∧
……
三、程序填空与阅读程序题(参考答案)
1. if (b%2==0)a=a+b else c=c+b
2. float sum(float x,float y)
{ return x*x+y*y;}
3. A B C
4. struct student{
char name[10];
char sex;
int age;
float score;}
5. 1 2 6 24 120
6.8 9 2 1
7.i<100 if(i%3==0 && i%10==6)
8.P->NEXT=Q->NEXT;P->NEXT=NEW;
三、读程序(30分)
1. main()
{ int a=10,b=4,c=3;
if (a
if (a printf(“%d,%d,%d”,a,b,c);} 2. main() {int y=9; for (;y>0;y——) if (y%3= = 0){printf (“%d”,——y);continue;} 3. main() { int x,y; for (y=1,x=1;y<=50;y++) { if (x>=10)break; if (x%2= =1){ x+=5;continue;} x-=3;} printf (“%d”,y);} 4. main() { static int a[][3]={9,7,5,3,1,2,4,6,8}; int i,j,s1=0,s2=0;i,j,s1=0,s2=0; for (i=0;i<3;i++) for (j=0;j<3;j++) { if (i= =j )s1=s1+a[i][j]; if (i+j= =2)s2=s2+a[i][j]; } printf (“%d\n%d\n”,s1,s2);} 5. main() {static char a[]={‘*’,‘*’,‘*’,‘*’,‘*’}; int i,j,k; for (i=0;i<5;i++) {printf (“\n”); for (j=0;j for (k=0;k<5;k++)printf (“%c”,a[k]);} } 6. int fac(int n) {static int f=1; f=f*n;return(f);} main() {int i; for (i=1;i<=5;i++) printf (“%d!=%d\n”,i,fac(i));} 三、读程序(30分) 1.结果:10,4,3 2.结果:8 5 2 3.6 4.18 10 5.***** 6.5!=120 三、读程序(30分) 1. main() {int a=2,b=3,c; c=a; if (a>b)c=1; else if (a= =b)c=0; else c=-1; printf (“%d\n”,c);} 运行结果: 2.main() {int a=2,b=7,c=5; switch (a>0) { case 1:swithch (b<0) {case 1:printf(“@”);break; case 2:printf(“!”);break; } case 0:switch (c= =5) { case 0:printf(“*”);break; case 1:printf(“#”),break; default:printf(“#”);break; } default:printf(“&”);运行结果: } printf (“\n”); } 3.#include main() { int i; for (i=1;i<=5;i++) switch (i%5) { case 0:printf(“*”);break; case 1:printf(“#”);break; default:printf(“\n”); case 2:printf (“&”);运行结果: } } 4.main() { int i,b,k=0; for (i=1;i<=5;i++) {b=i%2; while (b——>=0)k++; } 运行结果: printf (“%d,%d”,k,b); } 5.#include main() { char ch[7]={“12ab56”}; int i,s=0; for (i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2) s=s*10+ch[i]-‘0’;运行结果:printf (“%d\n”,s); } 6. main() { int a=2,i; for (i=0;i<3;i++) printf (“%4d”,f(a)); } f(int a) { int b=0;static int c=3; b++;c++; 运行结果: return(a+b+c); } 三、读程序(30分) 1.-1 2.& 3.#& 4.8,-2 5.1 6.7 8 9 二、读程序(结果写在试卷的右边) 1. 写出下列程序段的输出结果: main() {int x=5;int y=10; printf(“%d\n”,x++); printf(“%d\n”,++y);} 2. 下面程序的输出结果是什么? #include “stdio.h” main() { int x=3; switch(x) { case 1: case 2:printf(“x<3\n”); case 3:printf(“x=3\n”); case 4: case 5:printf(“x>3\n”); default:printf(“x unknow\n”);} } 16.执行语句“x=(a=3,b=a——)”后,x,a,b的值依次为________ A. 3,3,2 B. 3,2,2 C.3,2,3 D.2,3,2 17.如果X=5,执行语句X*=X+=X*3后,则X的值为_________ A.100 B. 400 C. 450 D. 900 18.下列常量中哪个是不合法的________ A.2e32.6 B. 0.2e-5 C. “basic” D. 0x4b00 19.下列标识符错误的是_______ A. x1y B._123 C. 2ab D. _ab 20. c语言中int型数-8在内存中的存储形式为_____ A.1111111111111000 B.11000 C.01000 D.1111111111110111 二、读程序(结果写在试卷的右边) 1. 写出下列程序段的输出结果: main() {int x=5;int y=10; printf(“%d\n”,x++); printf(“%d\n”,++y);} 2. 下面程序的输出结果是什么? #include “stdio.h” main() { int x=3; switch(x) { case 1: case 2:printf(“x<3\n”); case 3:printf(“x=3\n”); case 4: case 5:printf(“x>3\n”); default:printf(“x unknow\n”);} } 3.根据源程序,写出相应的数学表达式 #include “stdio.h” main() { int x,y; scanf(“%d”,&x); if (x<0)y= -1; else if (x= = 0) y=0; else y=1; printf(“x=%d,y=%d\n”,x,y);} 4. 读出下列程序的输出结果: main() { int a=1,b=1,c=1; printf(“%d,%d,%d\n”,a,b,c) a+=b+=++c; printf(“%d,%d,%d\n”,a,b,c); printf(“%d,%d,%d\n”,a++,——b,++c); printf(“%d,%d,%d\n”,a,b,c);} 三、程序填空:(根据题意,将空缺的语句补上。) 1.下列程序的功能是计算圆的面积,将程序补充完整。 #define PI = 3.14159 main() { float r,s; printf(“Enter a number r:”); ________ s=PI*r*r _________;} 2.该程序完成的功能是求1+2+3+…+10的累加和,并进行累加和的输出打印。变量sum 是存放累加值的。 #include “stdio.h” main() { ____ i=1,sum=0; for(;i<=10;) { sum+=i; ______ } printf(“%d\n”,sum);} 四、改错 求Fibonacci数列40个数。这个数列有如下特点:第1,2 两个数为1,1.从第3个数开始,该数是其前面两个数之和。即: F1=1 (n=1)F2=1 (n=2)Fn=Fn-1+Fn-2 (n≥3) 程序如下,请改正: main() { long int f1,f2 int i; f1=f2=1; for (i=1,i<=20 ,i- -); { printf(“%12ld %12ld”,f1,f2); if (i%4=0)printf(“\n”); f1=f1+f2 f2=f2+f1;} } 二、读程序 1.5 2.X=3 3.1,1,1 11 X>3 4,3,2 X unknow 4,2,3 5,2,3 三、程序填空:(根据题意,将空缺的语句补上。) 1.下列程序的功能是计算圆的面积,将程序补充完整。 #define PI = 3.14159 main() {float r,s; printf(“Enter a number r:”); ____scanf(“%f”,&r);________________________ s=PI*r*r ____printf(“s=%f ”,_s);} 2.int I ,sum I++; 四、改错 main() { long int f1,f2; int i; f1=f2=1; for (i=1;i<=20;i++); { printf(“%12ld %12ld”,f1,f2); if (i%4=0)printf(“\n”); f1=f1+f2; f2=f2+f1;} } 三、将下列程序补充完整(每空2.5分,共30分) 1.输入三角形的三条边a,b,c,求三角形的面积。 #include “math.h” #include “stdio.h” main() {float a,b,c,d,t,s; printf(“请输入三角形的三条边:”); scanf(“%f,%f,%f”,&a,&b,&c); if (1) printf(“%f%f%f不能构成三角形!”,a,b,c); else {t=(a+b+c)/2; s= (2) printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”,a,b,c,s);}} (1) (2) 2.输入两个整数,n1,n2(要求n1 #include “stdio.h” main() {int n1,n2,j,n=0; printf(“\n请输入两个数:”); scanf ((3)); if(n1>n2){ (4)} for(j=n1;j<=n2,j++) if (5)n++; printf(“a=%5d,b=%5d,n=%5d\n”n1,n2,n);} (3) (4) (5) 3.输入两个整数,n1,n2(要求n1 #include “math.h” #include “stdio.h” int prime (int x) {int k; for (6) if (x%k==0)return(0); return(1)} main() {int a,b,j,n=0; printf(“\n请输入两个数:”); scanf(“%d,%d”,&a,&b); if(a>b){ (7)} for(j=a;j<=b,j++) if((8))n++; printf(“a=%4d,b=%4d,n=%4d\n”a,b,n);} (6) (7) (8) 4.编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。 #include “stdio.h” main() {int x,n,k,k1=0,k2=0,k3=0; printf(“input n=:”); (9) for(k=0;k {scanf(“%d”,&x); if (x<0)k1++; (10); else k3++; printf(“k1=%4d,k2=%4d,k3=%4d\n”,k1,k2,k3)}} (9) (10) 5.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束。] #include “stdio.h” main() {char ch; do{ch=getchar(); if ((11))break; else if((12))putchar(ch); }while(1);} (11) (12) 四、按格式写出程序运行结果。每题4分,共16分。 1.格式化输出函数] main() { int a=1,c=65,d=97; printf(“a10=%d,a8=%o,a16=%x\n”,a,a,a); printf(“c10=%d,c8=%o,c16=%x,cc=%c\n”c,c,c,c); d++; printf(“d10=%d,dc=%c\n”d,d);} 输出结果: 程序改错------------------------------------- 1题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 -----------------*/ #define N 10 /**********FOUND**********/ float fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;cmax) { max=*c; /**********FOUND**********/ b=c-a;} return max; } main() { int a[N],i,max,p=0; printf("please enter 10 integers:\n"); for(i=0;i 下列程序是建立一个包含学生有关数据的单向链表。但该程序有2个错误,错误出现在每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删语句。 #define NULL 0 struct stud { long num; char name[10]; float score; struct stud *next; }; /* …………… comment …………… */ int n; struct stud create() 序中有两处错误代码,请改正.注意,不得改变程序结构。 #include <> main() { int a[8],*p=a; int i,j; int tempmin,tempcode; printf("\n input the numbers:\n"); for (i=0;i<8;i++) scanf("%d",p+i); tempmin=*p; for (i=0;i<7;i++) { for (j=i;j<8;j++) if (j==i||*(p+j) 【程序改错】 1.功能:利用递归函数调用方式,将所输入的5个字符,以相反顺序 打印出来。 char next; next=getchar(); palin(n-1); 2.功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 for (k=4; k<=n; k++) a=b; return d; 3.功能:根据整型形参m,计算如下公式的值: y=1/2+1/8+1/18+...+1/2m*m double y=0.0; 4.功能:编制统计营业员一天的营业额的程序,设程序采用一个循环 实现,每次循环输入一笔交易金额并累计营业额。由于营 业员一天完成的交易次数是不确定的,为此以最后附加输 入一笔0或负数交易额作为交易金额已全部输入结束的标志。 float sale,sigma; scanf("%f",&sale); sigma=sigma+sale; 5.功能:读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。while(n<8) while(a<1||a>50); for(i=0;i 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 第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include (一)功能:用选择法对数组中的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。 #include "conio.h" #include "stdio.h" long fun ( int n ) { long a=1, b=1, c=1, d=1, k; /**********ERROR**********/ for (k=4; kc语言程序改错题
C语言程序改错及填空题
c语言程序改错
C语言程序改错2
C语言程序改错题
程序改错完整版---C语言
齐齐哈尔大学C语言题库 程序改错(部分)