C语言第45周作业.docx
- 文档编号:9387577
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:18
- 大小:87.35KB
C语言第45周作业.docx
《C语言第45周作业.docx》由会员分享,可在线阅读,更多相关《C语言第45周作业.docx(18页珍藏版)》请在冰点文库上搜索。
C语言第45周作业
习题4-1
#include
voidmain()
{inta,b,c,d,t;
printf("Pleaseinputfournumbers:
\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>=b)
{t=a;a=b;b=t;}
if(a>=c)
{t=a;a=c;c=t;}
if(a>=d)
{t=a;a=d;d=t;}
if(b>=c)
{t=b;b=c;c=t;}
if(b>=d)
{t=b;b=d;d=t;}
if(c>=d)
{t=c;c=d;d=t;}
printf("排序结果如下:
\n");
printf("%d<%d<%d<%d\n",a,b,c,d);
printf("OK!
\n");
}
习题4-2
#include
voidmain()
{floatsum=0;
inti,n,m=1;
printf("Pleaseinputanumber:
\n");
printf("n=");
scanf("%d",&n);
if(n==0)
sum=1;
else
for(i=1;i<=n;i++)
{m*=i;
sum=sum+1.0/m;
}
printf("结果如下:
\n");
printf("1+1/2!
+…+1/n!
=%.4f\n",sum);
printf("OK!
\n");
}
习题4-3
#include
voidmain()
{intdata1,data2;
charop;
printf("Inputmopn(op:
+、-、*、/):
\n");
scanf("%d%c%d",&data1,&op,&data2);
switch(op)
{case'+':
printf("m+n=%d\n",data1+data2);break;
case'-':
printf("m-n=%d\n",data1-data2);break;
case'*':
printf("m*n=%d\n",data1*data2);break;
case'/':
printf("m/n=%d\n",data1/data2);break;
default:
printf("opisError!
Inputagain:
\n");
}
}
习题4-5
#include
#definePI3.14159
voidmain()
{charflag;
floatr,circle,area;
printf("Inputmarkacorb,andr\n");
scanf("%c%f",&flag,&r);
if(flag=='a')
{area=PI*r*r;
printf("areais%.2f\n",area);
}
if(flag=='c')
{circle=2*PI*r;
printf("circleis%.2f\n",circle);
}
if(flag=='b')
{area=PI*r*r;
circle=2*PI*r;
printf("areais%fandcircleis%.2f\n",area,circle);
}
}
习题4-6
#include
voidmain()
{intpsw;
printf("Whatisthepassword?
guessit!
\n");
printf("password=");
scanf("%d",&psw);
if(psw==2012)
printf("OK!
yourpasswordis2012\n");
else
printf("Sorru,Ican'tguessyourpassword.\n");
}
习题4-8
#defineN80
#include
voidmain()
{inti,m,count=0;
charchr,line[N];
printf("输入3行字符:
\n");
for(m=1;m<=3;m++)
{i=0;
while((chr=getchar())!
='\n')
line[i++]=chr;
line[i]='\0';
for(i=0;line[i]!
='\0';i++)
if(line[i]>='A'&&line[i]<='Z')
count++;
}
printf("大写字母数目:
%d\n",count);
}
习题4-10
#include
voidmain()
{intn;
printf("Inputanumber:
\n");
scanf("%d",&n);
if(n%3==0&&n%5==0)
printf("%disOK!
\n",n);
else
printf("%ddon'tdevideexactly.\n",n);
}
习题4-11
#include
voidmain()
{inti,N1,N2,N;
N1=1;
N2=2;
i=3;
while(i<=12)
{N=N1+N2;
N2=N1;
N1=N;
i++;
}
printf("一年后兔子的数量:
%d.\n",N);
printf("Ok!
\n");
}
习题4-17
#include
#include
voidmain()
{doublea,b,c,s,area;
printf("输入三角形的三条边长:
\n");
scanf("%lf%lf%lf",&a,&b,&c);/*%lf指定输入数据为double型*/
if(a+b>c&&a+c>b&&b+c>a)
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%.2lf,b=%.2lf,c=%.2lf,s=%.2lf\n",a,b,c,s);
printf("area=%.2lf\n",area);
}
else
printf("The3lengthsarenotsuitble.\n");
}
习题4-18
#include
voidmain()
{inti,j;
i=1;
while(i<10)
{printf("%4d",i);
i++;
}
printf("\n");
for(i=0;i<4*9;i++)/*显示一串“---------”*/
printf("-");
printf("\n");
for(i=1;i<10;i++)
{j=1;
while(j<=i)
{printf("%4d",i*j);
j++;
}
printf("\n");
}
}
习题5-1
#include
intfsum(intn)
{inti,m=1,sum=0;
for(i=1;i<=n;i++)
{m*=i;
sum+=m;
}
return(sum);
}
voidmain()
{longintsum=0;
intn,s;
printf("Inputanumber:
\n");
scanf("%d",&n);
if(n<=20)
{s=fsum(n);
printf("1+2!
+…+%d!
=%d\n",n,s);
printf("OK!
");
}
}
习题5-2
#include
voidmain()
{floatsum(intn);
intn;
floats;
printf("Inputanumber:
\n");
scanf("%d",&n);
s=sum(n);
printf("1-1/2+1/3-1/4+…+(-1)^(n+1)*1.0/n=%.4f\n",s);
printf("OK!
\n");
getch();
}
floatsum(intn)
{inti=1;
floatm=0.0,x=-1.0;
while(i<=n)
{x=-x;
m+=x/i;
i++;
}
return(m);
}
习题5-3
voidnumber(intintN,charhex16[80])
{inti,j,t;
charnum[16];
for(i=0;i<10;i++)
num[i]=(char)(i+48);
for(i=10;i<16;i++)
num[i]=(char)(55+i);
i=0;
while(intN>0)
{t=intN%16;
for(j=i;j>0;j--)
hex16[j]=hex16[j-1];
hex16[0]=num[t];
intN=intN/16;
i++;
}
hex16[i]='\0';
}
voidmain()
{voidnumber(int,char);
unsignedintx;
charhex[80];
printf("InputDecimalintegerx:
\n");
scanf("%u",&x);
number(x,hex);
printf("'x'shexadecimalinteger:
\n%s\n",hex);
getch();
}
习题5-4
#include
#include
floatanswer(floata,floatx0)
{doublex1;
x1=(x0+a/x0)/2.0;
if(fabs(x1-x0)>1e-6)
returnanswer(a,x1);
else
returnx1;
}
voidmain()
{floatx,a;
printf("Entera:
\n");
scanf("%f",&a);
x=answer(a,1.0);
printf("Theanswer:
x=%f\n",x);
}
习题5-5
#include
voidmain()
{intm=1,w=1,c,n=36;/*m代表男人,w代表女人,c代表小孩*/
while(m<=n/4)
{while(w<=(n-n/4)/3)
{c=n-m-w;
if(n==4.0*m+3.0*w+1*c/2)
{printf("男人:
%d\n",m);
printf("女人:
%d\n",w);
printf("小孩:
%d\n",c);
}
w++;
}
m++;
}
}
习题5-6
#include
#defineFUDGF(y)5.84+y
#definePR(a)printf("%d",(int)a)
#definePRINT(a)PR(a);putchar('\n')
voidmain()
{intx=2;
PRINT(FUDGF(5)*x);
}
习题5-7
答案是B.#definrpower(x)((x)*(x))
习题5-9
#include
intencrypt(intn)
{intthousand,hundred,ten,unit,t,s;
thousand=(n/1000+5)%10;
hundred=(n/100%10+5)%10;
ten=(n/10%10+5)%10;
unit=(n%10+5)%10;
t=thousand;
thousand=unit;
unit=t;
t=hundred;
hundred=ten;
ten=t;
s=thousand*1000+hundred*100+ten*10+unit;
return(s);
}
voidmain()
{intx,y;
printf("输入一个四位数:
\n");
scanf("%d",&x);
y=encrypt(x);
printf("密文:
%d\n",y);
getch();
}
习题5-11
#include
inta=1;
voidfun(void)
{staticinta;
a+=2;
printf("%d",a);
}
voidmain()
{inti;
for(i=1;i<=4;i++)
{a+=2;
fun();
}
printf("\n");
}
习题5-12
#include
intpower(intn)
{inti=1,s=1;
while(i<=n)
{s*=2;
i++;
}
returns;
}
longintfactorial(intn)
{inti=1;
longs=1;
while(i<=n)
{s*=i;
i++;
}
returns;
}
longsum(intn)
{inti=1;
longints=0;
while(i<=n)
{s=s+power(i)*factorial(i);
i++;
}
returns;
}
voidmain()
{intn;
printf("Pleaseinputn:
\n");
scanf("%d",&n);
if(n>9)
printf("%distoobig,Pleaseinputasmallernumber:
",n);
else
printf("S=2^1*1!
+2*2!
+…+2^%d*%d!
=%d\n",n,n,sum(n));
getch();
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 45 作业