发布时间 : 星期一 文章C程序设计复习题答案(1) 2更新完毕开始阅读4d7477a049649b6649d74767
3.有一个一维数组score,内放10个学生成绩,求平均成绩,请填空。 #include
float average(float array[10]); void main()
{float score[10],aver; int i;
printf(\for(i=0;i<10;i++)
scanf(\printf(\
aver=average(score);
printf(\}
float average(float array[10]) {int i;
float aver,sum=array[0]; for( i=1;i<10;i++ )
sum=sum+array[i];
aver=sum/10 ; return aver ; }
4.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。 Void main()
{ int i,a[20],sum,count; sum=count=0;
for(i=0;i<20;i++) scanf(\ for (i=0;i<20;i++) { if(a>0) { count++;
sum+= a[i] ; } }
printf(\}
5.下面程序可以逐行输出由language数组元素所指向的5个字符串。请填空。 #include
5
void main()
{ char * language[]={ “BASIC”, “FORTRAN”, “PROLOG”, “JAVA”, “C++”}; char ** q ; int k;
for (k=0;k<5;k++)
{ q= language+k ; printf(“%s\\n”,*q); } }
6.以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空。
#include
{ char str[81],*sptr; int i;
for(i=0;i<80;i++) { str[i]=getchar();
if(str[i]=='\\n') break; }
str[i]= '\\0' ; sptr=str;
while(*sptr) putchar(*sptr ++ ); }
7、程序的功能是用递归方法计算第五位学生的年龄,请填空。
递归公式如下: 10 (n=1)
age(n)=
age(n-1)+2 (n>1)
程序: int age(int n) { int c; if( n==1 ) c= 10 ;
else
c= age(n-1)+2 ; return (c); }
void main()
{ printf(“age:%d\\n”, age(5)); }
9)以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。请填空。
6
#include
{ int *a,*b,*c, num,x,y,z; a=&x; b=&y; c=&z; printf(“输入3个整数:”); scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%d\\n”, *a,*b,*c); num=*a;
if (*a>*b) num=*b ; if (num>*c) num=*c ; printf(“输出最小整数:%d\\n”, num);
}
10. C语言源程序文件的后缀是__.cpp_________,经编译后生成的文件的后缀是__.obj_______,连接后生成的文件的后缀是.exe。
11.从键盘输入一个大写字母,要求改用小写字母输出。请填空: #include
c1= getchar() ;
printf(“%c, %d\\n”,c1,c1); c2=c1+32 ;
printf(“%c, %d\\n”,c2,c2); }
12.以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。请填空:
#include
{ char str[81],*sptr; int i;
for(i=0;i<80;i++) { str[i]=getchar();
if(str[i]=='\\n') break; }
str[i]= '\\0' ; sptr=str;
while(*sptr) putchar(*sptr ++ ; }
13.输入三角形的三边长,求三角形面积。请填空: void main()
7
{ float a, b, c, s, area ;
scanf(“%f, %f, %f”, &a, &b, &c); s=1.0/2*(a+b+c);
area = sqrt(s*(s-a)*(s-b)*(s-c)) ;
printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\\n”,a,b,c,s); printf(“area=%7.2f\\n”,area); }
14.判断m是否素数。请填空:
#include
int m, i, k;
scanf(\ k=sqrt(m) ; for(i=2;i<=k;i++)
if( m%i==0 ) break;
if( i>k ) printf(\ else printf(\}
15.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如’a’变成‘f’,’w’变成’b’。请填空: #include
if (c>=’a’ && c<=’u’) c=c+5 ; else if (c>=’v’ && c<=z) c =c-21 ; putchar(c); }
16.输入三个整数x,y,z,请把这三个数由小到大输出。请填空: #include \#include \main() {
int x,y,z,t;
scanf(\ if (x>y)
{ t=x;x=y;y=t; } /*交换x,y的值*/ if(x>z)
8