华科周纯杰版c语言答案.docx
- 文档编号:27660360
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:71
- 大小:31.18KB
华科周纯杰版c语言答案.docx
《华科周纯杰版c语言答案.docx》由会员分享,可在线阅读,更多相关《华科周纯杰版c语言答案.docx(71页珍藏版)》请在冰豆网上搜索。
华科周纯杰版c语言答案
第三章程序和流程控制
1.输入两个整数,输出较大者。
#include
voidmain()
{
inta,b;
intmax=0;
printf("Pleaseinputtwonumbers:
");
scanf("%d%d",&a,&b);
if(a<=b)max=b;
elsemax=a;
printf("Thelargernumberis%d\n",max);
}
2.有3个整数a,b,c,由键盘输入,输出其中最大的数。
#include
voidmain()
{
inta,b,c,max;
printf("Pleaseinputthreenumbers:
");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a>c)max=a;
elsemax=c;
}
else
{
if(b>c)max=b;
elsemax=c;
}
printf("Thelargestnumberis%d\n",temp);
}
3.从1累加到100,用while语句。
#include
#defineN100
voidmain()
{
inti=1,sum=0;
while(i<=N)
{
sum+=i;
i++;
}
printf("sum:
%d\n",sum);
}
4.已知a1=10,a2=-3,an=3an-1+an-2,求{a}的前十项。
#include
#defineN10
voidmain()
{
inta[20]={10,-3};
inti=0,m=0;
for(i=2;i { a[i]=3*a[i-1]+a[i-2]; } m=N; printf("The%dnumbersare: \n",m); for(i=0;i { printf("a[%d]=%d\n",i+1,a[i]); } } 5.输入一个自然数,判断它是奇数还是偶数。 #include voidmain() { inta,temp; printf("Pleaseinputanumbers: \n"); scanf("%d",&a); temp=a%2; if(temp==0) printf("Thenumber%disaneven! \n",a); else printf("Thenumber%disanoddnumber! \n",a); } 6.已知a1=8,an=an-1+bn,b1=1,bn=bn-1+3,求{a}前10项之和。 #include #defineN10 voidmain() { inta[N]={8},b[N]={1},i,sum=0; for(i=1;i { b[i]=b[i-1]+3; } for(i=1;i { a[i]=a[i-1]+b[i]; } for(i=0;i { sum+=a[i]; } printf("Thesumis: %d\n",sum); } 7.有一个函数写一程序,输入x,输出Y的值。 #include voidmain() { floatx,y; printf("Pleaseinputafloatnumberx=: "); scanf("%f",&x); printf("x=%f",x); if(x<1) y=x; elseif(x>=10) y=3*x-11; else y=2*x-1; printf("Thevalueofyis: %.3f\n",y); } 8.给一个不多于5位的的正整数,要求: 求出它是几位数,分别打印出每一位数字,最后按照逆序打印各位数字,例如原数为321,应输出为123。 #include #defineN99999 #defineM5 voidmain() { inti,j,k,m,b[M]; longinta,temp; printf("Pleaseinputanumber: \n"); scanf("%ld",&a); if(a<0||a>N) printf("Errorininputdata! ! ! \n"); else { temp=a; for(i=0;temp! =0;i++) { temp=temp/10; } m=i; printf("Thenumbera=%ldhave%dsinglenumbers\n",a,m); temp=a; for(j=0;j { b[j]=temp%10; temp=temp/10; } printf("Theorigalnumbersare: \n"); for(k=m-1;k! =-1;k--) { printf("%d",b[k]); } printf("\n"); printf("everyletteris: "); for(j=m-1;j>=0;j--) printf("%d\t",b[j]); printf("\n"); printf("Theinvertednumbersare: \n"); for(j=0;j { printf("%d",b[j]); } printf("\n"); } } 9.编写一猜数游戏程序,随机产生某个整数,从键盘反复输入整数进行猜数,当未猜中时,提示输入过大或过小.猜中时,指出猜的次数.最多允许猜20次. #include #include #include #defineN10 voidmain() { inta,b,i; randomize(); a=random(N); printf("Pleaseinputnumberyouguess: \n"); for(i=0;i<20;i++) { scanf("%d",&b); if(b==a) { printf("Congratulation! ! \nYourguessednumberisright! \n"); printf("Thetime(s)youhaveguessedis%d",i+1); break; } elseif(b>a) printf("Yournumberistoobig! ! \n"); else printf("Yournumberistoosmall! ! \n"); } printf("\n"); } 10.计算1-999中能被3整除,且至少有一位数字是5的所有整数。 #include #defineN999 voidmain() { inti,b,c,d; printf("Thenumbersare: \n"); for(i=1;i<=N;i++) { if(i%3) { b=i/100; c=(i-100*b)/10; d=i%10; if(b==5||c==5||d==5) printf("%d\t",i); } } } 11.输入两个整数,求它们的最大公约数和最小公倍数。 #include"stdio.h" voidmain() { inta,b,c,d; intcomYueShu; intcomBeishu; printf("pleaseinputtwonumber! "); scanf("%d%d",&a,&b); c=a; d=b; intr; //求公约数算法 while(c%d) { r=c%d; c=d; d=r; } comYueShu=d; comBeishu=a*b/comYueShu; printf("%d,%d",comYueShu,comBeishu); } 12.输入一个整数,求它包含又多少个2的因子。 (例如,8含有3个2的因子,10含有一个2的因子,15不含有2的因子。 ) #include"stdio.h" voidmain() { inta=0; intintegerGene=0; printf("inputanumber! \n"); scanf("%d",&a); while(a%2==0) { integerGene++; a/=2; } printf("%d\n",integerGene); } 13.计算1! ,2! ,3! …10! #include #defineN10 voidmain() { inti; longinta=1; printf("Theoutcomeare: \n"); for(i=1;i<=10;i++) { a*=i; printf("Theresultof%d! is%ld\n",i,a); } } 14.猴子吃桃问题: 第一天吃掉总数的一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第十天准备吃的时候见只剩下一个桃子,求第一天开始吃的时候桃子的总数。 #include #defineN10 voidmain() { inti,x[10]; x[9]=1; for(i=9;i>=1;i--) x[i-1]=2*(x[i]+1); printf("Thetotalnumbersinthefirstdayare: %d\n",x[0]); } 15.输入圆锥体的底半径r和高h,计算出圆锥体的体积并输出 #include #definePI3.1415926 voidmain() { floatr,h,v; printf("Pleaseinputtheradiusandtheheight: \n"); scanf("%f%f",&r,&h); v=PI*r*r*h/3; printf("Thevolumeofis%.6f\n",v); } 16题 #include"stdio.h" voidmain() { inta,n; longtmp,SUM=0; do { printf("\nPleaseinputthenumbera="); scanf("%d",&a); }while(! (a>=0&&a<=9)); printf("\nPleaseinputthenumber,it'svalueisnottoobign="); scanf("%d",&n); tmp=a; while(n--) { SUM+=tmp; tmp=tmp*10+a; } printf("\na+aa+aaa+...=%ld(a=%d)\n",SUM,a); } 17题 #include"stdio.h" voidmain() { unsignedcharweek[7][20]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","saturday"}; unsignedcharweekday; do { printf("\nPleaseinputtheweeday(0= "); scanf("%d",&weekday); }while(! (weekday>=0&&weekday<=6)); printf("\n%dcorrespoindto%s\n",weekday,week[weekday]); } 18题 #include"stdio.h" #include"math.h" voidmain() { floatx,y; floatResult; inti=1; printf("\nPleaseinputthevaluex="); scanf("%f",&x); Result=1.0; y=x; do { Result+=y; y=(y*x)/(i+1); i++; }while(y>1e-6); printf("\nThenaturalconstante,it's%fpow=%f",x,Result); } 19题 #include"stdio.h" #include"math.h" voidmain() { floata; floatx1,x2; printf("\nPleaseinputthenumbera="); scanf("%f",&a); x1=x2=a/2; do { x1=x2; x2=(x1+(a/x1))/2; }while(fabs(x2-x1)>1e-5); printf("\nInputanamber%f,It'ssqrt=%f",a,x2); } 第5章课后编程习题参考答案 2.已有一个已排好序的数组,现在输入一个数,要求按照原来排序的规则将它插入数组中。 #include #defineN7 voidmain() { inta[N]={1,5,16,45,87,120}; intn,i,j,temp1,temp2,end; printf("pleaseenteranumber: \n"); scanf("%d",&n); end=a[N-2]; if(n>end) a[N-1]=n; else {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华科周纯杰版 语言 答案