C语言作业Word格式文档下载.docx
《C语言作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言作业Word格式文档下载.docx(50页珍藏版)》请在冰豆网上搜索。
-1)/[(I-1)
-]
式中:
D为一次可向银行的贷款额,a为每年可以还贷的金额,I=1+人(r为年利率),n为还清贷款的年数。
a、r、n由键盘输入。
floata,r,n,I,D,p,q;
请输入每年可以还贷的金额a,年利率r,还清贷款的年数n\n"
%f%f%f"
a,&
r,&
n);
I=1+r;
p=a*(pow(I,n)-1);
q=(I-1)*pow(I,n);
D=p/q;
一次可向银行贷款%f元"
D);
第三章
将China译成Glmre。
方法是:
用原来字母后面的第4个字母代替原来的字母。
charc1,c2,c3,c4,c5;
c1='
C'
+4;
c2='
h'
c3='
i'
c4='
n'
c5='
a'
%c%c%c%c%c\n"
c1,c2,c3,c4,c5);
把十进制数97转化为八进制、十六进制数。
intn=97;
oct=%o\n"
xct=%x\n"
设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
#definePI3.1415926
floatr,h,l,s,ss,sv,hs,hv;
请输入圆半径,圆柱高\n"
h);
l=2*PI*r;
s=PI*r*r;
ss=4*PI*r*r;
sv=4.0/3.0*PI*r*r*r;
hs=2*PI*r*r+2*PI*r*h;
hv=PI*r*r*h;
圆周长为%f,圆面积为%f,圆球表面积为%f,圆球体积为%f,圆柱表面积为%f,圆柱体积为%f"
l,s,ss,sv,hs,hv);
已知三角形的三边长,求三角形面积。
floata,b,c,p,s;
请输入三角形的三边长为:
\n"
b,&
c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("
此三角形的面积是%f"
s);
输入三个字母m,a,n,并以”man”\man(竖行排列)的形式输出
chara,b,c;
请输入三个字母\n"
%c,%c,%c"
\"
%c%c%c\"
a,b,c);
%c\n%c\n%c\n"
输入一个字符,找出他的前一个字符和后一个字符,并根据ASCII值,按从大到小的顺序输出这三个字符级ASCII码值。
charc1,c2,c3;
%c"
c2);
c1=c2-1;
c3=c2+1;
%c%c%c\n"
c1,c2,c3);
%d,%d,%d"
已知鸡免总头数为h(30),总脚数为f(90),求鸡免各有几只
inth,f,a,b;
请输入总头数和总脚数\n"
%d,%d"
h,&
f);
a=(4*h-f)/2;
b=h-a;
鸡有%d只,兔有%d只"
a,b);
输入一个三位正整数,反向输出对应的数
inti,j,k,l,m;
请输入一个三位整数:
%d"
i);
j=i/100;
k=(i-j*100)/10;
l=i-j*100-k*10;
m=l*100+k*10+j;
此数的倒置数为:
%d\n"
m);
计算方程ax2+bx+c=0的根
floata,b,c,x1,x2,p;
请输入a,b,c的值:
p=sqrt(b*b-4*a*c);
x1=(-b+p)/(2*a);
x2=(-b-p)/(2*a);
x1=%f,x2=%f\n"
x1,x2);
用putchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出
charc1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
%c\n%c\n"
c1,c2);
第四章
输入三个整数x,y,z,请把这三个数由小到大输出,
intx,y,z,m;
请输入三个整数\n"
y,&
z);
if(x>
y)
{m=x,x=y,y=m;
z)
{m=x,x=z,z=m;
if(y>
{m=y,y=z,z=m;
%d,%d,%d\n"
x,y,z);
当月收入超过1600元时,超过部分交税款20%。
试编写一程序计算税款(其中月收入由键盘输入。
floata,b=0;
请输入月收入\n"
a);
if(a>
1600)b=(a-1600)*0.2;
应缴税款为%f元\n"
b);
计算y=3x+6(x>
=0)
-x*x+2x-8(x<
0)
floatx,y;
请输入自变量x的值\n"
x);
y=3*x+6;
else
y=-x*x+2*x-8;
对应因变量的值为%f\n"
y);
为优待顾客,商店对购货在1000元和1000元以上的,八折优惠;
500元以上(包括500元,下同),1000元以下的,九折优惠;
200元以上,500元以下的,九五折优惠;
100元以上,200元以下的,九七折优惠;
100元一下不优惠。
请输入购货款后,打印出该交的货款。
请输入购货款\n"
=1000)
y=x*0.8;
elseif(x>
=500)
y=x*0.9;
=200)
y=x*0.95;
=100)
y=x*0.97;
elsey=x;
应交货款为%.1f元\n"
输入班号,输出该班学生人数(用switch语句编程)
intm,n;
请输入班号\n"
switch(m)
{
case21:
n=45;
break;
case22:
n=51;
case23:
n=48;
case24:
n=46;
case25:
case26:
n=52;
default:
输入错误\n"
}
该班有%d个学生\n"
第五章
任意输入N个数,统计其中正数,负数和零的个数。
intN,n,m,a=0,b=0,c=0;
请输入数字个数\n"
N);
for(n=1;
n<
=N;
n++)
printf("
请输入数字\n"
scanf("
if(m>
a++;
elseif(m<
b++;
else
c++;
正数有%d个,负数有%d个,零有%d个\n"
inta=0,b=0,c=0,n,i,m;
请输入数的个数:
for(i=1;
i<
=n;
i++)
请输入第%d个数:
i);
正数有:
%d个,负数有:
%d个,零有:
%d个\n"
求值
inti,j,k,a=0,b=0;
floatc=0,sum=0;
=100;
i++)a+=i;
for(j=1;
j<
=50;
j++)b+=j*j;
for(k=1;
k<
=10;
k++)c+=1.0/k;
sum=a+b+c;
sum=%.2lf\n"
sum);
在1~500中,找出所有能同时满足用3除余2,用5除余3,用7除余4的整数。
inti;
=500;
if(i%3==2&
&
i%5==3&
i%7==4)
printf("
任意输入一串字符,以“?
”结束,分别统计其中字母,数字和其他字符的个数。
inta=0,b=0,c=0;
chard;
while((d=getchar())!
='
?
'
)
if(d>
A'
d<
Z'
||d>
z'
elseif(d>
0'
9'
字母有%d个,数字有%d个,其他字符有%d个\n"
第六章
求任意20个数中的正数之和及个数。
inti,k=0;
floata[30],sum=0;
for(i=0;
30;
请输入第%d个数\n"
i+1);
a[i]);
if(a[i]>
{
sum+=a[i];
k++;
}
正数之和为%f\n"
正数的个数为%d\n"
k);
统计全班某门功课的平均成绩,找出最高,最低分。
inta[38],i,j,k,sum=0;
floatave;
请输入第1个同学的成绩:
a[0]);
j=k=a[0];
38;
请输入第%d个同学的成绩:
while(a[i]>
100||a[i]<
输入的成绩无效!
请重新输入!
scanf("
sum+=a[i];
j)j=a[i];
if(a[i]<
k)k=a[i];
ave=sum/38.0;
全班同学该门课的平均成绩为%f:
ave);
最高分为:
j);
最低分为:
一个数如果恰好等于他的因子之和,这个数就称为完数。
找出1000以内的所有完数。
intsum,i,n;
从2到1000的完备数有:
for(n=2;
1000;
sum=0;
for(i=1;
n;
if(n%i==0)sum=sum+i;
if(n==sum)printf("
电话传递数据加密。
intn,b,i,a[4];
请输入一个三位数\n"
a[0]=n/1000;
a[1]=(n/100)%10;
a[2]=(n%100)/10;
a[3]=n%10;
4;
i++)a[i]=(a[i]+5)%10;
b=a[0];
a[0]=a[3];
a[3]=b;
b=a[1];
a[1]=a[2];
a[2]=b;
n=1000*a[0]+100*a[1]+10*a[2]+a[3];
计算两个矩阵的乘积。
inta[2][3],b[3][4],c[2][4]={0};
inti,j,k,s;
请给数组a[2][3]赋值\n"
2;
for(j=0;
3;
j++)
a[i][j]);
请给数组b[3][4]赋值\n"
b[i][j]);
for(k=0,s=0;
3&
s<
k++,s++)
c[i][j]+=a[i][k]*b[s][j];
i++)
%d"
c[i][j]);
第七章
string.h>
voidchange(charstr[])
inti,j;
for(i=j=0;
str[i]!
\0'
;
if(str[i]>
str[i]<
||str[i]>
||i==0||str[i]!
=str[i-1])
str[j++]=str[i];
str[j]='
charstr[80];
gets(str);
change(str);
puts(str);
return;
intsum(intn)
inti,j,k,l;
i=n%10;
n=n/10;
j=n%10;
k=n/10;
l=i*i*i+j*j*j+k*k*k;
returnl;
intx,y;
for(x=100;
x<
x++)
y=sum(x);
if(y==x)
x);
intmin(intm,intn)
inti,j,k;
i=m;
j=n;
if(i>
j)
k=i;
i=j;
j=k;
while(k!
k=j%i;
j=i;
i=k;
k=m*n/j;
returnk;
inta,b,c,d,e;
intx,y,z,w;
请输入5个正整数\n"
%d,%d,%d,%d,%d"
c,&
d,&
e);
x=min(a,b);
y=min(c,d);
z=min(x,y);
w=min(z,e);
w);
intwanbeishu(intn)
inti,j=0;
if(n%i==0)j+=i;
returnj;
30000以内的完备数有:
for(x=1;
=30000;
y=wanbeishu(x);
if(x==y)printf("
intyueshuhe(intn)
intx,y,z;
互满数有:
y=yueshuhe(x);
z=yueshuhe(y);
if(x==z&
y)printf("
%d,%d\n"
x,y);
习题八
inta[200],b[200],m,n,len,*p,*q,*t;
请输入升序数组a的元素个数:
"
for(p=a;
p<
a+m;
p++)
请输入升序a的第%d个元素值:
p-a+1);
p);
请输入升序数组b的元素个数:
for(q=b;
q<
b+n;
q++)
请输入升序b的第%d个元素值:
q-b+1);
q);
p=a;
q=b;
len=m;
while(p<
a+len)
if(*q<
*p)
for(t=a+len-1;
t>
=p;
t--)*(t+1)=*t;
*p=*q;
len++;
q++;
if(q==b+n)break;