当前位置:
文档之家› C语言程序设计 第 版 丁亚涛
C语言程序设计 第 版 丁亚涛
int i,j=5; /* 假设插入位置为 5 */ char s='s'; /* 假设插入字符为's' */ gets(a); for(i=strlen(a);i>j;i--)
a[i]=a[i-1]; a[j]=s; printf("%s",a); } 4.参考程序 #include<string.h> void main() { int s[3][5]={1,2,3,4,5,2,3,4,5,6,3,4,5,6,7}; int i,j; int s1[3]={0,0,0},s2[5]={0,0,0,0,0}; for(i=0;i<3;i++)
y=(x+1)/(x-2); else
y=(x-1)/(x-2); printf("y=%f",y); } 3.参考程序 #include <stdio.h> void main() { int score; printf("Enter a score:"); scanf("%d",&score); printf("score=%d:",score); switch(score/10) {
} } 5.参考程序 #include <stdio.h> void main() {
int i,j,k; i=k=1; while(i<=10) {
for(j=1;j<=k;j++,i++) printf("%d",i%10); printf("\n"); k++; } } 6.参考程序 #include <stdio.h> void main() { int i,j,k; for(i=-3;i<=3;i++) { for(j=1;j<=abs(i);j++) printf("%c",32); /* 打印空格 */ for(j=1;j<=7-2*abs(i);j++) printf("*"); printf("\n"); } }
char s1,s2; s1=getchar(); s2=s1-32; printf("%c\n",s2); }
习题 4
【参考答案】
一、单选题
1.C
2.D
3.D
4.B
5.A
6.D
7A 11.B 12.D 13.D 14.C 15.C 16.B 17.B 18.C 二、阅读程序题
s=s+i*j; printf("%d",s); } 2.参考程序 #include <stdio.h> void main() { int i,j,s1,s2; for(i=0,s1=s2=0;i<10;i++) { scanf("%d",&j); if(j>0)
s1=s1+j; else
s2=s2+j; } printf("%d,%d\n",s1,s2); } 3.参考程序 #include <stdio.h> void main() { int i,s; for(i=6,s=0;i<=96;i++) {
printf("%5d",s2[i]); } 5.参考程序 #include<stdio.h> #include<string.h> void main() { char s[3][80]; int a=0,b=0,c=0,d=0,e=0,i,j; for(i=0;i<3;i++)
gets(s[i]); for(i=0;i<3;i++)
printf("%3d %3d %3d %3d %3d",a,b,c,d,e); }
习题 7
【参考答案】
一、单选题 1.B 2.C 3.A 4.A 5.D 6.C 7.B 8.B 9.C 10.D 二、填空题 1. 值传递、地址传递、引用传递 2. 局部变量 3. int 4. x[i]
if(i%10==6 || i/10==6) s=s+i;
} printf("%d\n",s); } 4.参考程序 #include <stdio.h> void main() { int i; int w1,w2,w3; for(i=100;i<=999;i++)
{ w1=i%10; w2=i/10%10; w3=i/100; if(i==w1*w1*w1+w2*w2*w2+w3*w3*w3) printf("%d ",i);
1.a=2,b=1 2.c=1 三、程序设计题 1.参考程序
#include <stdio.h>
void main()
{
int a,b;
char c;
printf("INPUT A+(-*/)B\n");
scanf("%d%c%d",&a,&c,&b);
switch(c)
{
case '+':printf("%d+%d=%d\n",a,b,a+b);break;
《C 语言程序设计(第 3 版)》丁亚涛
教材习题与解答
习题 1
【参考答案】 1. C 语言基本特点:简洁、紧促、灵活、运算符丰富、数据结构丰富、移植性好等。 2. 程序如下: #include <stdio.h> void main() {
printf("This is my first c program. \n"); } 3. C 语言源程序文件扩展名为.c,目标文件扩展名为. obj,可执行文件扩展名为.exe
y=123.4567,y=□□123.46,y=123.45670 3. 2,1 4. 1234 5. 4,3 6. -6,-6 三、程序设计 1.参考程序: #include <stdio.h> #include <math.h> void main() {
float a,b,c,d,x1,x2; a=2;b=-3;c= -5; d=b*b-4*a*c; x1=(-b+sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a); printf("x1=%.2f,x2=%.2f\n",x1,x2); } 2.参考程序: #include <stdio.h> #include <math.h> void main() { float a,v,s; scanf("%f",&a); v=pow(a,3);s=6*a*a; printf("v=%.2f,s=%.2f\n",v,s); } 3.参考程序: #include <stdio.h> void main()
for(j=0;s[i][j]!='\0';j++) if(s[i][j]>='A'&&s[i][j]<='Z') a++; else if(s[i][j]>='a'&&s[i][j]<='z') b++; else if(s[i][j]>='0'&&s[i][j]<='9') c++; else if(s[i][j]==32) d++; else e++;
char a[80]= ""; int i,j=5; /* 假设删除位置为 5 */ gets(a); for(i=j;a[i]!='\0';i++)
a[i]=a[i+1]; a[i]='\0'; printf("%s",a); } 3.参考程序 #include<stdio.h> #include<string.h> void main() { char a[80]="";
printf("Data Error!\n"); else {
if(x<10) n=1; else if(x<100) n=2;
else if(x<1000) n=3; else n=4;
} printf("n=%d\n",n); }
习题 5
【参考答案】 一、选择题 1.B 2. D 3. C 4. C 5. B 6. C 7. D 8. C 9.A 10.D 11.B 12.B 13.B 14.D 15.C 16.C 二、填空题 1.for 语句、do while 语句、while 语句 2.i=14,j=16 3.k=14,n=-1 4.39 5.s=19 6.11111 7.10 8.7 9.8 10.5,5 三、改错题 1.for(i=0;i<5;i++) j++; for 控制部分用分号分隔 2.int j=0;while(j<10){j++;i=j;} 分号是多余的,否则会造成死循环 3.
case 10:printf("A\n");break; case 9:printf("B\n");break; case 8:printf("C\n");break; case 7:printf("D\n");break; case 6:printf("E\n");break; default:printf("F\n"); } } 4.参考程序 #include <stdio.h> void main() { int x,n; scanf("%d",&x); n=0; if(x<=0||x>=10000)