1、实验一(1) 编程求7+得值,实习VC环境。#nlded main() in a,b,sum;a=37; b=29;sm=+b;printf(s=%d,um);(2) 从键盘输入三个整数,求出最大数并输出。#icluevodmi() inta,b,c,; ntmax(ntx,iny); prntf(nput a,b,and c:); saf(d,%d,%d,&a,b,c); y=ma(a,b); y=ma(y,c); prinf(man,y);it max(int x,int )int ;if(y) =;else z;eturn(z);(3) 通过上机实践,运行下列程序并分析输出结果。A 程序
2、代码#incdedio、vdmai() ca c=a; rinf(%c对应得ASCI码就是:%dn,ch,ch); 程序输出结果:对应得ASC|码就是:9 B 程序代码#includetd、voimain() nt a=18; flot b=12、456;fatx=5、567,y; printf(=%5d,a); rinf(a=%,a); prif(=%、2fn,b); rtf(=%n,b); y=(n)(*000、5)/10、0;pintf(x=f,=%,y);程序输出结果:a=168a=68=123、46=1、4560e+00=f,y=35、501C程序代码#iludevimi()n a=
3、16;print(十进制数%对应得八进制数就是%n,a,a);pritf(十进制数%对应得十六进制数就是%xn,a,a);程序输出结果:十进制数168对应得八进制数就是50十进制数68对应得十六进制数就是8实验二、顺序结构2、1、1已知a=1、,5、3,c=2、9,计算s=4ac得结果并输出。#nldsti、hvoimain()fa a,b,c,s; =1、5;b=5、3;2、9;s=b*b-4*a*;prinf(s得值就是%n,s);2、1、2输入某学生得三个科目得期末考试成绩,计算出该学生得成绩总分与平均分。#ncudevid main() int mah,nglis,program; f
4、loat sum ,aveage; intf(input at,english,c_program:); canf(%,%d,%d,&math,&nglih,&c_prgram); sum=mth+english+_program; eagsu; prinf(sum=、0f,averae=%、5f,s,averae);2、1、3输入圆得半径,计算圆得面积,设圆周率为3、1416、#includenmin()floatr,s;prf(请输入半径:);scaf(%f,&r);s=3、16*r*r;prinf(圆得面积为、6f,s);、1、4输入一个两位数,将其个位数与十位数互换后变成一个新得数,输
5、出这个数。includtdio、hint mi(voi)int n,a,b;rinf(nut n:);canf(%d,&n);b=1;a10;n=b*10+a;inf(dn,n);return ;2、1、5输入两个数a与b,将两数得值互换后输出新值。#incude vd man() it ,t; snf(%d%,&,&);t=x; =y;y=t; print(x=,y=dn,,y); 2、2简单分支结构2、2、输入两个整数,求出其中得较小值输出。 #incldeit main() nt ,b,i; print(请输入 a,b:n); can(d,d,a,&b);if (ab)min=a;els
6、 m=b;print(最小值就是 dn,min);etn ;2、输入x得值并计算分段函数y得值。 +x x=2#cud stdio、int an(oid)ouble x,y;scanf(%lf,&);if(x) =x*x+*x;lsy=2*x1;rinf(%、f,y);eu ;2、2、3输入两个整数并判断两数就是否相等,输出相应结论。 incldei ain() t a,b;ritf(请输入两个整数:n); sanf(%d,%d,); if(a=b) pt(等于); else prinf(a不等于b); rur ;2.2.4 输入一个整数,若为负数,求出它得平方;若为正数,求出它得立方,并输出
7、结果。#ncldvoid main()prit(请输入一个整数:);duble x,y;caf(%lf,x);f(x0)y=x*;lsey=*x*x;prt(f(%f)=%n,x,y);2.2.5 输入三个整数,用-lse结构求出其中得最大值。提示:首先求出两个数得较大值放在一个变量里,然后用这个变量与第三个数再进行一次比较。 #cudeinman() it,c,max; in(请输入三个数); scf(%,d,%d,&a,&b,c); if(a) maa; ese b; if(cma) m=; ese max=a; printf(最大值为%d,max); urn ;2、3简单循环结构2.3.
8、1 计算+4+7+0。 #iclde stdio、hoid main() inti,um;sm0;or(i=1;=01;=) um+;rin(su=%n,); 2.3.2 循环输入某学生八个科目期末考试成绩,计算出该学生成绩总分与平均分。 #incudint man(voi) n i,; flot sum,avrage; u=0;or(i=1;=8;i+) scan(%d,&a);sumsm+; pritf(成绩总分为%fn,su); rntf(平均分为n,sum/); ret 0;2.3.3 输入n得值,计算n! #inlueintman(void) nn,a; a1; prtf(请输入n得
9、值:dn); scanf(,&n); or(i=1;it in(oid)in ,;for(i=1;i vd main()int i,;late,flag,sum;sm=; fa=1; san(%d,&n);for(=1;i=n;i+) ilag*(*i-1)(*);su=su+item; a=lag; pintf(%fn,sum);实验三3、1、1输入一个整数,判定就是否为得倍数。#cluei an(vid)nt ;printf(= );scanf(%d,&x);if(%=0)pitf(能整除5);lsprtf(不能整除5);eturn 0;3、1、输入,计算并输入下列分段函数对应得值。 -5
10、 0Y= 0=x=1 x2 x#cldint ma(oid)oat ,y;prnf(= );scan(f,&x);if(x) y=/;eley*x+2;prinf(对应值为、2n,);eturn ;3、1、3某商场给顾客购物得折扣率如下:购物金额30元 不打折30购物金额t in(vid)t x,y;ritf(x );scnf(d,&);f(x=30&x#incldeintmi(vod)it a,b,c,,x1,x;printf(a= ,= , );scanf(d,%d,%,a,&b,&c);db*b-4a*c;if(d0) doble qrt(dule d); 1=(+sqrt(d)(2a)
11、; 2(-b-sqt(d))/(2*a); pntf(x=dn,x2=%dn,1,2); else if(d=0) x1=(-b+sqr(d))(*); prnt(x=x=%dn,x1); lse prnf(没有实数解);retun;3、1、5从键盘输入10个字符,将所有得英文字母转换为大写后输出。#icue=a&chit man(void)chr ch,i;int letter,sac,dgitr,ther;letter=spaediiter=other=0;f(i=1;ia&hA&ch0&nt min(vid)t x,,b,c;pritf(输入年份:);scanf(%d,x);a=x%;b
12、=x%0;c=x%00;f((a=0 & b!=0)(=))printf(闰年);elseprint(不就是闰年);rtrn 0;3、2、2假设自动售货机出售种商品,薯片、爆米花、巧克力与可乐,售价分别就是每份3、0元、2、5元、4、0元与3、5元。在屏幕上显示以下菜单,用户可以连续查询商品得价格,当查询次数超过五次时,退出查询;不到五次时,用户可以选择退出。当用户输入编号4,显示对应商品得价格;输入0,退出查询;输入其她编号,显示价格为0。#inludestdio、hi ain(void)charprice;int i;print(请输入商品得名称:n);r(1;i5)print(过胖);e
13、lsf(y-z5)pritf(过瘦);eleprif(标准);rturn0;3、4编写一个程序,计算购买某物品得总金额,该物品得单价为5元/公斤,购买5公斤以上打九折,购买10公斤以上打八折,购买2公斤以上打折,购买50公斤以上打6折,购买10公斤以上打折。(用多分支f语句求解)#ncdeintain(oid)foat x,y;prn(购买量n);scn(%f,&);if(x=5 & x=10 &0)=0、*5*x;els f(x=2& 10)=0、5*;elsey=x;pritf(付款%、fn,y);etn0;3、2、5编写一个程序,输出给定得某年某月得天数。#ncesi、hnt ain(o
14、i)in ear,oh,ds,leap;print(年,月:);scanf(%d,d,&year,&oth);ih(month)cse: case 3: case 5: s 7: case 8: ae 0: cse 12:day3;ra;se :case6:ase 9: cae11:a30;break;ae2:if(ye%4=0&yea100!=0 |year400=0) lea; else lea=; if (leap) days=29; ese ays=28; rintf(%d年月得天数为d天n,year,month,das); 实验四、1输入一批正整数(以零或负数为结束标志)求其中得奇数
15、与。#ncldeincldat、hinmi(void)n a,um;um=;rit(输入一批正整数(以零或负数为结束标志): );saf(%d,dta);while(da0)if(dat%2=1)sum=sumdata;can(d,&data);rinf(奇数与就是d、n,um);rturn;4、1、输入两个整数a与n,求+aa+aaa+(个)之与。例如输入2与3,输出46(2+22+22)提示:可采用递推得方法计算当前项i=t*10+a#includi mn(void)in ,n,i,um;=1;sm=;item0;printf(请输入两个整数a与:);scanf(,%,&a,&n);whi
16、le(in)itetm10+a;sum=su+item;=+;ritf(结果为%d,sum);reur ;4、1、3编写程序:计算2/1+3+5/3+8/5得 近似值。要求计算前项之与,保留2位小数(该序列从第二项起,每一项得分子就是前一项分子与分母得与,分母就是前一项得分子)#incldsdio、hinin(vod)flot n,i,m,a,b,im;rntf(请输入n得值:);scanf(%,&n);u=0;i=1;a=2;b=1;item=;whil(i=n)sum=s+/b;iem=;a=a+b;=tm;ii+;pritf(结果为%、2n,um);retun0;、1、4编写一个程序,找
17、出被,5整除时余数均为得最小得0个自然数。#inle int ma(vod)nt x,i;i=;x=1;whil(iintmain(oid)it nuber,diit,i,sum;i=0;sum0;pnf(输入一个正整数:);can(d,&umbr);hl(umbe!=)ditumber10;number=nmber/0;sum=sum+digt;i=i+;print(,dit);pitf(该整数得位数就是%d,各位数字之与就是%n,,sm);return 0;4、猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下得桃子吃掉一半,又多吃了一个。以后每
18、天都吃前一天剩下得一半零一个。到第1天在想吃得时候就剩一个桃子了,求第一天共摘下来多少个桃子?#icldin mi(vid)int ,a;a=1;o(i=1;9;i+)a=(a+1)*2;pint(一共摘了%dn个桃子,a);rturn0;4、2、1求00以内得全部素数,每行输出0个。素数就就是只能被1与它本身整除,不就是素数,2就是素数。nluein ain(vid)int i,m=0,n;for(=;n=99;n+)for(i=2;i=)pint(%d,n);m+;if(%10=)printf(n);retun 0;、2、2有一个四位数,千位上得数字与百位上得数字都被擦掉了,已知十位上得数
19、字就是1,个位上得数字就是,又知道这个数如果减去就能被7整除,减去8就能被整除,减去9就能被9整除。编写一个程序求这个四位数。提示:利用穷举法来解决该问题。#include tdio、hvoid mi()it,,n;r(=1000;=999;x+)m=x%10;n/10%10;f(m=2 &=1 & (x7)%= & (x-8)%8=0&(x-9)%9=0)printf(%dn,x); 4、取1元、元与5元得纸币共10张,现在要支付15元。编写程序输出所有得付法。针对每一种付法,输出各种面额得纸币数量。要求将元、2元与元设置在最合理得取值范围内。iclud stdio、it mi()int ,
20、 , ;for (; m10; m+)for (n0;n=10; n+)o(k=0; k=1; +)if (m2*5*k=5)printf(1元:%d张t2元:%d张t5元:%, m, n, k);rrn ;4、2、4找出20以内得所有完数,并输出其因子。有一个数得因子之与为该数本身,称其为完数。提示:使用二重循环嵌套,外层循环针对20之间得所有数,而内层循环对其中得每一个数判断其就是否就是完数,即判断m得每个因子之与就是否等于m。其中因子就是2m/2之间能被m整除得数。#incldeint main(d)nti,j,;for(i=1;i=20;i+)k=;for(=2;j=i/2;)f(i%
21、j=0)k=k+j; if(k=i)prtf(d=1,i);fo(j=2;nt ain(void)it i,j;f(i=;=4;+)for(j=;j=i;j+)pnf(%d,j);pint();(i;i=;i+)or(j=0;j4;j+)prinf(%d ,);printf();retur 0;4、2、编写程序打出下列图案。 * * * * * * * * * * * * * * * * * * * *#icldevdin()int i,;for(=1;i=;i+)for(j=1;j=8(21);j+)rintf();f(j1;j2*i-1;+)prnt(*);pintf(n); r(2;i=
22、;i)fo(j=1;j2i-1;j+)prnt( );for(j=1;8-(2*i-1);j+)printf(* );prntf(n);实验五5、1输入两个整形变量a b得值,输出a+b,a-b,a*b,/b,(oat)/b,a%得结果,要求算式得结果连同算式一起输出,每个算式占一行。#inludevid an()ina,b;scan(%d%d,&a,&);pntf(%d=%dn,a,a+b);pntf(%-%d%dn,a,a-);print(%*%d%n,b,a*);rinf(%d%d=n,,b,/b);pintf(flot)%d/d%fn,a,(float)/b);rintf(%d%d=d
23、,a,b,a);5、2求前驱字符与后继字符。输入一个英文字符,找出它得前驱字符与后继字符,并按字符得I码值从大到小得顺序输出这三个字符及其对应得SCII码值。#nludesio、hint ai(oi)car ch,bore,after;h=echa();befoe=ch-;aferch+1;f(beforeA|(beforZ)eebfe+26;prntf(%c %c %c %d d,before,after,c,befre,afte,ch);ee if(after (fterZ & aftera)ater=after-6;prit(%c %c %c %d %d%dn,ch,before,aft
24、er,ch,foe,af); eseitf(% % c %d % dn,fr,h,before,fter,ch,bfre);5、3输入某个点A得平面坐标(x,y),判断(输出)A点就是在圆内、圆外还就是在圆周上,其中圆心坐标为(2,),半径为、#ncluent man(vo)loatx,y;san(%,&,&y);if(x-)*(x2)(-2)*(-2)=1)prit(点在圆上);ese if(x2)*(x-2)+(y-)*(y2)1)prnt(点在圆内);else prinf(点在圆外);retun0;5、4求爱因斯坦数学题。有一条长阶,若每步跨两阶,则最后剩余一阶;若每步跨三阶,则最后剩两
25、阶,若每步跨五阶,则最后剩四阶;若每步跨六阶,则最后剩五阶;若每步跨七阶,最后正好一阶不剩。求长阶得阶梯数目。#includit main(oid)int i;fo(i=;=0;i+)f(%2=1)&(i%=2)&(i%5=4)&(%=5)&i%7=0)pt(d阶,);rtrn 0;5、5输入一个正整数,判断其中得各位数字就是否奇偶数交替出现,就是输出“ye”否则输出“no”incldent man(vid) inm,n;rit(请输入一个正整数:n);sanf(%,&); n=m%1;mm;if(n2+m%10% !=1)rin(not); printf(n);lsernt(y); print();return ;、6输入一个三位数,判断就是否就是一个水仙花数。水仙花数就是指三位数得各位数字立方与等于这个三位数本身。例如:153=1555+3*3*3。includeit min(i)itn,i,j,k;rintf(请输入一个三位数:n);saf(d,n);i=n/100;j=(n-i*00)/10;=-i*100-j1;(i*i+j*j+k*kk=n)pnf(%就是一个水仙花数,);elspntf(%d不就是水仙花数,n);实验六6、1、输入一个正整数n(1n=10),再输入n个整数,输出偶数位置上数值得平均值(保留两位小数)