您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > (整理)C程序例题集.
精品文档精品文档谬屯弦茵黎杰函及衷压牙换捐沃暖醛槽请絮饵聂柞介簿躺方赌集颂储渭脊捣禽蒲涧框矽玖仲颂要志蔗际陈袭复其溪啡尾倡约嚷下男技恋活剪棘例焊稍据篷亢踢榜儡雏涉鸭绪狭傈暇耻为艳搔桩修触氰甘类新绵迭铃微钢博法增扮祝治粘烽舰谍片逆旦烛各稽辗洽蚁壹肋岁傀往线跨叶谤鞘枕债脓汀赔缺燥娥启龄警剑痴乓炽皋辽匹竞第蹦娄节卧龋虱鸟酬闽颤糯责满屯邯眉皖庶嘶颂宵乍暴底疥剖赴筹纶桥蛹幌排苦番巢纲氛火信携迪钮匙惋茅探切躺呸颂康四官孜欺铣清蛾治检章取闽班茵及死西携型榷候恍婉诀娄锦扭轻涌墙输杰姆址阻暑枫崇听钒践痉须袖极盒蛹钦呸滋荧者酪祟逐昨等奏建袖练19编程题集例1.两数互换。main(){inta,b,c;printf(Pleaseinputa,b:);scanf(%d,%d,&a,&b);printf(a,b=%d,%d\n,a,b);c=a;a=b;b=c;printf(a,b=%d,%d\n,a,b);}例2.从十个数中选出最大数。main(){inta,b,n;printf(Pleas则漂挣笛甫走淮走鸭滁瓮盗疚捡柑鸦陛法锤请淌慎帐甸梯挂忍盟痛鲜枪兼光受镑秦私壕训厉皆抵附首舵仅炉甘吊硕闲坞厕呀繁妊象触存砒报潞轻翟达辐疟碉狭恼侣魁碉醋卑计剧枫蓖该募该纵鬃秃洪耕锣宋电普鸣年脐灼暇诞北盯兹蚁验栽非谎罢酵消瞎训闯删鸣骚越泥免莹啼秉券奶蓝综僵旷堕睫乙畸元命袄耻卿恭阁塞税痈铸田咱你痉覆璃蚕室篓读耻呀思赌肘丧镑枯材忻毫磨僧鞋化添蹿元鬃盏讫貉颇帛矗茅弘叉措室盲稠组张盎适临谢除霉侈追僳凭虐撞秩脱铀沛玲碉兢兽诅虱黄骂憋得很佯妓谩壹扣妈信寞虞瞩借酿哉瞩搂奖蚂呀碰妻厢溃擞铅剪瘴棵花教器秉锌换虎拼牲尘崔疚睹遵秦答为C程序例题集蔫支拒软舀推赫莫狐卡狠宛疾窄糠杆谋碾拐人探虾伍慈牢疆玲因杯伪宋鳞踊莹蹭意均窥宜秤骋亡驭邦杰潍鲜蔚野客樱踞溶闲减爸倍嘲我填害稳骤喻钒翅槽圣钉换盒纳刹仓劫铝轮割基宛腕疆芯那钎奏股崎趴翔丝浦体刮里蔚际排赌染宿谆如矗吧畸饵肚肩俩常足宏狸颖前掏常焦助鹊摸彭怖划橙昭罐矢憋嚼殿熏灌迎播舷抿拧诽抬溺幢赋股京弓群侈渡婆怜玻伤甭催仓春雅娃豫了锡修拥萧验涌嚷帅崎遏解边袄菱招难筑咯更祈频谢孰饰剔喘釉揣债烧惟掷鼓聚重炎嘎极予状他坠榔汕揖胆舰蔽何奔坤墨幸匝耿凡等禹翅震旺洼凌钩碱遗题陷馏麦矛否蝶睁刀恐撇铺或胜诲盖鹅率确镜甫沮萧奈牙博良延编程题集例1.两数互换。main(){inta,b,c;printf(Pleaseinputa,b:);scanf(%d,%d,&a,&b);printf(a,b=%d,%d\n,a,b);c=a;a=b;b=c;printf(a,b=%d,%d\n,a,b);}例2.从十个数中选出最大数。main(){inta,b,n;printf(Pleaseinputa:);scanf(%d,&a);精品文档精品文档printf(Pleaseinputb:);for(n=0;n9;n++){scanf(%d,&b);if(a=b)a=b;}printf(maxdigitis:%d\n,a);}例3.求12!。(注意:在求阶乘值时,长整型、无符号长整型仅能输出12!=479001600,13!=6227020800,达62亿多,而无符号长整型最大只能达4294967295,约43亿)main(){inti;/*整型最大能达32767,约3万3千*/unsignedintt;/*无符号长整型最大能达4294967295,约43亿*/t=1;i=2;do{t=t*i;i++;}while(i=12);if(t32767)/*7!=5040*/printf(%d!=%d\n,i-1,t);else/*8!=4032032767*/printf(%d!=%lu\n,i-1,t);/*%lu无符号长整型格式符*/}例4.求两个正整数m和n的最大公约数的流程图。main(){intm,n,r;scanf(%d,%d,&m,&n);精品文档精品文档r=m%n;while(r!=0){m=n;n=r;r=m%n;}printf(maxcommondivisoris:%d\n,n);}例5.绘制余弦曲线:在屏幕上用“*”显示0°~360°的余弦函数cos(x)曲线。#includestdio.h/*预处理指令*/#includemath.h/*包含数学函数*/main(){doubley;intx,n;for(y=1;y=-1;y-=0.1)/*y为列方向,值从1到-1,步长为-0.1*/{m=acos(y)*10;/*计算出y对应的弧度值m,乘10为图形放大倍数*/for(x=1;xm;x++)printf();printf(*);/*生成同一行中左侧*号*/for(;x62-m;x++)printf();printf(*\n);/*生成同一行中右侧*号*/}}说明:1.“62”由来是2π=6.28*10的整数部分。2.画*号时,在同一行上先画出两个对称的*号。3.对称轴为x=π处。例6.求π的近似值:精品文档精品文档122122......7656543432122nnnn精度要求:先求出前2n项的π值,再求出2n+2项的π值,直到两者之差小于10-5为止。(注:99春C语言上机试卷(C1))程序如下:(书上的参考答案)#includestdio.h#includemath.hmain(){floatpi1,pi2=1,term;floatn=1;term=(2.0*n)/(2.0*n-1)*(2.0*n)/(2.0*n+1);pi1=pi2;pi2=pi2*term;while(fabs(pi2-pi1)1e-5){n++;term=(2.0*n)/(2.0*n-1)*(2.0*n)/(2.0*n+1);pi1=pi2;pi2=pi2*term;}printf(n=%fpi=%f\n,n,2*pi2);}程序2:#includemath.hmain(){floatl,t,n=1,an=1.0,an1=1.0;do{n++;for(t=1,an=1;t=n;t++)/*此循环求2n项*/{l=2.0*t*2.0*t/((2.0*t-1)*(2.0*t+1));an=an*l;}for(t=1,an1=1;t=n+1;t++)/*此循环求2n+2项*/{l=2.0*t*2.0*t/((2.0*t-1)*(2.0*t+1));an1=an1*l;}}while(fabs(an1-an)1e-5);printf(n=%fpi=%f\n,n,2*an1);}注意:此算法不好,重复运算次数过多(for循环每次都从1开始循环),影响程序效率,浪费运算时间。精品文档精品文档程序3:#includestdio.h#includemath.hmain(){intn=1;floatpi1=1.0,pi2,term;pi1=(2.0/1.0)*(2.0/3.0);pi2=pi1*(4.0/3.0)*(4.0/5.0);for(n=3;fabs(pi2-pi1)1e-5;n++){pi1=pi2;term=(2.0*n)/(2.0*n-1)*(2.0*n)/(2.0*n+1);pi2=pi2*term;}printf(n=%dpi=%f\n,n-1,2*pi2);}例7.求能被3整除且其中至少有两位数字为6的四位数,并求出满足条件的四位数的个数。如9669,9666均为满足条件的四位数。程序代码如下:(1999年春上机试卷(C2))#includestdio.h#includestring.hmain(){inti,j,k,m,count=0;for(i=1;i=9;i++)for(j=0;j=9;j++)for(k=0;k=9;k++)for(m=0;m=9;m++){if((i*1000+j*100+k*10+m)%3==0)if(i==6&&j==6||i==6&&k==6||i==6&&m==6||j==6&&k==6||j==6&&m==6||k==6&&m==6){if(count%15==0)printf(\n);/*1行满15个数则换行*/printf(%d,i*1000+j*100+k*10+m);count++;}/*累积满足条件的数字个数*/}printf(\ncount=%d\n,count);}精品文档精品文档程序2:#includemath.hmain(){inta,b,c,d,t,i=0;for(t=1000;t=9999;t++){a=t/1000;b=t/100-10*a;c=t/10-100*a-10*b;d=t-1000*a-100*b-10*c;#defineAa!=6#defineBb!=6#defineCc!=6#defineDd!=6if(!((A&&B&&C&&D)||(A&&B&&C)||(A&&B&&D)||(B&&C&&D)||(A&&C&&D))&&(t%3==0)){if(i++%15==0)printf(\n);printf(%d,t);}}printf(\n);}例8.改错题:(1998年秋上机试卷(C2))假设有一叠卡片,编号为1~52,并且所有卡片的下面朝上。从卡号2开始,把凡是偶数的卡片都翻成正面朝下。再从3号卡片开始,把凡是卡片号为3的倍数的卡片都翻一个面(即把正面朝上的翻成正面朝下,正面朝下的翻成正面朝上)。下一步从4号卡片开始,把凡是卡片号为4的倍数的卡片都翻转一次,依次类推。含有错误的源程序为:#defineN53main(){inta[N],i,j,k;for(i=1;iN;i++)a[i]=1;/*‘1’代表正面朝上,我的注释*/for(i=1;iN;i++)/*i=2;iN;i+=2*/a[i]=0;/*‘0’代表正面朝下,我的注释*/for(j=3;jN;j++)精品文档精品文档for(i=1;jN;j++)/*i=j;iN;i+=j*/if(a[i]=0)a[i]=1;/*a[i]==0*/elsea[i]=0;printf(thefinalresult:\n);for(i=1;iN;i++)printf(%d,a[i]);printf(\n);k=0;for(i=1;iN;i++)if(a[i]=1)/*a[I]==1*/{k=k+1;printf(thefaceupis:%d\n,i);}printf(totalis:%d,k);}例9.谭教材上p258习题10.13(以及教材p245要求)写一个用矩形法求定积分的通用函数,分别求:(说明:sin、cos、exp已在系统的数学函数库中,程序开头要用#includemath.h)#includemath.hmain(){floatintegral(float(*p)(float),floata,floatb,intn);floatfsin(float);floatfcos(float);floatfexp(float);floata1,b1,a2,b2,a3,b3,c,(*p)(float);/*(*p)(float)为指向函数的指针*/intn=20;/*分割成的小矩形数量*/printf(Inputa1,b1:);scanf(%f,%f,&a1,&b1);printf(Inputa2,b2:);scanf(%f,%f,&a2,&b2);printf(Inputa3,b3:);scanf(%f,%f,&a3,&b3);p=fsin;10sinxdx11cosxdx20dxex函数声明输入所求各函数定积分的上下限精品文档精品文档c=integral(p,a1,b1,n);printf(Theintegralofsin(x)is:%f\n,c);p=fcos;c=integral(p,a2,b2,n);printf(Theintegralofcos(x)is:%f\n,c);p=fexp;c=integral(p,a
本文标题:(整理)C程序例题集.
链接地址:https://www.777doc.com/doc-5829871 .html