C语言课后习题解答免费版doc.docx
- 文档编号:12260274
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:70
- 大小:34.76KB
C语言课后习题解答免费版doc.docx
《C语言课后习题解答免费版doc.docx》由会员分享,可在线阅读,更多相关《C语言课后习题解答免费版doc.docx(70页珍藏版)》请在冰点文库上搜索。
C语言课后习题解答免费版doc
第一早
1、算法描述主要是用两种基本方法:
第一是自然语言描述,第二是使用专用工具进行算法描述
2、c语言程序的结构如下:
1、c语言程序山函数组成,每个程序必须具有一个main函数作为程序的主控函数。
2、,,/*,,与,,*/,,之间的内容构成c语言程序的注释部分。
3、用预处理命令#include可以包含有关文件的信■息。
4、大小写字母在c语言中是有区别的。
5、除main函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。
例如:
voidmain()
{
inta,b,c,s;
a=8;b=12;c=6;
s=a+b*c;
printf("s=%d\nn,s);
}
3、c语言的特点:
1、c语言具有结构语言的特点,程序之间很容易实现段的共享;
2、c语言的主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译成代码,以实现程序的模块化。
3、c语言运算符丰富,运算包含的范围很广;
4、c语言数据类型丰富。
5、c语言允许直接访问物理地址,即可直接对硬件进行操作,实现汇编语言的大部分功能;
6、c语言语法限制不太严格,程序设计自由度大,这样是c语言能够减少对程序员的束缚;
7、用c语言编程,生成的目标代码质量高,程序执行效率高,可移植性好;
4、合法标识符:
AB12、leed_3、EF3_3、_762、PAS、XYZ43K2
不合法标识符:
a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D
5、F2:
将当前编辑器中文件存盘
F10:
调用主菜单
F4:
程序运行到光标所在行
Ctrl+F9:
当前编辑环境下,进行编译、连接且运行程序;
Alt+F5:
将窗口切换到DOS下,查看程序运行结果
6、
⑴:
welcomeyou
verygood
(2):
pleaseinputthreenumber;5,7,8
maxnumberis:
8
7、main
8、Userscreen>Alt+F5
9、标识符必须是字母或下划线开头,大小写字母含义不同。
由数字、字母和下划线组成;
关键字是一种语言中规定具有特定含义的标识符。
关键字不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。
10、选择主菜单File项下拉了菜单中Save项或直接按F2键存盘。
第二章
1、符合C语法规定的常数为:
Oxle、”ab\n”、l.e5
2、⑴:
错误女口下:
intx,y=5,z=5,aver;
x=7;
aver=(x+y+x)/3;
结果如下:
AVER=5
⑵:
错误如下:
charcl='a',c2='b',c3='c';
printf(na=%db=V%cV\nendV'\nH,a,b);
结果如下:
a=3b='A”'end”
aabccabc
3、略
4、
(1):
9,11,9,10
(2):
3,1,0,0
(3):
11,19,31,1
5、
(1):
0
⑵:
0
(3):
9.500000
(4):
90
(5):
10
(6):
10
(7):
65
(8):
2
(9):
4.500000
(10):
1
(H):
0
(12):
20
(13):
0
6、(5)
7、求x的绝对值
8、c>(max=a>b?
a:
b)?
c:
max;
9、B
10、D
第二早
1、输入函数scanf的参数错误,应该为:
scanf("%f",&k);
2、112341234I
3、fflO
4、1,3,1
5、原字符串
左边加空格再加字符串本省,字符个数总和为5个
6、scanf("%d,%d,%c,%c",&a1,&a2,&c1,&c2);
7、printf("a+b=%d\n",a+b);
printf(na-b=%d\nn,a-b);
printf(Ha*b=%d\n",a*b);
printf(na/b=%d\nn,a/b);
printf(”(float)a/b=%f\n”,(float)a/b);
printf("a%b=%d\n",a%b);
8、voidmain()
{
floatr;
floats,c;
printf(Hpleaseinputthenumber:
");
scanf(H%fH,&r);
if(r>=0)
{
s=3.14*r*r;
c=2*3.14*r;
printf(ns=%f,c=%f\nM,s,c);
}
else
printf("youinputnumberiserror!
");
}
9、voidmain()
{
intn;
printf("pleaseinputthenumber:
");
scanf(”%d”,&n);
if(n>=100&&n<=999)
printf(n%d%d%dn,n%10,(n/10)%10,n/100);
else
printf("youinputnumberiserror!
");
}
10、voidmain()
inti,j,k;
scanf(”%d,%d,%d”,&i,&j,&k);
((i%2!
=0?
l:
0)+(j%2!
=0?
l:
0)+(k%2!
=0?
l:
0))==2?
prmtf(HYES\nn):
printf(nN0\nH);
}
11>voidmain()
{
chara;
scanf("%c",&a);
printf("%c,%c,%c",a-l,a,a+l);
printf(H%d,%d,%dn,a-l,a,a+l);
}
12>voidmain()
{
floata,b,c,s,Area;
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>cIIa+c>bIIb+c>a)
{
s=(a+b+c)/2;
Area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(H%f\nu,Area);
}
else
printf("youinputthenumberiserror!
\n");
}
第四章
1:
0
2:
20
3:
(x<30&&x>20)ll(x<-100)
4:
***a=25,b=14,c=16***
5:
37
6:
if(a<=b)printf(,,r,);
elseprintf(n2n);
7、#include
(chara,b,tl,t2;
scanf("%c,%c",&a,&b);
tl=a>b?
a:
b;
t2=a
a:
b;
if((tl-t2)%2==0)printf("%c,%c",a+l,b+1);
elseprintf(n%c,%c",a-l,b-l);
getch();
}
8、
#include
voidmain()
(inttemp1=0,temp2=0,x,y,i=1;
printf("Pleaseinput(x,y):
");
scanf("%d,%d",&x,&y);
while((i*y)v=x)
(if(x==(i*y))(templ=l;break;}
temp2=i;
i++;
}
if(templ)
printfC'%d/%d=%d”,x,y,i);
else
printf("%d/%d>shang=%d,yushu=%d",x,y,temp2,x-y*temp2);getch();
}
9、
#include
voidmain()
{floatx,y,m=0,n=0;
scanf(”%f,%f”,&x,&y);
n=(x-2)*(x-2);
m=(y・2)*(y-2);
if((m+n)<=l)
printf("(%.3f,%.3f)Intheyuan",x,y);
else
printf("(%.3f,%.3f)outoftheyuan",x,y);
getch();
}
10、
#include
voidmain()
{inttemp=0,month,year;
printf("Pleaseinput(year,month):
");
scanf("%d,%d",&year,&month);
if((year%400==0)Il(year%4==0&&year%100!
=0))
temp=l;
if(month==2)
(if(temp)printf(n%dyear%dmonthhave29",year,month);
elseprintf("%dyear%dmonthhave28",year,month);
}
elseif(month%2==0)
printf("%dyear%dmonthhave30",year,month);
elseprintf(n%dyear%dmonthhave31",year,month);
getch();
)
11、
switch(a/10)
(case5:
m=4;break;
case4:
m=3;break;
case3:
m=2;break;
case2:
m=l;break;
default:
m=5;
}
12、
方法一:
#include
voidmain()
{intx,y;
scanf("%d",&x);
if(x<0&&x>-5)
y=x-l;
elseif(x==0)
y=x;
elseif(x>0&&x<8)
y=x+l;
printf(n%dH,y);
getch();
}
方法二:
#include
voidmain()
{intx,y;
scanf("%d",&x);
if(xv8&&x>・5)
(if(x==0)y=x;
elseif(x>0&&x<8)y=y=x+1;
elsey=x-l;
printf(”%d”,y);
elseprintf("Inputerror!
!
!
");getch();
}
方法三:
#include
voidmain()
{intx,y,i;
scanf("%d",&x);
if(xv8&&x>-5)
(if(x==0)i=l;
elseif(x>0&&x<8)i=2;
elsei=3;
)
elsei=4;
switch(i)
(case1:
y=x;printf("%d",y);break;
case2:
y=x+l;printf("%dn,y);break;
case3:
y=x-l;printf(n%d",y);break;
case4:
printf("Inputerror!
!
");break;
}getch();
}
第五章
1、voidmain()
{
intn,value;
inti,count=0;
floataverage=0;
longintsum=0;
scanf("%d",&n);
for(i=0;i { scanf("%dn,&value); if(value%2==0) ( sum+=value; count++; } } average=sum/(float)count; printf("theaverageis%f\nn,average); 2、 #include"stdio.h1' voidmain() ( charch; intzm=0,sz=0; ch=getchar(); while(ch! ='*') ( if((ch>='A'&&ch<='Z')II(ch>='a'&&ch<'z'))zm++; if(ch>='O'&&ch<=9) SZ++; ch=getchar(); } printf("zm=%d;sz=%d\n",zm,sz); } 3、 voidmain() { longi_value; intsum=0; inttemp=0; scanf("%ld",&i_value); if(i_value<0)(printf("youinputtheintiserror! \nn);return;}for(;;) ( temp=i_value%10; Lvalue=i_value/10; sum+=temp; printf(H%d+n,temp); if(i_value==0)break; } printf("\b=%d\n”,sum); #include"stdio.h" voidmain() { charch; ch=getchar(); while(ch! ='.*) { if((ch>='A'&&ch<='Z')) ( ch=ch+32; putchar(ch); } elseif((ch>='a'&&ch<'z')) { ch=ch-32; putchar(ch); } else { putchar(ch); } ch=getchar(); } printf(n\nn); } voidmain() ( floatsum=200; intcount=0; for(;;) ( sum=sum+sum*0.045; count++; if(sum>500)break; } printf("the%dyearslatercomplete! \n",count); } voidmain() { inti,temp=0,bit=0; for(i=1;i<=999;i++) ( if(i%3==0) temp=i; for(;temp! =0;) bit=temp%10; if(bit==5)(printf("%d,",i);break;)temp=temp/10; ) } ) printf(n\b\nH); } 7、 #include intmain(void) ( intsteps=29,i=1; while(steps%7) { steps=(30*++i)-1; } printf(nTotalsteps: %d\n",steps); return0; } 8、 main() { inti,j,k,n; printf(nthenarcissusnumberis: \n"); for(n=l00;n<1000;n++) {i=n/100; j=n/10-i*10; k=n%10; if(i*i*i+j*j*j+k*k*k==n)printf("%d\n",n); } } 9、 main() {floati,j,temp,n,sum; intt; i=2;j=l;sum=0; scanf(”%d”,&t); for(n=1;nv=t;n++) (sum=sum+i/j; temp=i;i=i+j;j=temp; } printf(n2/l+3/2+5/3+8/5+13/8+..=%f\nn,sum); } 10、 voidmain() { intnWidth,a,b; scanf(n%dn,&nWidth); for(a=(nWidth%2);a<=nWidth;a+=2) ( for(b=0;bvnWidth;b++) ( charchOut=' intnleft=(nWidth-a)/2; intnright=(nWidth+a)/2; if(b>=nleft&&b ( chOut } printf(n%cH,chOut); } printf(n\nn); } } 11、 voidmain() { inti=l,j=l; for(i=l;iv=9;i++) { for(j=l;j<=i;j++) printf(”%d*%d=%d”,i,j,i*j); printf(n\nH) } } 12、 #include"stdio.h" voidmain() charc; //count1是正数的个数 //count2是负数的个数 intcount1=0,count2=0; //suml是正数之和 //sum2是负数之和 intsuml=0,sum2=0; intflage=0; c=getchar(); while(c! =*) { if(c==L,)flage=1; if(flage==0) (sum1+=(c-48);count1++;} else (if(c! =*-*)(sum2-=(c-48);flage=0;count2++;})c=getchar(); } printf("%d,%d\nn,countl,count2); printf("%f,%f\nn,suml/countl,sum2/count2); } 13、 voidmain() { inti,j; ints=0; for(i=100;i<=999;i++) ( s=0; for(j=l;j ( if(i%j==0)s=s+j; } if(s==i)printf(n%5dn,i); } } 14、 #include #include voidmain() { intn; longk=1; floate=1; n=1; clrscr(); while(fabs(1.0/k)>=0.000001) n++; e=e+1.0/k; k=k*n; printf(n%f\nH,e); } 15、 #include"math.h" main() (floatx0,xl,x2,f0,fl,f2; xl=-10; fl=2*xl*xl*xl-4*xl*xl+3*xl; x2=10; f2=2*x2*x2*x2-4*x2*x2+3*x2; do (x0=(xl+x2)/2; f0=2*x0*x0*x0-4*x0*x0+3*x0; if((fO*fl)vO) {x2=x0;f2=f0;} else (xl=xO;fl=fO;) ) while(fabs(fO)>1e-6); printf("2*x*x*x・4*x*x+3*x=0\n"); printf("therootis%f\n",xO); Aft、- 第八早 1、 #include while((r=a%b)! =0)(a=b; b=r; }returnb; } intmultiple(inta,intb)(intd; d=divisor(a,b);returna*b/d; voidmain() (inta,b,c,d; printf(Hintput(a,b): H); scanf("%d,%d",&a,&b); c=divisor(a,b); d=multiple(a,b); printf("\ndivisor=%d\t\tmultiple=%d",c,d); } 2、 #include voidtongji(chara[]) (intb[3]=(0,0,0},i=0; while(a[i]! =,\0,) (if((a[i]<=90&&a[i]>=65)ll(a[i]<=122&&a[i]>=97)) b[0]++; elseif(a[i]<=57&&a[i]>=48) b[l]++; else b⑵++; i++; } printf("zimuhave: %d;shuzihave: %d;qitahave: %d",b[0],b[l],b[2]);getch(); } voidmain() (chara[100]; printf("Pleaseinputastring: "); gets(a); tongji(a); } 3、 #include intflower(intn) {intx=0,i,j,k; i=(n%10); j=(n/10%10); k=(n/100); x=i*i*i+j*j*j+k*k*k; if(x==n)return1; elsereturn0; } voidmain() {inti,n; printf("Pleaseintputn: "); scanf("%d",&n); if(n>999lln<100)printf(nInputerror! ! ! "); else (for(i=100;i if(flower(i))printf(n%d”,i); }getch(); } 4、 #include #defineSWAP(a,b)t=b;b=a;a=t; main() (floatx,y,t; printf("Entertwonumber(x,y): "); scanf(”%f,%f”,&x,&y); SWAP(x,y); printf("\n\nExchanged: x=%f,y=%f",x,y);getch(); } 5、 #include intfib(intn) {intp; if(n==0)p=0; elseif(n==l)p=l; elsep=fib(n-1)+fib(n-2); returnp; } voidmain() (intn; printf(nPleaseinputfib: "); scanf("%d",&n); printf("\n\nfibonacci=%d",fib(n)); } 6、 #include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课后 习题 解答 免费版 doc