【题 5.82】以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。
请在【】内填入正确内容。
#include
#include
main()
{
float a,b,c;
float s,area;
scanf(“%f %f %f”,&a,&b,&c);
if(【1】)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“%f”,area);
if(【2】)
printf(“等边三角形”);
else if(【3】)
printf(“等腰三角形”);
else
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c=
=a*a))
printf(“直角三角形”);
else printf(“一般三角形”);
}
else printf(“不能组成三角形”);
}
解答:(1) a+b>c
(2) a==b && a==c
(3) a==b || a==c || b==c
【题5.79】下面程序根据以下函数关系,对输入的每个x值,计算出y值。请在【】内填入正确内容。
main()
{
int x,y;
scanf(“%d”,&x);
if(【1】)
y=x*(x+2);
else if(【2】)
y=2*x;
else if(x<=-1)
y=x-1;
else
【3】;
if(y!=-1)
printf(“%d”,y);
else
printf(“error”); }
解答: (1) x>2 && x<=10
(2) x>-1 && x<=2
(3) y= -1
【题5.81】以下程序的功能是计算一元二次方程0
2=
ax的
bx
+c
+
根。请在【】内填入正确内容。
#include “math.h”
main()
{
float a,b,c,t,disc,twoa,term1,term2;
printf(“enter a,b,c:”);
scanf(“%f %f %f”,&a,&b,&c);
if(【1】)
if(【2】) printf(“no answer due to input error\n”);
else printf(“the single root is %f\n”,-c/b);
else
{
disc=b*b-4*a*c;
twoa=2*a;
term1=-b/twoa;
t=abs(disc);
term2=sqrt(t)/twoa;
if()
printf(“complex root\n real part=%f
imag part=%f\n”,
term1,term2);
else
printf(“real roots\n root1=%f
root2=%f\n”,
term1+term2,term1-term2);
}
}
解答:(1) a==0
(2) b==0
【题 5.83】某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对
可以邮寄的包裹每件收手续费0.2元,再加上根据
下表按重量wei计算的邮资:
请在程序的【】内填入正确内容。
main()
{
float len,wei,hei,wid,mon,r;
scanf(“%f %f %f %f”,&len,&wi d,&hei,&wei);
if(len>1||wid>1||hei>1||wei>30)
【1】;
else if(wei<10)
r=0.8;
else if(wei<=20)
r=0.75;
else if(wei<=30)
【2】;
if(r==-1) printf(“error\n”);
else
{
【3】;
printf(“%f”,mon);}
解答:(1) r=-1 ;
(2) r=0.7
(3) mon=wei*r+0.2
【题5.84】某服装店经营套服,也单件出售。若买的不少于50套,每套80元;不足50套的每套90元;只买上衣
每件60元;只买裤子每条45。以下程序的功能是读
入所买上衣c和裤子t的件数,计算应付款m。请在
【】内填入正确内容。
main()
{
int c,t,m;
printf(“input the number of coat and trousers you want buy:\n”);
scanf(“%d%d”,&c,&t);
if(【1】)
if(c>=50)
m=c*80;
else
m=c*90;
else
if(【2】)
if(t>=50)
m=t*80+(c-t)*60;
else
m=t*90+(c-t)*60;
else
if(【3】)
m=c*80+(t-c)*45;
else
m=c*90+(t-c)*45;
printf(“%d”,m);
}
解答:(1) c==t
(2)c>t
(3) c>=50
【题 5.86】以下程序段针对输入的截止日期(年:yend,月:mend,日dend:)和出生日期(yman,mman,dman),
计算出实际年龄。请在【】内填入正确内容。
设有:int yend,mend,dend,yman,mman,dman,age;
age=yend-yman;
if(mend【1】mman)
age--;
else if(mend【2】mman&&dend【3】dman)
age--;
解答:(1)<
(2)==
(3)<
【题6.59】有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请填空。
#include
main()
{
int day,x1,x2;
day=0;
x1=1020;
while(【1】)
{
x2=【2】;
x1=x2;
day++;
}
printf(“day=%d\n”,day);
}
解答:(1) x1>0
(2)x2=x1/2-2
【题6.68】下面程序的功能是用do-while语句求1至1000之间满足“用3除余2;用5除余3;用7除余2”的
数,且一行只打印五个数。请填空。
#include
main()
{
int i=1,j=0;
do{
if(【1】)
{
printf(“%4d”,i);
j=j+1;
if(【2】) printf(“\n”);
}
i=i+1;
}while(i<1000);
}
解答:(1) i%3==2&& i%5==3 && i%7==2
(2) j%5==0
【题 6.90】下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所
有可能的方案。请填空。
#include
main()
{
int i,j,k;
printf(“\n hong bai hei \n”);
for(i=0;i<=3;i++)
for(【1】;j<=5;j++)
{
k=8-i-j;
if(【2】) printf(“ %3d %3d %3d \n”,i,j,k);
}
}
解答:j=1
【题6.82】以下程序的功能是根据公式 ++++
=!31!21!111e 求e 的近似值,精度要求为10- 6。请填空。
#include
main()
{
int i; double e,new;
【1】; new=1.0;
for(i=1; 【2】;i++)
{ new/=(double)i; e+=new; }
printf(“e=%f \n”,e);
} 解答:
(1)e=0; (2)fabs(new)>=1e-6
1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "" main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*用户输入存在磁盘上的文件名*/ if((fp= ⑦ (filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } while((ch=getchar())!='#') ⑧ ; fclose(fp); } 2.下列程序的功能是输出一个整数x的绝对值。将程序补充完整,填在空内。 #include <> main() { int x, ① ; scanf("%d",&x); y= ② ; printf("%d\n",y); } 3.下列程序的功能是输出1~100之间能被7整除的所有整数。将程序补充完整,填在空内。 main() { int i;
for(i=1; ③ ;i++) { if(i%7) ④ ; printf("%d ",i); } } 4.以下程序用以删除字符串中所有的空格,请填空。 main() { char s[100]={"Our teacher teach C language!"}; int i,j; for(i=j=0;s[i]!= '\0';i++) if(s[i]!= ' ') { ⑤ ;j++;} s[j]= ⑥ ; printf("%s\n",s); } 5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。 struct man { char name[20];int age;}person[]={{"Mary",16},{"Tom",21},{"Jim",18}}; void fun( ⑦ person[ ] ) { int i,old=0; for(i=0;i<2;i ++) if(person[old].age 一.程序阅读题 1.若运行时输入100↙,写出以下程序的运行结果。main ( ) { int a ; scanf(“%d”,&a); printf(“%s”,(a%2!=0)?”No”:”Yes”); } 答案: Yes 2.写出以下程序的运行结果。 main ( ) { int a=2,b=7,c=5; switch (a>0) { case 1: switch (b<0) { case 1: printf(“”); break ; case 2: printf(“!”); break ; } case 0: switch (c==5) { case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; } default : p rintf(“&”); } printf(“\n”); } 答案: *& 3.写出下面程序运行的结果。 main ( ) { int i,b,k=0 ; for (i=1; i<=5 ; i++) { b=i%2; while (b--==0) k++ ; } printf(“%d,%d”,k,b); } 答案:2 0 4.写出下面程序运行的结果。 main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k); } 答案:36 5.写出下面程序运行的结果。 { int a=10,y=0 ; do { a+=2 ; y+=a ; if (y>50) break ; } while (a=14) ; printf(“a=%d y=%d\n”,a,y) ; } 答案:a=16 y=60 数组部分: 1.写出下面程序的运行结果。 main ( ) 答案: { int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++) printf(“%2d”,a[i][j]) ; printf(“\n”); } } 2.写出下面程序的运行结果。 main ( ) { int i=0; char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=’\0’ && b[i]!=’\0’) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; } c[i]=’\0’; puts(c); } 答案:AQM 3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( ) { char s[80]; int i=0; gets(s); while (s[i]!=’\0’) { if (s[i]<=’z’ && s[i]>=’a’) s[i]=’z’+’a’-s[i] ; i++; 导出题库试题(1~100) 共计104道试题 一、程序填空答案(104题) 【程序填空】 1功能:求两个非负整数的最大公约数和最小公倍数。 【1】r != 0 或r 【2】r=m%n 或r=m-m/n*n 【3】n 【4】gcd,lcm 或n,lcm 2功能:下面的程序是求1!+3!+5!+……+n!的和。 【1】s=0 【2】i+=2 或i=i+2 或i++,i++ 【3】j<=i 或i>=j 或jj 【4】f= f * j 3功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。 【1】p1= str1 + m 【2】*p2++=*p1++ 或*(p2++)=*(p1++) 或*p2=*p1,p2++,p1++ 或*p2=*p1++,p2++ 或*p2++=*p1,p1++ 【3】*p2='\0' 或*p2=0 或*p2=NULL【4】strcopy(str1,str2,m) 4功能:以下程序是用选择法对10个整数按升序排序。 【1】#define N 10 【2】k=I 【3】j (二)程序填空(2×8) 使用子函数求两个实数的和 #include 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include c语言程序填空!!!这就是考试题库!!! 共计131道试题 一、程序填空(共131题) Turbo C(共131试题) 3)./*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:已定义一个含有30个元素的数组s,函数fun1的功能是按 顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序 每五个元素求一个平均值, 并将该值存放在数组w中。 -------------------------------------------------------*/ float s[30],w[6]; fun1(float s[]) { int k,i; for(k=2,i=0;i<30;i++) { /***********SPACE***********/ ________________ ; k+=2; } } fun2(float s[],float w[]) { float sum=0.0; int k,i; for(k=0,i=0;i<30;i++) { sum+=s[i]; /***********SPACE***********/ ________________; { w[k]=sum/5; /***********SPACE***********/ ________________ ; k++; } } } main() { int i; fun1(s); /***********SPACE********** */ ________________; for(i=0;i<30;i++) { if(i%5==0) printf("\n"); printf("%8.2f",s[i]); } printf("\n"); for(i=0;i<6;i++) printf("%8.2f",w[i]); } 答案: 【1】 s[i]=k 或 s[i]=(i+1)*2 【2】 if( ( i + 1 )%5 == 0 ) 或 if( ( i + 1 )/5*5 ==i+1) 【3】 sum=0 或 sum=0.0 【4】 fun2(s,w) 4)./*--------------------- --------------------------- ------- 【程序填空】 --------------------------- --------------------------- --- 功能:下面的程序是求 1!+3!+5!+……+n!的和。 --------------------------- --------------------------- -*/ main() { long int f,s; int i,j,n; /***********SPACE********** */ ________________; scanf("%d",&n); /***********SPACE********** */ for(i=1;i<=n; ________________) { f=1; /***********SPACE***********/ for(j=1; ________________;j++) /***********SPACE***********/ ________________; s=s+f; } printf("n=%d,s=%ld\n",n,s); } 答案: 【1】 s=0 【2】 i+=2 或 i=i+2 或 i++,i++ 【3】 j<=i 或 i>=j 或 jj 【4】 f= f * j 5)./*-------------------------------- ----------------------- 【程序填空】 -------------------------------------- ------------------- 功能:将一个字符串中下标为m的字符开始 的全部字符复制成为另 一个字符串。 -------------------------------------- -----------------*/ #include 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p 第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include #include 数不得多于或少于20。 请改正程序中的4个错误,使它能得出正确的结果。 -------------------------------------------------------- 答案: =======(答案1)======= printf("%8.0f",f1); =======(答案2)======= for(i=1;i<20;i++) =======(答案3)======= f1=f2; =======(答案4)======= f2=f3; 题目:要求输出结果为: A,B 65,66 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 答案 n>0 i=2 r=n%i n=n/i 题目:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄) 答案: =======(答案1)======= 功能:输入一个整数n,将n中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,并输出。 例如,输入一个整数27638496,输出为64862。 -------------------------------------------------------*/ #include 程序填空题一 1. 下面C语言程序将两个递增有序的数值a和b 合并一个数组c,并保持递增次序,最后输出数组c. #include < stodio.h> #define M6 #define N5 main( ) {int a[M]={1,3,5,7,9,11} b[N]={2,4,6,8,10} int c[M+N] int i ,j, k; i=j=k=0 while( 1 ) if a[i] printf(%dxt,c[k]; ) 其中(1)(2)(3)(4)处分别填一数据,使程序达到其功能。 答案: 1:i 解:(1)(*f)(x+y)/(*g)(y-x) (2)cos,sin,a,b [解析]本题考察的是函数的声明。要填写的两个空都出现在return语句中,所以要仔细分析函数的返回值。本题的第二个空相对要容易一些,只要根据题干和乘号前面的调用语句对比一下即可得到调用语句的四个参数。第一个空相对要难一些,函数fgh定义时用到了函数指针(*f)和(*g)是为了增加函数的灵活性。根据函数h的定义以及题干要求,可以看出函数fgh应该表示的是乘号两边的某一项。(*f)和(*g)用来表示sin或cos,参数x 和y的加减法运算作为sin或cos函数的参数,故应填写(*f)(x+y)/ (*g)(y-x)。 程序填空:阅读程序。在划线处填写适当的表达式或语句,使程序完整并符合题目要求 1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。 main( ) { char ch; ch=getchar(); if( ch>=?a?&&ch<=?z?|| ch>=?A?&&ch<=?Z?) printf("It is an English character\n"); else if( ch>=?0?&&ch<=?9?) printf("It is a digit character\n"); else if( ch== …?) printf("It is a space character\n"); else printf("It is other character\n"); } 2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入0来结束输入,用i,j来放统计数,请填空完成程序。 void main() { int n,i=0,j=0; printf(“input a integer,0 for end\n”); scanf(“%d”,&n); while (n或n!=0 ) { if(n>0) i=i+1 ; else j=j+1; } printf(“i=%4d,j=%4d\n”,i,j); } 3.编程计算1+3+5+……+101的值 #include 程序填空 1. 下面程序打印如图所示的杨辉三角形。阅读程序,请填空。 Private Sub Form_click() Dim a(9, 9) As Integer For i = 0 To 9 a(i, i) = 1 a(i, 0) = 1 Next i For i = 2 To 9 M = i - 1 For j = 1 To M a(i, j) = a(i - 1, j) + a(i - 1, j - 1) Next j Next i For i = 0 To 9 For j = 0 To i Print a(i, j); Next j Print Next i End Sub 2.下面的程序是进行加、减、乘、除的程序,运行界面如下图。输入两个操作数和一个运算符,根据运算符决定所进行的运算。阅读程序,请填空。 Private Sub Command1_Click() Dim a As Integer, b As Integer a = Val(Text1.Text) b = Val(Text3.Text) '以下判断运算符 op = Text2 Select Case op Case "+" r = a + b Case "-" r = a - b Case "*" r = a * b Case "/" If b = 0 Then MsgBox "除法运算的操作的除数不能为0" Text3.Text = "" Exit Sub End If r = a / b Case Else MsgBox "运算符非法,请重新输入" Text2.Text = "" Text2.SetFocus Exit Sub End Select Text4 = r End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = "" Text2 = "" Text3 = "" Text4 = "" End Sub '【程序填空】 '------------------------------------------------------- '功能:下面的程序段用于实现以下功能:利用冒泡法将一组整数' 从小到大排序。 '------------------------------------------------------- Private Sub Form_Click() Const n = 15 Dim a(1 To n) As Integer, work As Boolean Dim i As Integer, j As Integer, x As Integer Randomize For i = 1 To n a(i) = Int((90 * Rnd) + 10) Next i For i = 1 To n Print a(i); Next i Print '**********SPACE********** For i = n To 2 【?】step-1 work = True For j = 1 To i - 1 If a(j) > a(j + 1) Then x = a(j): a(j) = a(j + 1): a(j + 1) = x '**********SPACE********** 【?】work=False End If Next j '**********SPACE********** If work Then 【?】Exit For Next i For i = 1 To n Print a(i); Next i End Sub 答案 1). Step -1 2). work = False 或work=0 或not work = true 3). Exit For '功能:以下程序用于判断一个正整数(≥3)是否为素数。 '------------------------------------------------------- 程序填空 〖第1题〗『程序填空』(1分)(题号:59) '------------------------------------------------------- '【程序填空】 '------------------------------------------------------- ' 功能:输入一个数,若大于0,则显示"+";若小于0, ' 则显示 "-";若等于"0",则显示"零"。 '------------------------------------------------------- Private Sub Command1_Click( ) x = Val(Text1.Text) Select Case x '**********SPACE********** Case is > 0 Label1.Caption = "+" Case Is < 0 '**********SPACE********** Label1.Caption = "-" '**********SPACE********** Case is = Label1.Caption = "零" End Select End Sub 答案: 1). Case Is > 0 2). Label1.Caption = "-" 3). Case 0 或 Case Else 或 Case Is = 0 〖第2题〗『程序填空』(1分)(题号:60) '------------------------------------------------------- '【程序填空】 '------------------------------------------------------- '功能:输入任何一个英文字母x, ' 若x的值为"a","c","d-f" ,则显示x的大写字母; ' 若x的值为"m","o","p-z",则显示x的小写字母; ' 若x的值为其它的值,则显示xa(如输入的X的值是g,则显示ga)。'------------------------------------------------------- Private Sub Command1_Click() x = Text1.Text '**********SPACE********** 【?】 '**********SPACE********** Case 【?】 Label1.Caption = UCase(x) Case "m", "o", "p" To "z" Label1.Caption = LCase(x) Case Else '**********SPACE********** 【?】 End Select End Sub 答案: 1). Select Case x 2). "a", "c", "d" To "f" 3). Label1.Caption = Trim(x) + "a" 或 Label1.Caption = x + "a" 〖第3题〗『程序填空』(1分)(题号:36) '------------------------------------------------------- '【程序填空】 '------------------------------------------------------- 程序填空题 1.给定程序中,函数fun 的功能是:求出形参ss 所指 字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M 个字符串,且串长程序阅读及填空(答案)
c语言程序填空题
程序填空题库
c语言程序填空题完整
全真c语言程序填空题考试题库
C语言程序设计程序填空题库及答案
-程序填空部分试题及答案
程序填空
程序填空题库
湖南省计算机二级3[1].(6分)程序阅读填空
C语言-程序填空练习题
程序填空题
程序填空
VB题库—程序填空
程序填空题