C语言课后习题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言课后习题”。
习题
第三章
#include #include int main(){
int d,p;
double r,a,m;
scanf(“%d %d %lf”,&d,&p,&r);
a=(p/(p-d*r));
m=log(a)/log(1+r);
if(p>0&&d>0)
{
if(d
printf(“%.1f”,m);
else
printf(“God”);
}
else
printf(“0.0”);
return 0;}
勾股数
#include int main(){
int a,b,c,n;
scanf(“%d”,&n);
for(a=1;a
{
for(b=1;b
{
for(c=1;c
{
if(c*c==a*a+b*b)
{
if(a
{
printf(“%d %d %dn”,a,b,c);
}
}
}
}
}
return 0;}
第四章
计算分段函数值 #include int main(){
float x,y;
scanf(“%f”,&x);
if(x
else if(x>=1&&x
else if(x>=10)y=3*x-11;
printf(“%.2f”,y);
return 0;}
找出三个数中最大的数 #include int main(){
int a,b,c,max;
scanf(“%d%d%d”,&a,&b,&c);
max=a>b?a:b;
if(c>max)
max=c;
printf(“%d”,max);
return 0;}
10844成绩等级评分 #include int main(){
int x;
scanf(“%d”,&x);
if(x>=0&&x
{
switch(x/10)
{
case 10:
case 9: printf(“A”);break;
case 8 : printf(“B”);break;
case 7 : printf(“C”);break;
case 6 : printf(“D”);break;
default:
printf(“E”);break;
}
}
else
printf(“error”);
return 0;}
前续和后续字符 #include int main(){
char x;
x=getchar();switch(x){ case'0':printf(“first”);printf(“ %c”,x+1);break;case'9':printf(“%c ”,x-1);printf(“last”);break;case'1': case'2': case'3': case'4': case'5': case'6': case'7': case'8': printf(“%c ”,x-1);printf(“%c”,x+1);break;default: printf(“error”);break;
} return 0;}
20秒后的时间 #include #include int main(){
int h,m,s;
scanf(“%d:%d:%d”, &h,&m,&s);
s=s+20;
if(s>59)
{
s=s%60;
m++;
if(m>59)
{
m=m%60;
h++;
if(h>23)
h=0;
}
}
printf(“%02d:%02d:%02dn”, h, m, s);
return 0;}
分期还款
#include #include int main(){
int d,p;
double r,a,m;
scanf(“%d %d %lf”,&d,&p,&r);
a=(p/(p-d*r));
m=log(a)/log(1+r);
if(p>0&&d>0)
{
if(d
printf(“%.1f”,m);
else
printf(“God”);
}
else
printf(“0.0”);
return 0;}
第五章
字母分类统计 #include #include int main(){
char ch;
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;
while((ch=getchar())!='n')
{
if(ch=123)
a++;
else if(ch>=97&&ch
b++;
else if(ch=91)
c++;
else if(ch=65)
d++;
else if(ch>=58&&ch
e++;
else if(ch>=48&&ch
f++;
else if(ch>=33&&ch
g++;
else if(ch==32)
h++;
else
i++;
}
printf(“%d %d %d %d”,d+b,f,h,a+c+e+g+i);}
水仙花数
#include int main(){
int n,a,b,c;
for(n=100;n
{
a=n/100;
b=(n%100)/10;
c=n%10;
if(n==a*a*a+b*b*b+c*c*c)
{
printf(“%dn”,n);
}
}
return 0;}
计算数列和
#include int main(){
int a=1,n,i,sum=0;
scanf(“%d”,&n);
for(i=1;i
{
sum=sum+a;
a=a+2;
}
printf(“%d”,sum);
return 0;}
自由落体
#include int main(){
int i,n;
double h=100.0,s=0.0,c=100.0;
scanf(“%d”,&n);
{
s=s+c;
h=h/2;
c=2*h;
}
printf(“%.3lf”,s);
printf(“%.3lf”,h);
return 0;}
迭代法求平方根 #include #include int main(){
float x1,x2,a;
x2=1;
scanf(“%f”,&a);
x1=a/x2;
while(fabs(x1-x2)>=1e-5)
{
x1=x2;
x2=0.5*(x1+a/x1);
}
printf(“%.4fn”,x2);
return 0;}
打印三角形
#include #include #include int main(){
int n,k,i,j;
scanf(“%d”,&n);
for(i=0;i
{
k=abs(n-1-i);
for(j=0;j
{
printf(“”);
}
for(j=0;j
{
printf(“*”);
}
printf(“n”);
}
return 0;}
勾股数
#include int main(){
int a,b,c,n;
scanf(“%d”,&n);
for(a=1;a
{
for(b=1;b
{
for(c=1;c
{
if(c*c==a*a+b*b)
{
if(a
{
printf(“%d %d %dn”,a,b,c);
}
}
}
}
}
return 0;}
第六章
18052插入数据 int x,i,t;
scanf(“%d”,&x);
a[15]=x;
for(i=15;i>0;i--){
if(a[i]
{
t=a[i];
a[i]=a[i-1];
a[i-1]=t;
} }
大于平均分
#include int main(){
int a[10];
int i,sum=0,average,count;
for(i=0;i
{
scanf(“%d”,&a[i]);
}
for(i=0;i
{
sum=sum+a[i];
}
average=sum/10;
count=0;
for(i=0;i
{
if(a[i]>average)
count++;
}
printf(“%d”,count);
return 0;}
输出不同的数据 #include int main(){
int a[20];
int i,t,p=0;
for(i=0;i
{
scanf(“%d”,&a[i]);
}
for(i=0;i
{
for(t=0;t
if(a[t]==a[i])break;
if(t==i)printf(“%dn”,a[i]);
} }
主对角线上的元素之和 #include int main(){
int a[3][4],i,j,sum=0;
for(i=0;i
{
for(j=0;j
{
scanf(“%d”,&a[i][j]);
}
}
for(i=0;i
{
sum+=a[i][i];
}
printf(“%dn”,sum);
return 0;}
1051 鞍点
#include int main(){ int i,j,k,t=0,flag=0,m=0,n=0,a[3][4],max,min;for(i=0;i
for(j=0;j
{
scanf(“%d”,&a[i][j]);
} }
for(i=0;i
max=a[i][0];
for(j=0;j
{
if(max
{
max=a[i][j];m=i;n=j;
}
}
for(k=0;k
{
min=a[m][n];
if(min>a[k][n])
flag=1;
}
if(flag==0)
{
t=1;
printf(“%dn”,a[m][n]);}
flag=0;}
if(t==0)
printf(“NO”);
return 0;}
ASCII码值之和的差 #include #include int main(){
char s1[80];
char s2[80];
int i,sum1=0,sum2=0;
gets(s1);
gets(s2);
for(i=0;i
{
sum1+=s1[i];
}
for(i=0;i
{
sum2+=s2[i];
}
printf(“%d”,sum1-sum2);
return 0;}
第七章
所有数字之和 #include int sum(int n){
if(n
return n;
int res=0;
res=(n%10)+sum(n/10);
return res;} main(){
int n;
scanf(“%d”,&n);
printf(“%d”,sum(n));}
元音字母
#include #include void yuan(char*s,char*s2){
int i,k=0;
char c;
for(i=0;*(s+i)!=' ';i++)
{
c=*(s+i);
switch(c)
{
case'a':
case'e':
case'i':
case'o':
case'u':
case'A':
case'E':
case'I':
case'O':
case'U':*(s2+k)=c;k++;break;
default:break;
}
}
*(s2+k)=' ';} int main(){
char str[81],str2[81];
gets(str);
yuan(str,str2);
printf(“%s”,str2);}
字符统计
#include #include #include int nL=0,nN=0;int statistics(char*s){
int nS=0,a;
while(*s!=' ')
{
a=*s;
if(a==' ')
nS++;
else
{
if(a>='1'&&a
nN++;
else if((a>='a'&&a='A'&&a
nL++;
}
s++;
}
return nS;} int main(){
char s[81];
int nS;
gets(s);
nS=statistics(s);
printf(“%d%d%dn”,nL,nN,nS);
return 0;}
选择排序
#include int sort(int a[],int n){
int i,j,k,tmp;
for(i=0;i
{
k=i;
for(j=i+1;j
if(a[j]
tmp=a[k];a[k]=a[j];a[i]=tmp;
} } int main(){
int a[10];
int i;
for(i=0;i
sort(a,10);
for(i=0;i
return 0;}
X的N次方
#include int F(int x,int n){
if(n==0)return 1;
else return x*F(x,(n-1));} int main(){
int x,n;
scanf(“%d%d”,&x,&n);
printf(“%d”,F(x,n));
return 0;}
行列互换
#include void swap(int*a,int*b){
int temp;
temp=*a;*a=*b;*b=temp;} void col(int a[][4],int i,int j){
int k;
for(k=0;k
swap((*(a+k)+i),(*(a+k)+j));} void row(int a[][4],int i,int j){
int k;
for(k=0;k
swap((*(a+i)+k),(*(a+j)+k));} int main(){
int a[4][4];
int i,j;
for(i=0;i
for(j=0;j
scanf(“%d”,&a[i][j]);
col(a,0,2);
row(a,0,2);
col(a,1,3);
row(a,1,3);
col(a,0,3);
row(a,0,3);
for(i=0;i
{
for(j=0;j
printf(“%d”,a[i][j]);
printf(“n”);
}
return 0;}
学生信息统计 #include void average(double a[][5],int n){
int i,j;
for(i=0;i
{
double sum=0,av;
for(j=0;j
sum=sum+a[i][j];
av=sum/5.0;
printf(“%.2f ”,av);
}
printf(“n”);} void average2(double a[][5],int n){
int i,j;
for(j=0;j
{
double sum=0,av;
for(i=0;i
sum=sum+a[i][j];
av=sum/n;
printf(“%.2f ”,av);
}
printf(“n”);} void top(double a[][5],int n){
int i,j;
double max;
for(j=0;j
{
max=a[0][j];
for(i=0;i
{
if(a[i][j]>max)max=a[i][j];
}
printf(“%.2f ”,max);
} } int main(){
double a[10][5];
int i,j;
for(i=0;i
for(j=0;j
scanf(“%lf”,&a[i][j]);
average(a,10);
average(a,10);
top(a,10);
return 0;}
C语言程序设计实验报告学院 数学与信息技术班级学号 11130730姓名指导教师 实验1 简单程序设计1. 实验目的(1) 熟悉C语言开发环境并掌握在该环境下如何编辑、编译、连接和运行......
C语言课后习题答案-第四版- 第一章5、请参照本章例题,编写一个C语言程序,输出以下信息: **************************** V e r y G o o d ! **************************** #incl......
第七章 函数调用 7-1 写两个函数,分别求两个整数的最大公约数和最小公倍数, #include void main() { int hcf(int,int); int lcd(int,int,int);int u,v,h,l; scanf("%d,%......
高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案――武汉大学出版社习题1参考答案一、选择题 1.A 2.D二、填空题1.BASIC、FORTRAN、AL_GOL60和COBOL 2.8 3......
第一章1.如何正确认识提出马克思主义中国化的重要意义?第一,马克思主义中国化的理论成果指引着党和人民的伟大事业不断取得胜利。第二,马克思主义中国化的理论成果提供了凝聚全......