程序汇编.docx
- 文档编号:24193254
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:38
- 大小:25.93KB
程序汇编.docx
《程序汇编.docx》由会员分享,可在线阅读,更多相关《程序汇编.docx(38页珍藏版)》请在冰豆网上搜索。
程序汇编
例3.求两个整数中的较大者。
(1-3.c)
#include
voidmain()/*主函数*/
{
intmax(intx,inty);/*对被调用的max函数进行声明*/
inta,b,c;/*定义整型变量a,b,c*/
scanf(“%d,%d”,&a,&b);/*输入变量a和b的值*/
c=max(a,b);/*调用max函数,将得到的值赋给c*/
printf(“max=%d\n”,c);/*输出c的值*/
}
intmax(intx,inty)/*定义max函数,值为整型,形参为整型*/
{
intz;/*max函数中的声明部分,定义z为整型*/
if(x>y)z=x;/*如果x大于y,将x的值赋给变量z*/
elsez=y;/*否则,将y的值赋给变量z*/
return(z);/*将z的值返回到主函数中调用函数的位置*/
}
1.设有:
inta=1,b=2,c=3,d=4,m=2,n=2;求执行(m=a>b)&&(n=c>d)后n的值
(2)
2.设有:
main()
{inta=0,b=1;
a++&&b++;
a++||b++;}
求执行后a,b的值(A=2,B=1)
#include
#include
main()
{floata,b,c,disc,x1,x2,p,q;
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);
}
1.以下程序的输出结果是(B)
#include
main()
{inti=010,j=10;
printf(“%d,%d\n”,++i,j--);}
(A)11,10(B)9,10(C)010,9(D)10,9
2.以下程序的输出结果是(D)
#include
main()
{intk=11;
printf(“k=%d,k=%o,k=%x\n”,k,k,k);}
(A)k=11,k=12,k=11(B)k=11,k=13,k=13
(C)k=11,k=013,k=0xb(D)k=11,k=13,k=b
3.若有定义:
intx,y;chara,b,c;并有以下输入数据
(此处
1u2
AuBuC
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D)
(A)scanf(“x=%d,y=%d”,&x,&y);a=getchar();b=getchar();c=getchar();
(B)scanf(“%d%d”,&x,&y);a=getchar();b=getchar();c=getchar();
(C)scanf(“%d%d%c%c%c”,&x,&y,&a,&b,&c);
(D)scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,&c);
例:
输入两个实数,按代数值由小到大的顺序输出这两个数(4-5.c)
#include
voidmain()
{
floata,b,t;
scanf(″%f,%f″,&a,&b);
if(a>b)
{t=a;
a=b;
b=t;}
printf(″%5.2f,%5.2f\n″,a,b);
}
例:
输入三个数a,b,c,要求按由小到大的顺序输出。
#include
voidmain()
{
floata,b,c,t;scanf(″%f,%f,%f″,&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}
构成三角形的必要条件是两边之和大于第三边,因此在计算
三角形面积之前应当进行该条件的判断。
(4-1.c)
#include
#include
main()
{doublea,b,c,s,area;
scanf("%lf,%lf,%lf",&a,&b,&c);
if(a+b>c&&b+c>a&&c+a>b)
{
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%7.2f\n",area);
}
else
printf(“Itisnotatrilateral.\n”);
}
例将百分制成绩S1转换为5分制成绩S2.(4-6.c
#include
main()
{ints1,s2;
printf("Enters1:
");
scanf("%f",&s1);
if(s1<60)
s2=1;
elseif(s1<70)
s2=2;
elseif(s1<80)
s2=3;
elseif(s1<90)
s2=4;
else
s2=5;
printf(“s2=%d\n”,s2);}
例输入两数并判断其大小关系
#include
main()
{intx,y;
printf("Enterintegerx,y:
");
scanf("%d,%d",&x,&y);
if(x!
=y)
if(x>y)printf("X>Y\n");
elseprintf("X else printf("X==Y\n"); } 例求一个数的绝对值(if的第一种形式)(4-2.c) #include voidmain() {intx,y; printf(“enterx: "); scanf("%d",&x); y=x; if(y<0) y=-y; printf(“x=%d,y=%d\n",x,y); } 例输入两个数并判断两数相等否(if的第二种形式)(4-3.c) #include voidmain() {inta,b; printf("Entera: "); scanf("%d",&a); printf("Enterb: "); scanf("%d",&b); if(a==b) printf("a==b\n"); else printf("a! =b\n"); } x+1x<0 y=x+20<=x<10 x+310<=x<20 x+4x>=20 #include“stdio.h” voidmain() {intx,y; printf(“inputx: ”); scanf(“%d”,&x); if(x<0) y=x+1; elseif(x<10) y=x+2; elseif(x<20) y=x+3; elsey=x+4; printf(“y=%d\n”,y);} (if语句)练习题 1.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(A) #include“stdio.h” voidmain() {intx; scanf(“%d”,&x); if(x++>5)printf(“%d”,x); elseprintf(“%d\n”,x--); } (A)7和5(B)6和3(C)7和4(D)6和4 2.以下程序的输出结果是(C) #include“stdio.h” voidmain() {inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec++; printf(“%d\n”,c); } (A)0(B)1(C)2(D)3 3.以下程序的运行结果为____ #include“stdio.h” voidmain() {intx=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(“x=%d,y=%d\n”,x,y);x=20,y=0 } 例: /*4-11.c*/ main() {inti=2; switch(i) {case1: printf(“Iamincase1\n”); case2: printf(“Iamincase2\n”); case3: printf(“Iamincase3\n”); default: printf(“Iamindefault\n”);} } 例 #include“stdio.h” voidmain() {intscore; scanf(“%d”,&score); switch(score) {case1: printf(“Monday! ”); case2: printf(“Tuesday! ”); case3: printf(“Wednesday! ”); case4: printf(“Thursday! ”); case5: printf(“Friday! ”); case6: printf(“Saturday! ”); case7: printf(“Sunday! ”); default: printf(“dataerror! ”); } #include voidmain() {charch; ch=getchar(); switch(ch) {case‘A’: printf(“成绩优秀: 90-100\n");break; case‘B’: printf(“成绩良好: 80-90\n");break; case‘C’: printf(“成绩中等: 70-79\n");break; case‘D’: printf(“成绩及格: 60-69\n");break; case‘E’: printf(“成绩不及格: 0-59\n");break; default: printf(“输入非法字符\n");break; } } (switch语句)练习题 1.以下程序的运行结果为—— #include“stdio.h” voidmain() {intx=1,a=0,b=0; switch(x) {case0: b++; case1: a++; case2: a++;b++;} printf(“a=%d,b=%d\n”,a,b);}a=2,b=1 2.以下程序的运行结果为—— #include“stdio.h” voidmain() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break;} case2: a++;b++;break; } printf(“a=%d,b=%d\n”,a,b); } a=2,b=1 例: 写程序,判断某一年是否为闰年。 (4-9 (1).c) 闰年的条件应符合下面二者之一: (1)能被4整除,但不能被100整除,如2008年; (2)能被4整除,又能被400整除,如2000年。 #include voidmain() {intyear,leap; printf(“pleaseenterayear: ”); scanf(“%d”,&year); if(year%4! =0)leap=0; elseif(year%100! =0)leap=1; elseif(year%400! =0)leap=0; elseleap=1; if(leap) printf(“%disaleapyear.\n”,year); else printf(“%disnotaleapyear.\n”,year);} 例: 写程序,判断某一年是否为闰年。 (4-9 (2).c) 闰年的条件应符合下面二者之一: (1)能被4整除,但不能被100整除,如2008年; (2)能被4整除,又能被400整除,如2000年。 #include voidmain() {intyear,leap; printf(“pleaseenterayear: ”); scanf(“%d”,&year); if(year%400==0||(year%4==0&&year%100! =0)) leap=1; else leap=0; if(leap) printf(“%disaleapyear.\n”,year); else printf(“%disnotaleapyear.\n”,year);} 例: 运输公司对用户计算运费。 #include voidmain() {intc,s; doublep,w,d,f; printf(“请输入单价、重量和距离: ”); scanf(“%lf,%lf,%d”,&p,&w,&s); if(s>=3000)c=12; elsec=s/250; switch(c) {case0: d=0;break; case1: d=2;break; case2: case3: d=5;break; case4: case5: case6: case7: d=8;break; case8: case9: case10: case11: d=10;break; case12: d=15;break; } f=p*w*s*(1-d/100.0); printf(“运费: %10.2f元\n”,f); } 例break举例: 输出圆面积,面积大于100时停止(5-4.c) #include #definePI3.14159 main() { intr; doublearea; for(r=1;r<=10;r++) {area=PI*r*r; if(area>100) break; printf("r=%d,area=%.2f\n",r,area); } } 计算100以内能被7或9整除的所有数之和 #include voidmain() {inti,sum=0; for(i=1;i<=100;i++) {if(i%7! =0&&i%9! =0) continue; sum+=i; } printf(“sum=%d”,sum); } 例求Fibonacci数列: 1,1,2,3,5,8,……的前40个数(5-8.c) #include voidmain() {longintf1,f2; inti; f1=1;f2=1; for(i=1;i<=20;i++) {printf(“%12ld%12ld”,f1,f2); if(i%2==0)printf(“\n”); f1=f1+f2; f2=f2+f1;} } 1.以下程序的输出结果是(C) #include“stdio.h” voidmain() {intnum=0; while(num<=2) {num++;printf(“%d\n”,num);} } (A)1(B)1(C)1(D)1 222 33 174 2.以下程序的输出结果为—— #include“stdio.h” voidmain() {intx=15; while(x>10&&x<50) {x++; if(x/3){x++;break;} elsecontinue;} printf(“%d\n”,x); } 3.执行以下程序段的输出结果是(C) intx=3; do{printf(“%d\n”,x-=2);} while(! (--x)); (A)1(B)30(C)1-2(D)死循环 4.假定a和b为int型变量,则执行以下语句后 b的值为(D) a=1;b=10; do{b-=a;a++;} while(b--<0); (A)9(B)-2(C)-1(D)8 5.以下程序的输出结果是(C) main() {inti,j,m=0,n=0; for(i=0;i<2;i++) for(j=0;j<2;j++) if(j>=i) m=1; n++; printf(“%d”,n);} (A)4(B)2(C)1(D)0 6.以下程序的输出结果是(D) main() { intx=10,y=10,i; for(i=0;x>8;y=++i) printf(“%d%d”,x--,y); } (A)10192(B)9876 (C)10990(D)101091 7.以下程序的输出结果是(B) main() {inti,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<3;j++) {if(j%2)continue;x++;} x++;} printf(“x=%d\n”,x);} (A)x=4(B)x=8(C)x=6(D)x=12 设每只母鸡值3元,每只公鸡值2元,每只小鸡 值0.5元。 现要用100元钱买100只鸡,设计买鸡 方案。 (用for循环写程序) 设买母鸡i只,公鸡j只,小鸡k只 #include"stdio.h" main() {inti,j,k; for(i=0;i<=33;i++) for(j=0;j<=50-1.5*i;j++) {k=100-i-j; if(3*i+2*j+0.5*k==100.0) printf("%5d%5d%5d\n",i,j,k);} } 例读10个整数存入数组,找出其中最大值和最小值(6-2.c) #include main() {intx[10],i,max,min; for(i=0;i<10;i++) scanf("%d",&x[i]); max=min=x[0]; for(i=1;i<10;i++) {if(max if(min>x[i])min=x[i]; } printf("Maxvalueis%d\n",max); printf("Minvalueis%d\n",min); } 例对10个数排序(6-4.c) 1.冒泡法 #include voidmain() {inta[10]; inti,j,t; printf(“input10numbers: \n”); for(i=0;i<10;i++) scanf("%d",&a[i]); printf(“\n”); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} printf(“thesortednumbers: \n”); for(i=0;i<10;i++) printf("%d",a[i]); printf(“\n”); } .简单选择法(6-5.c) #include voidmain() {inta[10],i,j,k,t; printf(“input10numbers: \n”); for(i=0;i<10;i++) scanf("%d",&a[i]); printf(“\n”); for(i=0;i<=8;i++) {k=i; for(j=i+1;j<=9;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 汇编