大学生C语言课后习题全部答案详解文档格式.docx
《大学生C语言课后习题全部答案详解文档格式.docx》由会员分享,可在线阅读,更多相关《大学生C语言课后习题全部答案详解文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
putch(ch);
#include〈stdio。
#include〈conio。
h〉
//定义
inta=0,b=0,he=0,cha=0,ji=0;
doubleshang,x;
//防止a,b的值为0
printf(”请输入非零的a\n”);
scanf(”%d”,&
a);
printf("
请输入非零的b\n"
scanf(”%d"
,&
b);
//运算
he=a+b;
cha=a-b;
ji=a*b;
shang=a/b;
x=(float)a/b;
//输出
result:
\n”);
a+b=%d\n"
,he);
a-b=%d\n"
cha);
a*b=%d\n”,ji);
printf(”a/b=%f\n”,shang);
(float)a/b=%f\n"
x);
}#include<
#include〈conio.h>
inta=0,b=0,he=0,cha=0,ji=0;
//防止a,b的值为0
do
{
printf(”请输入非零的a\n”);
,&a);
}while(a==0);
scanf("
%d”,&b);
}while(b==0);
cha=a—b;
x=(float)a/b;
printf(”a+b=%d\n”,he);
a-b=%d\n”,cha);
a*b=%d\n"
ji);
printf(”a/b=%f\n"
(float)a/b=%f\n”,x);
{inta=0,b=4;
printf(”请输入一个不多于4位的正整数:
”);
scanf("
%d”,&
if(a>
=0&&a〈10)
b=1;
if(10<
=a&
&
a〈100)
b=2;
if(100<
a〈1000)
b=3;
printf(”输出%d\n"
b);
}#include〈stdio.h>
math。
floata,b,c,delta;
doublex1,x2;
printf(”请输入a,b,c:
\n"
scanf(”%f%f%f”,&a,&b,&
c);
delta=b*b—4*a*c;
if(delta〈0)
方程无实数解!
else
x1=(—b+sqrt(delta))/2*a;
x2=(-b-sqrt(delta))/2*a;
x1=%f,x2=%f\n”,x1,x2);
}
stdio.h>
intyear,flay;
printf(”请输入年份:
%d"
&
year);
if(year%400==0)
flay=1;
elseif(year%4==0&&year%100!
=0)
elseflay=0;
switch(flay)
{
case0:
printf(”%d为平年\n”,year);
break;
case1:
%d为闰年\n"
year);
break;
}#include<
intyear,flay;
\n”);
scanf(”%d”,&
if(year%400==0)
elseif(year%4==0&
year%100!
flay=1;
elseflay=0;
case1:
printf(”%d为闰年\n"
,year);
}#include〈stdio。
#include〈math。
inta,b,c;
doubled,x1,x2;
%d%d%d”,&a,&
b,&c);
d=b*b-4*a*c;
if(d〈0)
printf(”没有实根\n"
x1=(—b+sqrt(d))/(2*a);
x2=(—b—sqrt(d))/(2*a);
printf(”x1=%f,x2=%f\n"
,x1,x2);
math.h〉
inta,b,c;
doubled,x1,x2;
%d%d%d”,&a,&
b,&
if(a==0)
不合法的一元二次方程\n"
d=b*b—4*a*c;
if(d〈0)
printf("
没有实根\n”);
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf(”x1=%f,x2=%f\n”,x1,x2);
}
%d%d%d"
a,&
printf(”不合法的一元二次方程\n”);
d=b*b—4*a*c;
printf(”没有实根\n"
{
x1=(-b+sqrt(d))/(2*a);
x2=(—b—sqrt(d))/(2*a);
x1=%f,x2=%f\n”,x1,x2);
}#include<
stdio.h〉
#include〈math。
doubled,x1,x2;
%d%d%d”,&a,&
c);
printf(”不合法的一元二次方程\n”);
d=b*b—4*a*c;
if(d<
0)
没有实根\n"
x2=(—b—sqrt(d))/(2*a);
x1=%f,x2=%f\n"
}
}#include〈stdio.h〉
\
inty;
"
y);
if(y〉0)
if(y%400==0)
%d年是闰年\n”,y);
else
if(y%100==0)
printf("
%d年是闰年\n"
y);
else
if(y%4==0)
printf(”%d年是闰年\n"
y);
else
printf(”%d年不是闰年\n”,y);
printf(”错误\n"
inty,m,d,yt,mt,dt,age;
printf(”请按格式2010—12—10输入你的生日"
scanf(”%d-%d-%d"
y,&
m,&
d);
printf(”请按格式2010-12-10输入今天的日期"
scanf(”%d-%d—%d”,&
yt,&mt,&dt);
age=yt-y;
if(mt<
=m)
age-—;
printf(”你的年龄是:
%d\n”,age);
inta,b,c;
printf(”输入三角形的三个边长”);
%d%d%d”,&a,&
if((a+b〉c)&&
(b+c〉a)&
(a+c〉b))
{if(a==b||b==c||a==c)
{if(a==b&
b==c)
printf(”等边三角形\n"
else
等腰三角形\n"
}
一般三角形\n"
}
不能构成三角形\n"
}#include〈stdio.h>
inti,n=0;
for(i=100;
i<
1000;
i++)
if(i%10==2||i%100==2)
{printf(”%4d"
i);
n++;
printf(”\n"
printf(”%d"
n);
inti,n=0;
for(i=100;
if(i%10==2||i%100==2)
{printf(”%4d"
,i);
printf(”\n”);
%d”,n);
}#include〈stdio。
inti,n=0;
if(i%10==2||i%100==2)
{printf(”%4d"
%d”,n);
}#include<
#include<
intn=0,s=1,i=0;
input:
scanf(”%d"
,&n);
for(i=1;
=n;
s=s*2;
printf(”2^%d=%d\n"
,n,s);
intn=0,sum=0,i=0;
n);
sum=sum+pow(2,i);
2^1+2^2+.。
.。
2^n=%d"
,sum);
math.h>
input:
scanf(”%d”,&n);
for(i=1;
i〈=n;
sum=sum+pow(2,i);
2^1+2^2+。
。
2^n=%d”,sum);
chara=’\0’,b=’\0'
;
intsum=0;
printf(”请输入两个数字:
”);
a=getchar();
b=getchar();
sum=(a—'
0'
)+(b—'
0’);
printf(”%d\n"
sum);
chara,b;
intc,d;
请输入字符型数字”);
scanf(”%c%c”,&
a,&
c=a—'
;
d=b-'
printf(”\n%d”,c+d);
}#include〈stdio.h〉
//#definenum10
inta1[20],b1[20],a,b,num=20,i=0;
//a1[20]是存放成绩,b1[20]存放学号,
//a是成绩查找的上限,b是成绩查找的下限
//获得数据
printf(”输入学生20组成绩和学号”);
for(i=0;
num;
\n请输入学号:
scanf(”%d"
b1[i]);
printf(”请输入分数:
%d"
a1[i]);
\n请输入你要查找分数段的下限:
%d”,&
\n请输入你要查找分数段的上限:
scanf(”%d"
,&b);
查找结果是:
for(i=0;
i〈=num;
if(a1[i]>
=a&&a1[i]<
=b)
printf(”\n学号:
%d成绩:
%d”,b1[i],a1[i]);
inta[10],b[10],num=10;
inti=10,j=10,t;
输入学生10组成绩和学号”);
\n请输入学号:
%d”,&b[i]);
printf(”\n请输入分数:
,&a[i]);
//冒泡交换位置
i〈num-1;
for(j=0;
j〈num-1;
j++)
{
if(a[j]〈a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
//循环输出
前三名是:
3;
printf(”\n第%d名学号:
%d成绩:
,i+1,b[i],a[i]);
string。
chara[100]="
,b[100]=”"
inti,n,j=0;
INPUT:
gets(a);
n=strlen(a);
=n;
if((a[i]〉='
a’&&a[i]<
=’z'
)||(a[i]>
='
A’&&
a[i]〈='
Z’))
b[j]=a[i];
j++;
结果是”);
puts(b);
chara[100]=”"
b[100]=””;
inti,n,j=0;
gets(a);
n=strlen(a);
a'
a[i]〈=’z’)||(a[i]〉='
A'
&
a[i]〈='
b[j]=a[i];
j++;
#include〈string.h>
chara[100]=””;
inti,n,j=0,k=0;
if(a[i]==’('
)j++;
if(a[i]==’)’)k++;
printf(”结果是:
(有%d个,)有%d个\n"
j,k);
if(j!
=k)printf("
两者的数目不相等\n”);
elseprintf("
两者的数目相等\n"
#defineM3
#defineN5
{
inta[N][M]={0},b[N][N]={0},c[M][N
]={0},i=0,j=0;
printf(”inputa[][]:
N;
for(j=0;
j<
M;
a[%d][%d]="
i+1,j+1);
scanf(”%d”,&
a[i][j]);
}
inputb[][]:
M;
{
printf(”b[%d][%d]=”,i+1,j+1);
scanf("
%d”,&b[i][j]);
c[i][j]=a[i][j]+b[i][j];
outputc[][]:
i〈N;
j〈M;
printf(”%4d”,c[i][j]);
printf(”\n"
#include〈string。
chara[100]=””;
inti,n,j=0,k=0;
printf(”INPUT:
i〈=n;
if(a[i]=='
(’)j++;
if(a[i]==’)'
)k++;
printf(”结果是:
(有%d个,)有%d个\n”,j,k);
=k)printf(”两者的数目不相等\n”);
#include〈string.h〉
chara[100]=””,b[100]="
”;
inti,n,j=0;
INPUT:
if((a[i]〉=’a'
a[i]<
z'
)||(a[i]>
=’A’&
&a[i]<
=’Z'
))
b[j]=a[i];
printf(”结果是"
puts(b);
}#include〈stdio.h>
inta[10],b[10],num=10;
inti=10,j=10,t;
printf(”输入学生10组成绩和学号"
i〈num;
printf(”\n请输入学号:
,&b[i]);
printf(”\n请输入分数:
a[i]);
num-1;
num-1;
if(a[j]〈a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
t=b[j];