2006年信息学院《C语言程序设计》答案 一、1~10 × √ × × √ √ √ √ √ √ 二、1、2.0 2、1 3、11 4、10 5、35 三、1、答: #include
void swap(int *,int*); void main() {
int a,b,c;
scanf(“%d,%d,%d”,&a,&b,&c); if(a
printf(“%d\\n%d\\n%d\\n”,a,b,c); }
void swap(int *p1,int*p2) {
int temp; temp=*p1; *p1=*p2; *p2=temp; } 2、答:
#include
char *process(char p[][80],int,char*); main() {
char string[N][80],*pmax,pmin[80];
char i;
for(i=0;i scanf(“%s”,string[i]); } pmax=process(string,N,pmin); printf(“Maxstring :=%s,Min string :=%s\\n”,pmax,pmin); } char *process(char p[][80],int n,char*pmin) { int i; char *pmax=p[0]; strcpy(pmin,p[0]); for(i=1;i if(strcmp(p[i],pmax)>0) pmax=p[i]; } for(i=1;i if(strcmp(p[i],pmin)<0) strcpy(pmin,p[i]); } return pmax; } 四、1 s=1,t=1,n=1,pi=0 2 fabs(t)>=1e-6 3 (-1)*s 4 1/n*s 5 4*pi 6 char *pro_str(char *);或者 # include 9 *s ! =‘\\0’ 10 strcpy(s,s+1) 11 temp 五、1、答:输出结果: 36 49 64 答:输出结果: 19 5 2、答:输出结果: main:n=0 func:n=0,x=1,y=0 func:n=1,x=1,y=0 main:n=0 3、答:输出结果: a=124 a=456 chr=a 4、答:输出结果: capital ndex rge ll 5、 六、1、答:方法一(if嵌套) #include“stdio.h” void main() { int score; char grade; printf(“\\npleaseinput a student score:”); scanf(“%f”,&score); f(score>100||score<0) printf(“\\ninputerror! ”); else { if(score>=90) grade=‘A’; else { if(score>=80) grade=‘B’; else {if(score>=70) grade='C'; else { if(score>=60) grade=‘D’; else grade=‘E’; } } } printf(“\\nthestudent grade:%c”,grade); } } 方法二:switch语句 #include“stdio.h” void main() { int g,s; char ch; printf(“\\ninputa student grade:”);scanf(“%d”,&g); s=g/10; if(s<0||s>10) printf(\); else { switch (s) { case 10: case 9:ch=‘A’; break; case 8:ch=‘B’; break; case 7:ch=‘C’; break; case 6:ch=‘D’; break; default: ch=‘E’; } printf(“\\nthestudent scort:%c”,ch);} } 2、答: # include void squ(int ,int,int *,int *); void main() { int a,b,squsum,squmar; printf(“\\nplease input data a and b:”); scanf(“%d,%d”,&a,&b); squ(a,b,&squsum,&squmar); printf ( “squaresum=%d , squaremargin=%d\\n”,squsum,squmar); } void squ(int a,intb,int *squ1,int *squ2) { *squ1=a*a+b*b; *squ2=a*a-b*b; } 3、答: #include char *deletestr(char *,char*);//删除指定字符串 void main() { char str[80],dstr[80],*p; printf(“\\nplease input a string:”); gets(str); printf(“\\nplease input a delete string:”); gets(dstr); p=deletestr(str,dstr); printf ( “\\nthe string after deleted:”); puts(p);