C程序设计复习题答案(1) 2 联系客服

发布时间 : 星期一 文章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 void main()

{ 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 void main( )

{ 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 void main() { char c1,c2;

c1= getchar() ;

printf(“%c, %d\\n”,c1,c1); c2=c1+32 ;

printf(“%c, %d\\n”,c2,c2); }

12.以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。请填空:

#include void main()

{ 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 #include void main() {

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 void main( ) { char c; c=getchar( );

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