C语言程序设计习题集答案.docx

上传人:b****6 文档编号:5592289 上传时间:2022-12-28 格式:DOCX 页数:18 大小:18.09KB
下载 相关 举报
C语言程序设计习题集答案.docx_第1页
第1页 / 共18页
C语言程序设计习题集答案.docx_第2页
第2页 / 共18页
C语言程序设计习题集答案.docx_第3页
第3页 / 共18页
C语言程序设计习题集答案.docx_第4页
第4页 / 共18页
C语言程序设计习题集答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言程序设计习题集答案.docx

《C语言程序设计习题集答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题集答案.docx(18页珍藏版)》请在冰豆网上搜索。

C语言程序设计习题集答案.docx

C语言程序设计习题集答案

第1~2章C语言概述、算法、数据类型、运算符与表达式

一、选择题

ACDBBCCDCBD

二、填空题

1、n=20

2、a=66,b=E

第3章顺序程序设计

一、选择题

BAAD

二、程序阅读

1、1224

012

2、2,3,2,2

3、0

三、编程

1

#include<>

#include<>

voidmain()

{

inta,b,c;

floats,area;

scanf("%d,%d,%d",&a,&b,&c);

s=(a+b+c)/;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("a=%f,b=%f,c=%f,s=%f,area=%f",a,b,c,s*2,area);

}

2

#include<>

#include<>

voidmain()

{

floata,b,c,del,x1,x2;

scanf("%f,%f,%f",&a,&b,&c);

del=b*b-4*a*c;

if(del>=0)

{

x1=(-b+sqrt(del))/(2*a);

x2=(-b-sqrt(del))/(2*a);

printf("x1=%f,x2=%f",x1,x2);

}

else

printf("没有实根");

}

3

#include<>

voidmain()

{

intc,f;

printf(“inputc:

\n”);

scanf(“%d”,&c);

f=*c+32;

printf("%d的华氏温度是%d",c,f);

}

选择结构程序设计

一、选择题

DBBCDC

二、程序阅读

1、|a|+|b|=61

2、PQ

3、-1

4、60~69

60

Error!

5、0,1

6、a+b+c=15

三、编程

1

#include<>

voidmain()

{

inta,b,c,min;

scanf("%d,%d,%d",&a,&b,&c);

min=a;

if(min>b)min=b;

if(min>c)min=c;

printf(“%d,”,min);

}

2

#include<>

voidmain()

{

inta;

scanf("%d",&a);

if(a%3==0&&a%5==0&&a%7==0)

printf("yes");

else

printf("no");

}

3

#include<>

#include<>

voidmain()

{

floatx,y;

scanf("%f",&x);

if(x<0)

y=fabs(x);

elseif(x>=0&&x<=2)

y=sqrt(x+1);

elseif(x>=2&&x<4)

y=pow(x+2,3);

else

y=2*x+5;

printf("x=%f,y=%f",x,y);

}

4

#include<>

voidmain()

{

floatrate,tax,salary;

scanf("%f",salary);

if(salary<=850)

rate=0;

elseif(salary>1350&&salary<=2850)

rate=;

elseif(salary>2850&&salary<5850)

rate=;

else

rate=;

tax=rate*(salary-850);

printf("salary=%f,rate=%f,tax=%f",salary,rate,tax);

}

 

循环控制

一、填空题:

3.46

二、选择题:

CDBBBCCCBD

三、程序阅读:

1、输出:

33

2、输出:

24

3、2#4#7#11#16#

4、3#2#0#0#1#

5、BADC

6、DABC

7、BCAD

8、ADBC

9、CCA

10、BDA

11、ADC

四、编程

1.#include<>

#include<>

voidmain()

{intx;

printf("xsqrt(x)\n");

for(x=5;x<=1000;x++)

printf("%d%f\n",x,sqrt(x));

}

2.#include<>

#include<>

main()

{

inti,flag;

doublepi,item;

i=1;

flag=1;

pi=0;

item=;

while(fabs(item)>=

{item=flag*i;

pi=pi+item;

flag=-flag;

i=i+2;

}

pi=pi*4;

printf("pi=%f",pi);

}

3.教材126页例

4.#include<>

main()

{inti,a,b,c;

a=1;b=1;

printf("%d%d",a,b);

for(i=3;i<=10;i++)

{

c=a+b;

printf("%d",c);

a=b;

b=c;

}

}

第4章数组

一、选择题:

DDADCCDBDBDDDAB

二、程序填空:

ABBD

CDAB

BB

DCA

CD

CA

1#2#3#1#1#3

298

三、编程:

1、#include<>

voidmain()

{

intmark,a,p,f;

a=p=f=0;

printf("Enterscores:

");

scanf("%d",&mark);

while(mark>0){

if(mark>=85)a++;

elseif(mark>=60)p++;

elsef++;

scanf("%d",&mark);

}

printf(">=85:

%d\n",a);

printf("60-84:

%d\n",p);

printf("<60:

%d\n",f);

}

2、#include<>

voidmain()

{inta[10],count=0,i;

floataverage,sum=0;

for(i=0;i<10;i++)

{scanf("%d",&a[i]);

sum=sum+a[i];

}

average=sum/10;

for(i=0;i<10;i++)

if(a[i]>average)count=count+1;

printf("平均值为%f大于平均值的数有%d个",average,count);

}

3.

#include<>

main()

{inta[10];

inti,j,t,n;

printf(“请输入一个正整数n(1

”);

scanf(“%d”,&n);

for(i=0;i

scanf("%d",&a[i]);

printf("\n");

for(j=0;j

for(i=j+1;i

if(a[j]>a[i])

{t=a[j];a[j]=a[i];a[i]=t;}

printf("Thesortednumbers:

\n");

for(i=0;i

printf("%d",a[i]);

}

4.#include<>

voidmain()

{inta[6][6],n,i,j,x,y,max;

printf(“请输入一个正整数n(1≤n≤6):

”);

scanf(“%d”,&n);

printf(“请输入一个n行n列的矩阵:

\n”);

for(i=0;i

for(j=0;j

scanf(“%d”,&a[i][j]);

max=a[0][0];x=0;y=0;

for(i=0;i

for(j=0;j

if(fabs(a[i][j])>max){max=a[i][j];x=i;y=j;}

printf(“绝对值最大的元素为:

%d,下标分别为:

%d,%d\n”,max,x,y);

}

第5章函数

一、选择题

ABCBDC

7)BDAC

8)DCBA

9)DBB

10)CCBB

二、程序阅读题

(1)3,5

(2)4

(3)s=10

(4)5,25

7,15

三、程序设计

1

#include<>

#include<>

intisprime(intm)

{intk,n,res;

if(m==1)return0;

res=1;

n=(int)sqrt(m);

for(k=2;k<=n;k++)

if(m%k==0){

res=0;

break;

}

returnres;

}

voidmain()

{

intm,n;

intsum=0;

inti;

do

{

printf("Inputm,nm

3,10\n");

scanf("%d,%d",&m,&n);

}while(m<0||n<0||m>n);

for(i=m;i<=n;i++)

{

if(isprime(i))

{

sum+=i;

}

}

printf("Theallprimes'sumis:

%d\n",sum);

}

 

2

intmax_value(intarr[][4])

{

inti,j,max;

max=arr[0][0];

for(i=0;i<2;i++)

for(j=0;j<4;j++)

{

if(max

max=a[i][j];

}

returnmax;

}

3

 

#include<>

#include<>

intisTheFineNumber(intn)

{

intflag=0;

inta,b,c;

1.if((int)sqrt(n)==sqrt(n))k,结果为C)

2.D

二、选择填空题:

1.B

2.C

三、编程题:

1

#include<>

struct

{

intyear;

intmonth;

intday;

}date;

voidmain()

{intdays;

printf("inputyear,month,day:

\n");

scanf("%d%d%d",&,&,&;

switch

{

case1:

days=;break;

case2:

days=+31;break;

case3:

days=+59;break;

case4:

days=+90;break;

case5:

days=+120;break;

case6:

days=+151;break;

case7:

days=+181;break;

case8:

days=+212;break;

case9:

days=+243;break;

case10:

days=+273;break;

case11:

days=+304;break;

case12:

days=+334;break;

}

if(%4==0&&%100!

=0||%400==0)

&&>=3)days+=1;

printf("%d/%disthe%dthdayin%d\n",,,days,;

}

2

#include<>

struct

{

inthour;

intmin;

intsec;

}time1,time2,time3;

voidmain()

{

printf("inputthefirsttimehour,min,sec:

\n");

scanf("%d%d%d",&,&,&;

printf("inputthesecondtimehour,min,sec:

\n");

scanf("%d%d%d",&,&,&;

=if<0)

{+=60;

;

}

=if<0)

{+=60;

;

}

=

printf("timelagishour:

%dmin:

%dsec:

%d",,,;

}

3

#include<>

#defineN5

structstudent

{

charnum[6];

charname[6];

intscore[4];

}stu[N];

voidmain()

{voidprint(structstudentstu[6]);

inti,j;

for(i=0;i

{

printf("ninputscoreofstudent%d:

\n",i+1);

printf("No.:

");

scanf("%s",stu[i].num);

printf("name:

");

scanf("%s",stu[i].name);

for(j=0;j<3;j++)

{

printf("score%d:

",j+1);

scanf("%d",&stu[i].score[j]);

}

printf("\n");

print(stu);

}

}

voidprint(structstudentstu[6])

{inti,j;

printf("\nNo.namescore1score2score3\n");

for(i=0;i

{

printf("%5s%10s",stu[i].num,stu[i].name);

for(j=0;j<3;j++)

printf("%9d",stu[i].score[j]);

printf("\n");

}

}

第10章文件

一、选择题

CCBBACCDDCDDD

二、编程

1.

#include<>

#include<>

voidmain()

{

FILE*fp;

charstr[80];

if((fp=fopen("","r"))==NULL)

printf("error\n");

while(!

feof(fp))

{

fscanf(fp,"%s\n",str);

if(strstr(str,"for")!

=NULL)

printf("%s\n",str);

}

fclose(fp);

}

2.

#include<>

#include<>

voidmain()

{

FILE*fp;

intn,sum=0;

if((fp=fopen("","a+"))==NULL)

printf("error\n");

while(!

feof(fp))

{

fscanf(fp,"%d\n",&n);

sum+=n;

}

fprintf(fp,"\nsum=%d\n",sum);

fclose(fp);

}

3.

#include<>

#include<>

voidmain(intargc,char*argv[])

{

FILE*in,*out;

charch;

if(argc!

=3)

{

printf("Youforgottoenterafilename\n");

exit(0);

}

if((in=fopen(argv[1],"r"))==NULL)

{

printf("cannotopeninfile\n");

exit(0);

}

if((out=fopen(argv[2],"w"))==NULL)

{

printf("cannotopenoutfile\n");

exit(0);

}

while(!

feof(in))fputc(fgetc(in),out);

fclose(in);

fclose(out);

}

4.

#include<>

#include<>

voidmain()

{

FILE*fp;

intn,a=0,b=0,c=0;

if((fp=fopen("","a+"))==NULL)

printf("error\n");

while(!

feof(fp))

{

fscanf(fp,"%d\n",&n);

if(n>0)

a++;

elseif(n<0)

b++;

elsec++;

}

printf("正数有%d个,负数有%d个,零有%d个\n",a,b,c);

fclose(fp);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1