还剩69页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言程序实例个(C
100.程序源代码2#i ncludestdio.hmainQ{char c;int letters=0,space=0,digit=0,others=0;printfHplease inputsome charactersll;while c=ge tchar0!=1\n*二%二ifc CV=?I Ic=AcV Zletters++;else ifc==*f space++;else ifc=Vc=,9,digit++;elseothers++;printfnall inall:char=%d space=%d digit=%d others=%d\nH,letters,space,digit,others;【程序18]题目求的值,其中是一个数字例如此时共有个数相加,s=a+aa+aaa+aaaa+aa...a a2+22+222+2222+222225几个数相加有键盘控制.程序分析关键是计算出每一项的值
1.程序源代码2mainQ{int a,n,count=l;long intsn=0,tn=0;printfHplease input a andn\nn;scanf%d,%d”,a,n;printfna=%d,n=%d\nn,a,n;whilecount=ntn=tn+a;sn=sn+tn;a=a*10;++count;printfa+aa+.・.二%ld\n,sn;}【程序19]题目一个数如果恰好等于它的因子之和,这个数就称为“完数”例如.编程以内6=1+2+31000找出的所有完数.程序分析请参照程序V-上页程序
114..程序源代码2mainQstatic int k
[10];int i,j,n,s;forj=2;j1000;j++n=-l;s=j;fori=l;i{ifj%i==O{n++;s=s-i;k[n]=i;ifs==0printfn%d is a wanshun,j;回;}fori=0;i printfH%d;;k[i];printf%d\n”,k【程序20]题目一球从米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第次落地时,10010【程序13]题目打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身例如是一个“水仙花数”,因为的三次方+的三次方+的三次方153153=
153.程序分析利用循环控制个数,每个数分解出个位,十位,百位1for100-
999.程序源代码{2mainQint i,j,k,n;printfn,water flowernumber is:;forn=100;n1000;n++{分解出百位*/分解出十位*/分解出个位i=n/100;/*j=n/10%10;/*k=n%10;/*=二*/ifi*100+j*10+k i*i*i+j*j*j+k*k*kprintfn%-5dn,n;printfn\nn;【程序141题目将一个正整数分解质因数例如输入打印出90,90=2*3*3*5程序分析对进行分解质因数,应先找到一个最小的质数然后按下述步骤完成n k,⑴如果这个质数恰等于则说明分解质因数的过程已经结束,打印出即可n,⑵如果〈但能被整除,则应打印出的值,并用除以的商,作为新的正整数你重复执行第n k,n kk n k n,一步如果不能被整除,则用作为的值,重复执行第一步3n kk+1k.程序源代码2/*zheng int is dividedyinshu*/main{int n,i;printf\nplease inputa number:\nH;scanfn%dn,n;printfK%d=n,n;fori=2;i=n;i++whilen!=i{if%i==0n{printfn%d*\i;二n n/i;elsebreak;printfH%dn,n;}【程序15]题目利用条件运算符的嵌套来完成此题学习成绩分的同学用表示,分之间的用表示,=90A60-89B分以下的用表示60C.程序分析这是条件运算符的基本例子1ba:b.程序源代码2main{int score;char grade;printfnplease inputa score\nn;scanfn%dn,score;grade=score=90,Al:score=60lB,:,C,;printfH%d belongs to%c”,score,grade;【程序16]题目输入两个正整数和求其最大公约数和最小公倍数m n,.程序分析利用辗除法
1.程序源代码2mainQint a,bnuml num2,temp;,、,”;printfnplease inputtwo numbers:scanf%d,%d”,num1,num2;ifnuml{temp=num1;numl=num2;num2=temp;}a=numl;b=num2;利用辗除法,直到为为止*/{whileb!=0/*b0temp=a%b;a—b;b=temp;printfngongy^ueshu:%d\nn,a;printfngongbeishu:%d\nn,numl*num2/a;【程序171题目输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数.程序分析利用语句,条件为输入的字符不为,社1while.程序源代码2#i ncludestdio.hmainQ{char c;int Ietters=0,space=0,digit=0,others=0;printfHplease inputsome charactersll”;while c=ge tchar0!=f\n1=勿ifc=%cv11|c=Acv=,Zletters++;二二else ifcspacc++;else ifc=0cV=9digit++;elseothers++;printfnall inall:char=%d space=%d digit=%d others=%d\nn,letters,space,digit,others;【程序18J题目求的值,其中是一个数字例如此时共有个数相加,s=a+aa+aaa+aaaa+aa...a a2+22+222+2222+222225几个数相加有键盘控制.程序分析关键是计算出每一项的值1•程序源代码2mainQ{int a,n count=l;long intsn=0,tn=0;printfHplease inputa andn\nu;scanf,,%d,%dn,a,n;printfna=%d,n=%d\n,,,a,n;whilecount=ntn=tn+a;sn=sn+tn;a=a*10;++count;!printfna+aa4-...=%ld\n,,,sn;【程序19J题目一个数如果恰好等于它的因子之和,这个数就称为“完数”例如.编程找出6=1+2+3以内的所有完数
1000.程序分析请参照程序V-上页程序
114..程序源代码2mainQ{static intk
[10];int i,j,n,s;forj=2;j1000;j++n=-1;s=j;fori=l;i{ifj%i==O{n++;s=s-i;kfn]=i;ifs==Oprintfn%d isa wanshun,j;fori=O;i printfn%d/\k[i];printf,,%d\n,\k[n];}【程序20]题目一球从米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第次落地时,10010【程序13]题目打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身例如是一个“水仙花数”,因为的三次方+的三次方+的三次方153153=
153.程序分析利用循环控制个数,每个数分解出个位,十位,百位1for100-
999.程序源代码2mainQ{int i,j,k,n;printfn,water flowernumber is:;forn=100;nl000;n++分解出百位*/分解出十位*/分解出个位i=n/100;/*j=n/10%10;/*k=n%10;/**/ifi*100+j*10+k==i*i*i+j*j*j+k*k*k printfn%-5dn,n;}printfK\nn;【程序14]题目将一个正整数分解质因数例如输入打印出90,90=2*3*3*5程序分析对进行分解质因数,应先找到一个最小的质数然后按下述步骤完成n k,⑴如果这个质数恰等于则说明分解质因数的过程已经结束,打印出即可n,⑵如果但能被整除,则应打印出的值,并用除以的商,作为新的正整数你重复执行第一nvk,n kk n k n,步如果不能被整除,则用作为的值,重复执行第一步3n kk+1k•程序源代码2/*zheng int is dividedyinshu*/mainint n,i;printfn\nplcasc inputa numbcr:\nM;scanfn%dn,n;printfH%d=n,n;fori=2;i=n;i+4-whilen!=iif%i==On{printf”%d”,i;n=n/i;elsebreak;}printfn%dn,n;}【程序15]题目利用条件运算符的嵌套来完成此题学习成绩分的同学用表示,分之间的用表示,=90A60-89B分以下的用表示60C.程序分析这是条件运算符的基本例子1ba:b•程序源代码2mainQint score;char grade;printfHplease inputa score\nn;scanfH%dn,score;grade=score=90,A,:score=60,B!:fC,;printfH%d belongsto%c”,score,grade;}【程序16]题目输入两个正整数和求其最大公约数和最小公倍数m n,.程序分析利用辗除法1•程序源代码2mainQint a^b,numl,num2temp;
5、,;printfHplease inputtwo numbers:scanf,,%d%d,,num1,num2;,ifnuml{temp=numl;numl=num2;num2=temp;a=numl;b=num2;利用辗除法,直到为为止*/{whilcb!=O/*b0temp=a%b;a=b;b=temp;}printfHgongyrucshu:%d\nn,a;printfngongbeishu:%d\nn,numl*num2/a;【程序17]题目输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数.程序分析利用语句,条件为输入的字符不为、出1while.程序源代码2#i nclude“stdio.hmainQ{char c;int Ietters=0,space=0,digit=0,others=0;printfHplease inputsome charactersll;while c=getcharQ!=,\n!{二ifc=acv=||c=Ac Zletters4-+;else ifc==,space++;else ifc=Vc=,9,digit++;elseothers++;}printfHall inall:char=%d space=%d digit=%d others=%d\nn,letters,space,digit,others;【程序18]题目求的值,其中是一个数字例如此时共有个数相加,s=a+aa+aaa+aaaa+aa…a a2+22+222+2222+222225几个数相加有键盘控制.程序分析关键是计算出每一项的值
1.程序源代码2main{int a,n,count=l;long intsn=0,tn=0;printfnplease inputa andn\nn;scanfn%d,%dH a,n;printf,,a=%dn=%d\nn,a,n;whilecount=n,tn=tn+a;sn=sn+tn;a=a*10;++count;printfna+aa+...=%ld\nH,sn;【程序19]题目一个数如果恰好等于它的因子之和,这个数就称为“完数”例如.编程找出6=1+2+3以内的所有完数
1000.程序分析请参照程序〈-上页程序
114.•程序源代码2mainQ{static intk
[10];int i,j,n,s;forj=2;j1000;j++{n=-l;二s j;fori=l;i{ifj%i==0{n++;s=s-i;kg;ifs==0printfn%d isa wanshun,j;fori=0;i printf,f%d;;k[i];printfn%d\nn,k[n];}【程序20]题目一球从米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第次落地时,
10010.程序分析见下面注释
1.程序源代码2mainQfloat sn=
100.0,hn=sn/2;int n;forn=2;n=10;n++第次落地时共经过的米数*/第次反跳高度*/}sn=sn+2*hn;/*n hn=hn/2;/*nprintfnthe totalof road is%f\nn,sn;printfHthe tenthis%f meter\nn,hn;【程序21]题目猴子吃桃问题猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个以后每天早上都吃了前一天剩下的一半零一个到第天10早上想再吃时,见只剩下一个桃子了求第一天共摘了多少.程序分析采取逆向思维的方法,从后往前推断1•程序源代码2mainQint day,xl,x2;day=9;二x21;whileday0第一天的桃子数是第天桃子数加后的倍*/{xl=x2+l*2;/*212x2=xl;day--;printfnthc totalis%d\nn,xl;【程序22]题目两个乒乓球队进行比赛,各出三人甲队为三人,乙队为三人已抽签决定比赛名单a,b,c x,y,z有人向队员打听比赛的名单说他不和比,说他不和比,请编程序找出三队赛手的名单a xc x,z.程序分析判断素数的方法用一个数分别去除到这个数,如果能被整除,则12sqrt表明此数不是素数,反之是素数.程序源代码2mainQ{是的对手,是的对手,是的对手*/chari,j,k;/*i aj bk cfori=,x,;i=,z,;i++forj=k;jv=£;j++㈢ififork+x,;kv+/;k++{ifi!=kj!=k{ifi!=,x,k!=,xtk!=z,printfnorder isa—%c\tb—%c\tc—%c\nn,ij,k;【程序】1题目有、、、个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1234.程序分析可填在百位、十位、个位的数字都是、、、组成所有的排列后再去掉不满足条件的11234o排列.程序源代码{2mainQ int i,j,k;printfn\nn;/*以下为三重循环*/fori=l;i5^++forj=l;j5;j++for k=l;k5;k++/*确保、、三位互不相同*/if i!=ki!=jj!=k i j kprintf”%d,%d,%d\n”,i,j,k;}【程序】2题目企业发放的奖金根据利润提成利润
①低于或等于万元时,奖金可提利润高于万元,1010%;10低于万元时,低于万元的部分按提成,高于万元的部分,可可提成万到万之间20110%
107.5%;2040时,高于万元的部分,可提成万到万之间时高于万元的部分,可提成万到万之205%;4060403%;60100间时,高于万元的部分,可提成高于万元时,超过万元的部分按提成,从键盘输入当
601.5%,1001001%月利润求应发放奖金总数?I,.程序分析请利用数轴来分界,定位注意定义时需把奖金定义成长整型
1.程序源代码2mainQ{long int i;int bonusl,bonus2,bonus4,bonus6,bonusl0,bonus;scanfM%ldn,i;bonusl=100000*
0.1;bonus2=bonus1+100000*
0.75;bonus4=bonus2+200000*
0.5;bonus6=bonus4+200000*
0.3;bonusl0=bonus6+400000*
0.15;ifi=100000bonus=i*
0.1;else ifi=200000bonus=bonusl+i-100000*
0.075;else ifi=400000bonus=bonus2+i-200000*
0.05;else ifi=600000bonus=bonus4+i-400000*
0.03;else ifi=l000000bonus=bonus6+i-600000*
0.015;else【程序231题目打印出如下图案(菱形)***、,/***.程序分析先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重循环,第1for一层控制行,第二层控制列.程序源代码2mainQint i,j,k;fori=0;i=3;i++二for0;jv=2-i;j++printfO;fork=0;k=2*i;k++printf”*”;printfn\nn;fori=0;i=2;i++forj=O;j=i;j++printfO;fork=0;k=4-2*i;k++printfn*n;printfn\nH;}【程序24J题目有一分数序列…求出这个数列的前项之和2/1,3/2,5/3,8/5,13/8,21/
1320.程序分析请抓住分子与分母的变化规律1•程序源代码2mainQ int n,t,number=20;float a=2,b=l,s=0;forn=l;n=number;n++s=s+a/b;『却=这部分是程序的关键,请读者猜猜的作用*/}a+b;b=t;/*t printfMsum is%9,6f\nH,s;}【程序25]题目:求的和1+2!+3!+…+20!.程序分析此程序只是把累加变成了累乘1•程序源代码2mainQfloat n,s=0,t=l;forn=l;n=20;n++二t*n;十二st;printffl+2!4-3!...+20!=%e\nn,s;}【程序26]题目利用递归方法求5!.程序分析:递归公式:1fn=fn_l*4!.程序源代码2#i ncludcstdio.hmainQint i;;int factfori=0;i5;i++printfn\40:%d!=%d\nn,i,facti;int factj int j;int sum;ifj==Osum=l;elsesum=j*factj-l;精选return sum;语言程序实例个
(二)C100【程序27]题目利用递归函数调用方式,将所输入的个字符,以相反顺序打印出来.程序分析51•程序源代码2#i ncludestdio.hmainint i=5;void palinint n;printfn\40:n;palini;printfn\nn;void palinnint n;char next;ifn=lnext=getchar;printf,\n\0:n;putcharnext;elsenext=getchar;palinn-l;putcharnext;【程序281题目有个人坐在一起,问第五个人多少岁?他说比第个人大岁问第个人岁数,他说比第54243个人大岁问第三个人,又说比第人大两岁问第个人,说比第一个人大两岁最后问第一个人,222他说是岁请问第五个人多大?10程序分析利用递归的方法,递归分为回推和递推两个阶段要想知道第五个人岁数,需知道第四人L的岁数,依次类推,推到第一人岁,再往回推
10.程序源代码2agcnint n;int c;ifn==l c=10;else c=agen-l+2;returnc;main{printfn%dn,age5;【程序29]题目给一个不多于位的正整数,要求
一、求它是几位数,
二、逆序打印出各位数字
5.程序分析学会分解出每一位数,如下解释
1.程序源代码2main longa,b,c,d,e,x;scanfn%ldu,x;分解出万位*/分解出千位*/分解出百位a=x/l0000;/*b=x%10000/1000;/*c=x%1000/100;/*分解出十位分解出个位*/d=x%100/10;/**/e=x%10;/**/ifa!=0printfnthere are5,%ld%ld%ld%ld%ld\nn,e,d,c,b,a;else ifb!=0printfnthere are4,%ld%Id%ld%ld\n”,e,d,c,b;else ifc!=0printfn thereare3,%ld%ld%ld\nn,e,d,c;else ifd!=0printfHthere are2,%ld%ld\nn,e,d;else ife!=0printfH thereare l,%ld\nn,e;【程序30]题目一个位数,判断它是不是回文数即是回文数,个位与万位相同,十位与千位相同
512321.程序分析同例
129.程序源代码2mainlong ge,shi,qian,wan,x;scanfn%ldu,x;wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;个位等于万位并且十位等于千位if ge==wanshi==qian/**/printfHthis number isa huiwen\nn;elseprintfnthis numberis notahuiwen\n;【程序31]题目请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母.程序分析用情况语句比较好,如果第一个字母一样,则判断用情况语句或语句判断第二个字母1if.程序源代码2#i ncludestdio.hvoid maincharletter;printfnplease inputthe firstletter ofsomeday\n;二当所按字母为时才结束*/{while lettergetch!=Y/*Y switchletter{case S:printfplease inputsecondletter\nn;ifletter=getch==a,printfHsaturday\nH;else ifletter=getch==u printfnsunday\nn;else printfdataerror\n;break;case F:printffriday\n;break;case M:printfmonday\n;break;case T,:printf,,please inputsecond letter\nn;ifletter=getch==uprintfn tuesday\n;else ifletter=getch==,h,printfnthursday\nn;else printfdataerror\n;break;case,W,:printf,,wednesday\nH;break;default:printfHdata error\nn;【程序32]题目Press anykey tochange color,do youwant totry it.Please hurryup!.程序分析1•程序源代码2#i ncludeconio.hvoid mainvoid{int color;for color=0;color8;color++{设置文本的背景颜色*/textbackgroundcolor;/*cprintfnThis iscolor%d\r\nn,color;cprintfPress anykey tocontinue\r\nH;;/*输入字符看不见*/}getch【程序题目:学习与函数33]gotoxy clrscr.程序分析
1.程序源代码2#i ncludeconio.hvoid mainvoid;/*清屏函数*/clrscr textbackground2;定位函数*/gotoxyl,5;/*cprintfHOutput atrow5column l\nn;textbackground3;gotoxy20,10;cprintfHOutput atrow10column20\nn;【程序34]题目练习函数调用.程序分析1•程序源代码2#i ncludestdio.hvoid hello_worldvoidprintfnHello,world!\nH;void three_hellosvoidint counter;for counter=1;counter=3;counter++调用此函数*/}heUo_world;/*void mainvoid调用此函数*/}three_hellos;/*【程序35]题目文本颜色设置.程序分析
1.程序源代码2#i ncludeconio.hvoid mainvoidint color;二for color1;color16;color++设置文本颜色*/textcolorcolor;/*cprintfHThis iscolor%d\r\nM,color;textcolor128+15;cprintfnThis isblinking\r\nM;【程序361题目求之内的素数
100.程序分析
1.程序源代码2#i ncludestdio.h#i ncludenmath.hn#defineN101mainint i,j,line,a[N];fori=2;iN;i++a[i]=i;fori=2;isqrtN;i++forj=i+l;jvN;j++ifa[i]!=Oa[j]!=O ifa[j]%a[i]==O a[j]=O;}printf,,\nH;fori=2,line=0;ivN;i++ifa[i]!=O{printfH%5dn,a[i];line++;}ifline==10{printf”\n;line=O;}【程序37]题目对个数进行排序
10.程序分析可以利用选择法,即从后个比较过程中,选择一个最小的与第一个元素交换,下次类推,19即用第二个元素与后个进行比较,并进行交换
8.程序源代码2#define N10main{int i,j,min,tem,a[N];/*input data*/printfHplease inputten num:\nH;fori=0;iN;i++printf,,a[%d]=H,i;scanfH%dn,a[i];}printf\n;fori=0;ivN;i++printfn%5dn,a[i];printfn\nu;/*sort tennum*/fori=0;iN-l;i++{min=i;forj=i+l;jN;j++ifa[min]a[j]min=j;tem=a|i];a[i]=a[min];a[min]=tem;/output data*/printfnAfter sorted\nH;fori=0;iN;i++【程序38]题目求一个矩阵对角线元素之和3*
3.程序分析利用双重循环控制输入二维数组,再将用用累加后输出1for a•程序源代码2mainfloat a
[3]
[3],sum=0;int i,j;printfnplease inputrectangle element:\nn;fori=0;i3;i++forj=0;j3;j++scanfn%f,a[i][j];fori=0;i3;i++sum=sum+a[i][i];printfHduijiaoxian heis%
6.2f*,sum;【程序391题目有一个已经排好序的数组现输入一个数,要求按原来的规律将它插入数组中.程序分析首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后1的数,依次后移一个位置.程序源代码2mainint a[ll]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printfnoriginal arrayis:\nn;fori=0;i10;i++printfn%5d;a[i];printfn\nn;亡”;printfHinsert anew numbescanfn%d,number;end=a
[9];ifnumberenda
[10]=number;else{fori=0;i10;i++{ifa[i]number{templ=a[i];a[i]=number;forj=i+1;j11;j++{temp2=a[j];printfHbonus=%dH,bonus;}【程序】3题目一个整数,它加上后是一个完全平方数,再加上又是一个完全平方数,请问该数是多少?
10168.程序分析在万以内判断,先将该数加上后再开方,再将该数加上后再开方,如果开方后110100268的结果满足如下条件,即是结果请看具体分析.程序源代码2#i ncludemath.hmainQlong int i,x,y,z;for i=l;i100000;i++为加上后开方后的结果*/为再加上后开{x=sqrti+100;/*x100y=sqrti+268;/*y168方后的结果*/尸=如果一个数的平方根的平方等于该数,这说明此ifx*x==i+100y*i+268/*数是完全平方数*/printfn\n%ld\nn,i;【程序】4题目输入某年某月某日,判断这一天是这一年的第几天?.程序分析以月日为例,应该先把前两个月的加起来,然后再加上天即本年的第几天,特殊情1355况,闰年且输入月份大于时需考虑多加一天
3.程序源代码2mainQ intday,month,year,sum,leap;printfn\nplease inputyear,month,day\nH;scanf%d,%d,%d”,year,month,day;先计算某月以前月份的总天数*/{switchmonth/*case l:sum=O;brcak;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;case5:sum=120;break;case6:sum=l51;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;case10:sum=273;break;case H:sum=304;brcak;case12:sum=334;break;default:printfndata error0;break;a[j]=templ;templ=temp2;break;}fori=0;il l;i++printfn%6d;a[i];【程序40]题目将一个数组逆序输出.程序分析用第一个与最后一个交换
1.程序源代码2#define N5main{int a[N]={9,6,5,4,l},i,temp;printfn\n originalarray:\nn;fori=0;iN;i++printfn%4dn,a[i];fori=0;ivN/2;i++{temp=a[i];a[i]=a[N-i-l];a[N-i-l]=temp;printfH\n sortedarray:\nM;fori=0;iN;i++printfn%4d,\a[i];【程序41]题目学习定义静态变量的用法static程序分析L.程序源代码3#i ncludestdio.h”varfuncint var=0;static intstatic_var=0;printfn\40:var equal%d\n,var;printfn\40:static varequal%d\n\static_var;printf!,\nn;var++;static var++;void main{inti;fori=0;i3;i++varfunc;【程序42]题目学习使用定义变量的用法auto.程序分析
1.程序源代码2#i ncludestdio.hmain{int i,num;num=2;for i=0;i3;i++{printfn\40:The numequal%d\nH,num;num++;auto int num=l;printfn\40:The internalblock numequal%d\n”,num;num++;【程序43]题目学习使用的另一用法static.程序分析1•程序源代码2#i ncludestdio.hmainint i,num;num=2;fori=0;i3;i++printf*\40:The numequal%d\nM,num;num++;static int num=l;printfn\40:The internalblock numequal%d\nn,num;num++;【程序44]题目学习使用的用法external.程序分析1•程序源代码2#i ncludestdio.hint a,b,c;void add{int a;a=3;c=a+b;void mainQ{a=b=4;add;printfHThe valueof cis equalto%d\nn,c;【程序45]题目学习使用定义变量的方法register程序分析L.程序源代码2void mainint tmp=O;fori=1;i=100;i++tmp+=i;printfnThe sumis%d\nH,tmp;【程序46]题目宏#€哇命令练习⑴1©
61.程序分析
1.程序源代码2#i ncludestdio.h#define TRUE1#define FALSE0#define SQx x*x void main{int num;int again=1;printfH\40:Program willstop if input valueless than5O.\nH;whileagain{printfH\40:Please inputnumber=n;scanf%d”,num;printfH\40:The squarefor thisnumberis%d\nn,SQnum;ifnum=50again=TRUE;else二again FALSE;【程序471题目宏#^行便命令练习
2.程序分析
1.程序源代码2#i ncludestdio.h”宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上#define exchangea,b{\/*\*/intt;\t=a;\a=b;\b=t;\void mainvoidint x=10;int y=20;printfnx=%d;y=%d\nM,x,y;exchangex,y;printfnx=%d;y=%d\n”,x,y;【程序48]题目宏#€行加命令练习1©
3.程序分析
1.程序源代码2#define LAG#define SMA#define EQ==#i ncludestdio.h void main{int i=10;int j=20;ifi LAGjprintfn\40:%d largerthan%d\nn,i,j;else ifiEQj printfn\40:%d equalto%d\n,i,j;else ifiSMAjprintf\40:%d smallerthan%d\nH,i,j;elseprintfn\40:No suchvalue.\nn;【程序49]题目和指皿£的综合应用#if#ifdef
1.程序分析
1.程序源代码2#i ncludestdio.h”#define MAX#define MAXIMUMx,y xyx:y#define MINIMUMx,y xyy:xvoid main{int a=10,b=20;#ifdef MAXprintfn\40:The largerone is%d\n”,MAXIMUMS,b;#elseprintfn\40:The lowerone is%d\nn,MINIMUMa,b;#endif#ifndef MINprintfn\40:The lowerone is%d\nn,MINIMUMa,b;#elseprintfn\40:The largerone is%d\nn,MAXIMUMa,b;#endif#undef MAX#ifdef MAXprintfn\40:The largerone is%d\n”,MAXIMUMS,b;#elseprintfn\40:The lowerone is%d\nn,MINIMUMa,b;#endif#define MIN#ifndef MINprintfn\40:The lowerone is%d\nn,MINIMUMa,b;#elseprintfn\40:The largerone is%d\n\MAXIMUMa,b;#endif【程序501题目的应用练习#i nclude.程序分析
1.程序源代码2文件如下:test.h#define LAG#define SMA#define EQ==一个新文件包含#i ncludetest.h/*
50.c,test.h*/#i ncludestdio.h”void main{int i=10;int j=20;ifi LAGjprintfn\40:%d largerthan%d\nn,i,j;else ifiEQjprintf**\40:%d equalto%d\nH,i,j;else ifiSMAjprintfn\40:%d smallerthan%d\nH,ij;elseprintfn\40:No suchvalue.\nn;【程序51]题目学习使用按位与.程序分析100=0;01=0;10=0;11=1•程序源代码2#i ncludestdio.hmain int a,b;a=077;b=a3;printf!,\40:The abdecimal is%d\nn,b;b=7;printfn\40:The abdecimal is%d\nn,b;【程序52]题目学习使用按位或|.程序分析10|0=0;0|1=1;1|0=1;1|1=1•程序源代码2#i ncludestdio.hmainint a,b;a=077;二b a|3;printf*\40:The abdecimal is%d\nn,b;b|=7;printfH\40:The abdecimal is%d\nH,b;【程序53]题目学习使用按位异或人.程序分析10A0=0;0Al=l;lA0=l;lAl=0•程序源代码2#i ncludestdio.h”mainint a,b;a=077;二八b a3;printfH\40:The abdecimal is%d\nn,b;八二b7;printfH\40:The abdecimal is%d\nH,b;【程序54]题目取一个整数从右端开始的位a4〜7程序分析可以这样考虑⑴先使右移位a4设置一个低位全为其余全为的数可用241,0〜~04⑶将上面二者进行运算.程序源代码2mainunsigned a,b,c,d;scanfM%on,a;b=a»4;c=〜〜04;d=bc;printf,,%o\n%o\nn,a,d;【程序55]题目学习使用按位取反〜.程序分析:1〜0=1;〜1=0;.程序源代码2#i ncludestdio.hmain{int a,b;a=234;二b〜a;printfn\40:The as1complementdecimal is%d\n\b;a=~a;printfH\40:The as1complementhexidecimal is%x\nn,a;【程序56]题目画图,学用画圆形circle.程序分析
1.程序源代码2/circle*/#i ncludegraphics.h main{int driver,mode,i;float j=l,k=l;driver=V GA;mode=V GAHI;initgraphdriver,mode,,,n;setbkcolorYELLOW;fori=0;i=25;i++setcolor8;circle310,250,k;k=k+j;j=j+
0.3;【程序题目画图,学用画直线57]line.程序分析
1.程序源代码2#i ncludengraphics.hHmain{int driver,mode,i;float xO,yO,yl,xl;float j=12,k;driver=V GA;mode=VGAHI;initgraphdriver,mode,,,n;setbkcolorGREEN;x0=263;y0=263;y I=275;x1=275;fori=0;iv=18;i++setcolor5;linexO,yO,xO,yl;x0=x0-5;y0=y0-5;xl=xl+5;yl=yl+5;j=j+10;}x0=263;yl=275;y0=263;fori=0;i=20;i++setcolor5;linexO,yO,xO,yl;x0=x0+5;yO=yO+5;二yl yl-5;【程序58]题目画图,学用画方形rectangle.程序分析利用循环控制个数,每个数分解出个位,十位,百位.程序源代码1for100-9992#i ncludengraphics.hHmain{int x0,y0,y1,x1,driver,mode,i;driver=VGA;mode=VGAHI;initgraphdriver,mode,,n;setbkcolor YELLOW;x0=263;y0=263;y1=275;x1=275;fori=0;i=18;i++setcolorl;rectanglexO,yO,x l,yl;x0=x0-5;y0=y0-5;xl=xl+5;yl=yl+5;settextstyleDEFAULT_FONT,HORIZ_DIR,2;outtextxy150,40,nHow beautifulit is!;line130,60,480,60;setcolor2;circle269,269,137;【程序591题目画图,综合例子.程序分析
1.程序源代码2#define PAI
3.1415926#define B
0.809#include ngraphics.hn#i ncludemath.hmainint i,j,k,x0,y0,x,y,driver,mode;float a;driver=CGA;mode=CGACO;initgraphdri ver,mode,nn;setcolor3;setbkcolorGREEN;x0=150;y0=100;circlex0,y0,10;circlex0,y0,20;circlex0,y0,50;fori=0;i16;i++a=2*PAI/16*i;x=ceilx0+48*cosa;y=ceilyO+48*sina*B;setcolor2;linex0,y0,x,y;}setcolor3;circlex0,y0,60;/*Make0time normalsize letters*/settextstyleDEFAULT_FONT,HORIZ_DIR,0;outtextxy10,170,npress akeyn;getch;sum=sum+day;/*再加上某天的天数*/ifyear%400==01|year%4==0year%100!=0/*^!]断是不是闰年*/叩le=1;elseleap=O;如果是闰年且月份大于总天数应该加一天*/ifleap==lmonth2/*2,sum++;printfHIt isthe%dth day.”,sum;}[程序5]题目输入三个整数请把这三个数由小到大输出x,y,z,.程序分析我们想办法把最小的数放到上,先将与进行比较,如果则将与的值进行交换,1xx y xyxy然后再用与进行比较,如果则将与的值进行交换,这样能使最小x z xz xzx.程序源代码2mainQint x,y,z,t;scanf%d%d%d”,x,y,z;if xy尸交换的值*/{t=x;x=y;t;}/*x,y ifxz的值*/{t=z;z=x;x=t;}x,z ifyz{口丫;尸匕}/*交换的值*/2;2=z,y printfnsmallto big:%d%d%d\nn,x,y,z;}【程序】6题目用*号输出字母的图案C.程序分析可先用*号在纸上写出字母再分行输出1C,•程序源代码2#i ncludestdio.h mainQprintfnHello C-world!\nn;printff1****\n;printfn*\n”;printfn*\nn;printfH****\n;【程序】7题目输出特殊图案,请在环境中运行,看一看,.程序分析字符共有个不同字c VeryBeautiful!1256符,图形不一样.程序源代码2#i ncludestdio.hmainQ{char a=176,b=219;printfn%c%c%c%c%c\nu,b,a,a,a,b;printfn%c%c%c%c%c\nn,a,b,a,b,a;setfillstyleHATCH_FILL,YELLOW;floodfill202,l00,WHITE;getch;fork=0;k=500;k++setcolor3;fori=0;i=16;i++a=2*PAI/16*i+2*PAI/180*k;二x ceilx0+48*cosa;y=ceilyO+48+sina*B;setcolor2;linexO,yO,x,y;}forj=l;j=50;j++a=2*PAI/l6*i+2*PAI/l80*k-l;x=ceilx0+48*cosa;y=ceilyO+48*sina*B;linexO,yO,x,y;restorecrtmode;【程序60]题目画图,综合例子.程序分析1•程序源代码2#i ncludeHgraphics.hn#define LEFT0#define TOP0#define RIGHT639#define BOTTOM479#define LINES400#define MAXCOLOR15mainint driver,mode,error;int xl,yl;int x2,y2;int dxl,dy1,dx2,dy2,i=1;int count=0;int color=0;driver=VGA;mode=VGAHI;initgraphdri ver,mode,nn;xl=x2=yl=y2=10;dxl=dyl=2;dx2=dy2=3;while!kbhitIinexl,yl,x2,y2;xl+=dxl;yl+=dyl;x2+=dx2;y2+dy2;ifx1=LEFT||x1=RIGHT dxl=-dxl;ify l=TOP||y1=BOTTOMdyl=-dyl;ifx2=LEFT||x2=RIGHTdx2=-dx2;ify2=TOP||y2=BOTTOMdy2=-dy2;if++countLINESsetcolorcolor;color=color=MAXCOLOR0:++color;closegraph;【程序61]题目打印出杨辉三角形要求打印出行如下图
10.程序分析111122113311464115101051•程序源代码2main{int i,j;int a
[10]
[10];printfn\nn;fori=0;i10;i++{a[i]
[0]=l;a[i][i]=l;}fori=2;i10;i++forj=l;ji;j++a[i]U]=a[i-l]U-l]+a[i-l]U];fori=0;i10;i++{forj=0;j=i;j++皿;printf%5d,a[i printfn\nn;【程序62]题目:学习画点putpixel o.程序分析
1.程序源代码2#i ncludestdio.h”#i ncludengraphics.hnmain int ij,dnver=VGA,mode=VGAHI;initgraphdriver,mode,,,n;setbkcolor YELLOW;fori=50;i=230;i+=20forj=50;j=230;j++putpixeliJJ;forj=50;j=230;j+=20fori=50;i=230;i++putpixeli,j,l;【程序63]题目:画椭圆ellipse.程序分析
1.程序源代码2#i ncludestdio.h#i ncludegraphics.h#i ncludeconio.hmain二二int x=360,y=160,driver VGA,mode VGAHI;int num=20,i;int top,bottom;initgraphdriver,mode,,,H;top=y-30;bottom=y-30;fori=0;inum;i+4-{ellipse250,250,0,360,top,bottom;top-=5;bottom+=5;getch;【程序64]题目利用画图ellipse andrectangle.程序分析1•程序源代码2#i ncludestdio.h#i ncludegraphics.h#i ncludeconio.h1mainint driver=VGA,mode=VGAHI;int i,num=15,top=50;int left=20,right=50;initgraphdriver,mode,,,n;fori=0;ivnum;i++ellipse250,250,0,360,right,left;ellipse250,250,0,360,20,top;rectangle20-2*i,20-2*i,l0*i+2,10*i+2;right+=5;left+=5;top+=10;getch;【程序65]题目一个最优美的图案.程序分析
1.程序源代码2#i ncludengraphics.hH#i ncludemath.h”#i ncludedos.h#i ncludeconio.h#i ncludenstdlib.hn#i ncludestdio.h#i ncludenstdarg.hn#define MAXPTS15#define PI
3.1415926struct PTS{int x,y;;double AspectRatio=
0.85;void LineToDemovoidstructviewporttype vp;struct PTSpoints[MAXPTS];int i,j,h,w,xcenter,ycenter;int radius,angle,step;double rads;printfn MoveTo/LineTo Demonstrationn;getviewsettings vp;h=vp.bottom-vp.top;w=vp.right-vp.left;xcenter=w/2;/*Determine thecenter ofcircle*/ycenter=h/2;radius=h-30/AspectRatio*2;step=360/MAXPTS;/*Determine#of increments*/angle=0;/*Begin atzero degrees*/for i=0;iMAXPTS;++i{/*Determine circleintercepts*/rads=doubleangle*PI/
180.0;/*C onvertangle toradians*/points[i].x=xcenter+int cosrads*radius;points[i].y=ycenter-int sinrads*radius*AspectRatio;angle+=step;Move tonext increment*/}circle xcenter,ycenter,radius;/*Draw boundingcircle*/for i=0;iMAXPTS;++i{/*Dra wthe cordsto thecircle*/for j=i;jMAXPTS;++j{/*For eachremaining intersect*/movet opoints[i].x,points[i].y;/*Move tobeginning ofcord*/linetopoints[j].x,points[j].y;/*Draw the cord*/}}}main{int driver,mode;driver=CGA;mode=CGACO;initgraphdriver,mode,,,n;setcolor3;setbkcolorGREEN;LineToDemo;}【程序66]题目输入个数按大小顺序输出3a,b,c,.程序分析利用指针方法
1.程序源代码2/pointer*/mainint nl,n2,n3;int pointed,*pointer2/:pointer3;printfnplease input3number:nl,n2,n3:H;scanf”%d,%d,%d”,n1,n2,n3;pointer l=nl;pointer2=n2;pointer3=n3;ifn1n2swappointerl,pointer;ifn1n3swappointerl,pointer3;ifn2n3swappointer2,pointer3;printfHthe sortednumbers are:%d,%d,%d\nu,nl,n2,n3;swappl,p2int*pl,*p2;{int p;3=*pl;*pl=*p2;*p2=p;【程序67]题目输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组.程序分析谭浩强的书中答案有问题
1.程序源代码2mainint number
[10];inputnumber;max_minnumber;outputnumber;inputnumberint number
[10];{inti;fori=0;i9;i++scanfn%d,n,number[i];scanfn%d,number
[9];max_minarrayint array
[10];{int*max,*min,k,l;int*p,*arr_end;arr_end=array+l0;二二max minarray;forp=array-i-l;parr_end;p++if*p*max max=p;else if*p*min min=p;k=*max;l=*min;*p=array
[0];array
[0]=l;l=:l:p;*p=an-ay
[9];array
[9]=k;k=*p;return;outputarrayint array
[10];{int*p;forp=array;parray+9;p-»-+printfn%d;\*p;printfn%d\nn,array
[9];语言程序实例个c100V3【程序68]题目有个整数,使其前面各数顺序向后移个位置,最后个数变成最前面的个数n m mm.程序分析
1.程序源代码2mainint number
[20],n,mi;5printfthe totalnumbers is:;scanf%d,n;printfuback m:n;scanf%d”,m;fori=0;in-1;i++scanfn%d,,number[i];scanf%d,number[n-1];movenumber,n,m;fori=0;in-1;i++printf%d;,number[i];printf%dn,number[n-1];movearray,n,mint n,m,array
[20];{int*p,array_end;array_end=*array+n-1;forp=array+n-1;parray;p-*P=*P-1;*array=array_end;m-;ifm0movearray,n,m;【程序69]题目有个人围成一圈,顺序排号从第一个人开始报数从到报数,凡报到的人退出圈子,问n133最后留下的是原来第几号的那位程序分析
1..程序源代码2#define nmax50mainint i,k,m,n,num[nmax],*p;printfnplease inputthe totalof numbers:;scanf%dM,n;p=num;fori=0;in;i++*p+i=i+1;精愈i=0;k=0;m=0;whilemn-1if*p+i!=O k++;ifk==3;{*P+i=k=0;m++;i++;ifi==n i=0;while*p==O p++;printf%disleft\nJp;【程序70]题目写一个函数,求一个字符串的长度,在函数中输入字符串,并输出其长度main.程序分析
1.程序源代码2mainint len;char*str
[20];printfplease inputa string:\n;scanf%s”,str;len=lengthstr;printfnthe stringhas%d characters.,len;lengthpchar*p;int n;n=0;while*p!=\0n++;P++;return n;【程序71]题目编写和函数输入,输出个学生的数据记录input output
5.程序分析
1.程序源代码2#define N5struct student{char num
[6];char name
[8];int score
[4];}stu[N];inputstustruct studentstu[];{int ij;fori=0;iN;i++{printfH\n pleaseinput%d of%d\nn,i+1,N;printfHnum:;scanfn%s,stu[i].num;printfnname:;scanf%s”,stu[i].name;forj=0;j3;j++{printfscore%d.j4-1;scanf%dn,stu[i].score[j];printfn\n;printstustruct studentstu[];{int i,j;printfH\nNo.Name Sco1Sco2Sco3\nH;fori=0;iN;i++{printfH%-6s%-1Os”,stu[i].num,stu[i].name;forj=0;j3;j++printfn%-8dn,stu[i].score[j];printfn\n;maininput;print;【程序72]题目创建一个链表.程序分析1•程序源代码2printf,r%c%c%c%c%c\nna,a,b,a,a;printfn%c%c%c%c%c\n,\a,b,a,b,a;printfM%c%c%c%c%c\nn,b,a,a,a,b;},【程序】8题目输出口诀9*
9.程序分析分行与列考虑,共行列,控制行,控制列199i j.程序源代码2#i ncludestdio.hmainQ{int iJ,result;printfH\nn;for i=l;i10;i+4-{forj=l;j10;j++result=i*j;表示左对齐,占位*/}printf”%d*%d=%・3d”,ij,result;/*-3d3每一行后换行*/}printfn”;/*【程序】9题目要求输出国际象棋棋盘.程序分析用控制行,来控制列,根据的和的变化来控制输出黑方格,还是白方格•程序源1i ji+j2代码#i ncludestdio.hmainQint i,j;〈fori=0;i8;i++j=0;j8;j++for=二ifi+j%20printfn%c%cn,219,219;elseprintfO;printfH\nH;【程序10]题目打印楼梯,同时在楼梯上方打印两个笑脸.程序分析用控制行,来控制列,根据的变化来控制输出黑方格的个数1ijji•程序源代码2#i ncludestdio.hmain/*creat a list*/#i ncludestdlib.h#i ncludestdio.hstruct list{int data;struct list*next;;typedef struct list node;typedef node*link;voidmain{link ptr,head;int num,i;ptr=linkmallocsizeofnode;ptr=head;printfuplease input5numbers==\nH;fori=0;i=4;i++scanf%dM,num;ptr-data=num;ptr-next=linkmallocsizeofnode;ifi==4ptr-next=NULL;else ptr=ptr-next;ptr=head;whileptr!=NULL{printfHThe valueis==%d\nH,ptr-data;ptr=ptr-next;【程序73]题目反向输出一个链表.程序分析
1.程序源代码2reverse outputalist*/#i ncludestdlib.h#i ncludestdio.hstruct list{int data;struct list*next;;typedef structlist node;typedef node*link;voidmain{link ptr,head,tail;int num,i;tail=linkmallocsizeofnode;tail-next=NULL;ptr=tail;printfM\nplease input5data==\nH;fori=0;i=4;i++scanf%d”,num;ptr-data=num;head=linkmallocsizeofnode;head-next=ptr;ptr=head;ptr=ptr-next;whileptr!=NULL{printfnThe valueis==%d\n,,ptr-data;ptr=ptr-next;【程序74]题目连接两个链表.程序分析
1.程序源代码2#i ncludestdlib.h#i ncludestdio.hstruct list{int data;structlist*next;;typedef structlist node;typedef node*link;link delete_nodelink pointerjinktmp{if tmp==NULL fdeletefirst node*/return pointer-next;else{iftmp-next-next==NULL/*delete lastnode*/tmp-next=NULL;else/*delete theother node*/tmp-next=tmp-next-next;return pointer;void selection_sortlink pointer,int num{link tmp,btmp;int i,min;fori=0;inum;i++tmp=pointer;min=tmp-data;btmp=NULL;whiletmp-next{ifmintmp-next-data{min=tmp-next-data;btmp=tmp;tmp=tmp-next;printfn\40:%d\n,min;pointer=delete_nodepointer,btmp;link create_listint array[],intnum{link tmp1,tmp2,pointer;int i;pointer=linkmallocsizeofnode;pointer-data=array
[0];tmp1=pointer;fori=1;inum;i++{tmp2=linkmallocsizeofnode;tmp2-next=NULL;tmp2-data=array[i];tmp1-next=tmp2;tmp1=tmp1-next;return pointer;link concatenatelinkpointeri jinkpointer2{link tmp;tmp=pointer1;whiletmp-nexttmp=tmp-next;tmp-next=pointer2;return pointeri;void mainvoid{int arr1[]={3,12,8,9,11;link ptr;ptr=create_listarr1,5;selection_sortptr,5;【程序75题目放松一下,算一道简单的题目.程序分析
1.程序源代码2mainint i,n;fori=1;i5;i++{n=0;ifi!=1n=n+1;ifi==3n=n+1;ifi==4n=n+1;ifi!=4n=n+1;ifn==3printfHzhu haoshi deshi:%c,64+i;【程序76]题目编写一个函数,输入为偶数时,调用函数求当输入为奇数时,调用函数n1/2+1/4+...+1/n,n利用指针函数1/1+1/3+…+1/n.程序分析
1.程序源代码2main#i ncludestdio.hmainfloat peven,podd,dcall;float sum;intn;while1scanfC%d\n;ifn1break;ifn%2==0printfEven=H;sum=dcallpeven,n;elseprintfOdd=;sum=dcallpodd,n;printf%f,sum;float pevenintnfloat s;inti;s=1;fori=2;i=n;i+=2s+=1/floati;retums;float poddnintn;float s;int i;s=0;fori=1;i=n;i+=2s+=1/float i;returns;float dcallfp,nfloat*fp;intn;float s;s=Hpn;returns;【程序77]题目填空练习指向指针的指针.程序分析
1.程序源代码2main{char*s[]={,,man,,Hwoman,V,girlH,Hboy,7,sisterH};char**q;intk;fork=0;k5;k++{;/*这里填写什么语句*/printf,,%s\n,,*q;【程序78]题目找到年龄最大的人,并输出请找出程序中有什么问题.程序分析
1.程序源代码2#define N4#i ncludestdio.hstatic struct man{char name
[20];int age;}person[N]={Hlin,1S/wangM9,,zhang,,20,,,sun,22};main{structman*q,*p;int i,m=0;p=person;for i=0;iN;i++{ifmp-ageq=p++;m=q-age;}printf%s,%d,,*q.name,*q.age;【程序79]题目字符串排序.程序分析
1.程序源代码2mainchar*str1
[20],*str2
[20],*str3
[20];char swap;printfplease inputthree strings\n,1;scanf%sn,str1;scanf%sM,str2;scanf%sM,str3;ifstrcmpstr1,str20swapstr1,str2;ifstrcmpstr1,str30swapstr1,str3;ifstrcmpstr2,str30swapstr2,str3;printfuafter beingsorted\n;printfu%s\n%s\n%s\n,str1,str2,str3;char swapp1,p2char*p1,*p2;char*p
[20];strcpyp,p1;strcpyp1,p2;strcpyp2,p;语言程序实例个C100V4精选【程序80]题目海滩上有一堆桃子,五只猴子来分第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第
三、第
四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?.程序分析
1.程序源代码2main{int count;fori=4;i10000;i+=4{count=0;m=i;fork=0;k5;k++j=i/4*5+1;闫;ifj%4==0count++;elsebreak;i=m;ifcount==4{printf%d\n”,count;break;}【程序81]题目其中??代表的两位数的结果为两位数,的结果为位数求??代809*=800*+9*+1,8*9*3表的两位数,及后的结果809*.程序分析
1.程序源代码2outputlong b,long i{printf,\n%ld/%ld=809*%ld+%ld,,b,i,i,b%i;main{long int a,b,i;a=809;fori=10;i100;i++{b=i*a+1;ifb=1000b=100008*i1009*i=100outputb,i;}【程序82]题目八进制转换为十进制.程序分析.程序源代码12main{char*p,s
[6];intn;P=s;getsp;n=0;while*p!=\O{n=n*8+*p,0;P++;}printfu%dn,n;【程序83]题目求所能组成的奇数个数0—
7.程序分析
2.程序源代码3mainlong sum=4,s=4;intj;forj=2;j=8;j++/*j isplace ofnumber*/{printf,\n%ld,,sum;ifjv=2s*=7;elses*=8;sum+=s;}printf,,\nsum=%ld,,,sum;【程序84]题目一个偶数总能表示为两个素数之和.程序分析
1.程序源代码2#i ncludestdio.h#i ncludemath.hmain{int a,b,c,d;scanf%d,a;forb=3;b=a/2;b+=2{forc=2;c=sqrtb;c++ifb%c==0break;ifcsqrtbd=a-b;elseint i,j;输出两个笑脸*printf”\l\l\n”;/*/fori=l;ivll;i++forj=l;j=i;j++printfn%c%cn219219;printfH\nn;5【程序Hl题目古典问题有一对兔子,从出生后第个月起每个月都生一对兔子,小兔子长到第三个月后每个3月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?.程序分析兔子的规律为数列11,1,2,3,5,8,13,
21....•程序源代码{2mainQlong fl,f2;int i;fl=f2=l;fori=l;i=20;i++{printfn%121d%121dn,fl,f2;控制输出,每行四个*/门=前两个月加起来赋值给第三ifi%2==0printf”\n”;/*fl+f2;/*个月*/前两个月加起来赋值给第三个月*/f2=fl+f2;/*【程序121题目判断之间有多少个素数,并输出所有素数101-
200.程序分析判断素数的方法用一个数分别去除到这个数,如果能被整除,则12sqrt表明此数不是素数,反之是素数.程序源代码2#i ncludeHmath.hnmainQ{int m,i,k,h=0,leap=l;printfn\nn;form=101;m=200;m+4-{k=sqrtm4-l;fori=2;iv=k;i++ifm%i==0{leap=0;break;}ifleap{printf,,%-4d,f,m;h++;ifh%10==0printfn\nn;leap=l;break;forc=2;c=sqrtd;c++ifd%c==O break;ifcsqrtdprintf%d=%d+%d\n,,,a,b,d;【程序85]题目判断一个素数能被几个整除
9.程序分析
1.程序源代码2main{long intm9=9,sum=9;int zi,n1=1,c9=1;scanf%d,zi;whilen1!=0{if!sum%zin1=0;else{m9=m9*10;sum=sum+m9;c9++;printfH%ld,can bedivided by%d\9\H,sum,c9;【程序86]题目两个字符串连接程序.程序分析
1.程序源代码2#i ncludenstdio.hmain{char a[]=,,acegikm,;char b[]=nbdfhjlnpqM;char c
[80],*p;int i=O,j=O,k=O;whilea[i]!=!\0b[j]!=\0{if a[i]{c[k]=a[i];i;++elsec[k]=b[j++];k++;c[k]=\0;ifa[i]==\O,p=b+j;else P=a+i;strcatc,p;putsc;【程序87]题目回答结果结构体变量传递.程序分析
1.程序源代码2#i ncludestdio.hstruct student{int x;char c;}a;main{a.x=3;a.c=a;fa;printf%d,%c,a.x,a.c;fstruct studentbb.x=20;b.c=y;【程序88]题目读取个数的整数值,每读取一个值,程序打印出该值个数的大71-
50.程序分析
1.程序源代码2main{int i,a,n=1;whilen=7{do{scanf%d”,a;}whilea1||a50;fori=1;iv=a;i++printf*;printf\n”;n++;}getch;精选【程序89]题目某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下每位数字都加上然后用和除以的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换5,
10.程序分析
1.程序源代码2main{inta,i,aa
[4],t;scanf%dn,a;aa
[0]=a%10;aa
[1]=a%100/10;aa
[2]=a%1000/100;aa
[3]=a/1000;fori=0;i=3;i++{aa[i]+=5;aa[i]%=10;fori=0;i=3/2;i++{t=aa[i];aa[i]=aa[3-i];aa[3-i]=t;fori=3;i=0;i-printf%dn,aa[i];精选【程序90]题目专升本一题,读结果.程序分析
1.程序源代码2#i ncludestdio.h#define M5main{inta[M]={1,2,3,4,5};inti=0;j=M-1;whilei{t=*a+i;*a+i=*a+j;*a+j=t;fori=0;i printf”%d”,*a+i;【程序91]题目时间函数举例
1.程序分析
1.程序源代码2#i ncludeustdio.h#i ncludetime.hvoid main{time_t It;fdefine alongint timevarible*/lt=timeNULL;/*system timeand date*/printfctime;fenglish formatoutput*/printfasctimelocaltime;/*tranfer totm*/printfasctimegmtime;/*tranfer toGreenwich time*/}【程序92]题目时间函数举例
2.程序分析1•程序源代码2calculate time*/#i nclude“time.h#i ncludestdio.hmain{time_t start,end;inti;start=timeNULL;fori=0;i3000;i++{printfn\1\1\1\1\1\1\1\1\1\1\nn;}end=timeNULL;printf\1:The differentis%
6.3f\n,difftimeend,start;【程序93]题目时间函数举例
3.程序分析
1.程序源代码2calculate time*/#i ncludetime.h#i ncludestdio.hmain{clock_t start,end;inti;double var;start=clock;fori=0;i10000;i++{printfH\1\1\1\1\1\1\1\1\1\1\nn;}end=clock;printfH\1:The differentis%
6.3f\n,doubleend-start;【程序94]题目时间函数举例一个猜数游戏,判断一个人反应快慢4,.程序分析
1.程序源代码2#i ncludetime.h#i ncludestdlib.h#i ncludestdio.hmain{char c;clock_t start,end;time_ta,b;double var;inti,guess;srandtimeNULL;printfdo youwant toplay orh\rT;loop:whilec=getchar==yi=rand%100;printfH\nplease inputnumber you guess:\nM;start=clock;a=timeNULL;scanf%d,guess;whileguess!=i{ifguessi{printfnplease inputa littlesmallerAn;scanf%d,guess;}else{printfplease inputa littlebiggerAn;scanf%d,guess;}end=clock;b=timeNULL;printfH\1:It tookyou%
6.3f seconds\nn,var=doubleend-start/
18.2;printfH\1:it tookyou%
6.3f seconds\n\n,difftimeb,a;ifvar15printfH\1\1You arevery clever!\1\1\n\n;else ifvar25printfH\1\1you arenormal!\1\1\n\nn;elseprintfH\1\1you arestupid!\1\1\n\nH;printf\1\1Congradulations\1\1\n\n;printfuThe numberyouguessis%d”,i;printfH\ndo youwant totry itagain\yy\.or.\,n\\nH;ifc=getch==ygoto loop;【程序95题目家庭财务管理小程序.程序分析
1.程序源代码2money managementsystem*/#i ncludestdio.h#i ncludedos.hmainFILE*fp;struct dated;float sum,chm=
0.0;int len,i,j=0;intc;char ch
[4]=n,ch1
[16]=,H chtime
[12]=,chshop
[16],chmoney
[8];Jpp:clrscr;sum=
0.0;「;gotoxy1,1;printfH|gotoxy12;printfH|money managementsystemCI.O
2000.03|H;5gotoxy13;printfH||n;5gotoxy1,4;printfM|-money records-|-today costlist-|H;「;gotoxy1,5;printfn||gotoxy1,6;printfH|date:||H;「;gotoxy1,7;printf||||gotoxy1,8;printfH|||H;gotoxy1,9;printfM|thgs:|gotoxy1,10;printfM I I Igetdated;lH;gotoxy1,11;printfH11sprintfchtime,,,%4d.%02d.%02d,,d.da_yea;gotoxy1,12;printfH cost:r,d.da_mon,d.da_day;for;;gotoxy113;printfn IIIIn;I gotoxy3,24;printfn Tab_browse costlistJgotoxy1,14;printfH[「;ln;Esc_quit;gotoxy1,15;printfM I;gotoxy13,10;printf;gotoxy1,16;printfHI;gotoxy13,13;printfC,H;gotoxy1,17;printfgotoxy13,7;printf%s,chtime;|Hgotoxy118;printfn5j=18;gotoxy1,19;printfch
[0]=getch;Igotoxy1,20;printfifch
[0]==27gotoxy1,21;printfHbreak;gotoxy1,22;printf strcpychshop,H;Igotoxy1,23;printfHstrcpychmoney,,H,;i=0;ifch
[0]==9Imm:i=0;fp=fopenHhome.datn,r+;gotoxy3,24;printfMIgotoxy6,4;printfn listrecords;gotoxy1,5;printfC|1;「;gotoxy41,4;printfgotoxy41,5;printfM|M;whilefscanffp,%10s%14s%f\n,chtime,chshop,chm!=EOF{ifi==36{getch;i=0;}ifi%3617{gotoxy4,6+i;printfHH;gotoxy4,6+i;}elseifi%3616{gotoxy41,4+i-17;printfHH;gotoxy42,4+i-17;}i++;sum=sum+chm;printf%10s%-14s%
6.1f\n,,chtime,chshop,chm;}gotoxy1,23;printf|1;gotoxy1,24;printf||;gotoxy1,25;printfH|1;gotoxy10,24;printftotal is%
8.1f$M,sum;fclosefp;gotoxy49,24;printfpress anykey to..…H;getch;goto pp;elsewhilech[O]!=\r{ifj10{strncatchtime,ch,1;j++;}ifch
[0]==8len=strlenchtime-1;的15{len=len+1;j=11;}strcpych1,H;j=j-2;strncatch1,chtime,len;strcpy^htime;;strncatchtime,ch1,len-1;gotoxy13,7;printfn;}gotoxy13,7;printf,%s,chtime;ch
[0]=getch;ifch
[0]==9goto mm;ifch
[0]==27exit1;gotoxy3,24;printf;gotoxy13,10;j=0;ch
[0]=getch;whilech[O]!=V{if j14{strncatchshop,ch,1;j++;}ifch
[0]==8{len=strlenchshop-1;strcpych1,H;j=j-2;strncatch1,chshop,len;strcpychshop,H,;strncatchshop,ch1,len-1;gotoxy13,10;printf;}gotoxy1310;printf,%s,,,chshop;ch
[0]=getch;}gotoxy13,13;Jj=0;ch[O]=getch;whilech[O]!=V{if j6{strncatchmoney,ch,1;j++;}ifch
[0]==8{len=strlenchmoney-1;strcpych1,1,n;j42;strncatch1,chmoney,len;strcpychmoney,H;strncatchmoney,ch1Jen-1;gotoxy13,13;printf;}gotoxy13,13;printf%sn,chmoney;ch
[0]=getch;}ifstrlenchshop==0||strlenchmoney==0continue;if fp=fopenhome.datH,a+H!=N ULL;fprintffp,%10s%14s%6s,,chtime,chshop chmoney;Jfputc\n\fp;fclosefp;i++;gotoxy41,5+i;printf%1Os%-14s%-6s,,chtime,chshop,chmoney;}}}【程序96]题目计算字符串中子串出现的次数.程序分析1•程序源代码2#i ncludestring.hprintfn\nThe totalis%dH,h;#i ncludestdio.h main{char str1
[20],str2
[20],*p1,*p2;int sum=0;printfHplease inputtwo strings\n;scanf%s%sM,str1,str2;p1=str1;p2=str2;while*p1!=\0if*p1==*p2{while*p1==*p2*p2!=\0{P1++;P2++;}else p1++;if*p2==,\0,sum++;p2=str2;printfu%d,sum;getch;}【程序97]题目从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止.程序分析
1.程序源代码2#i ncludestdio.hmain{FILE*fp;char ch,filename
[10];scanf%sH,filename;iffp=fopenfilename,Hw==NULL{printfcannot openfile\n;exitO;ch=getchar;ch=getchar;whilech!=#{fputcch,fp;putcharch;ch=getchar;fclosefp;【程序题目从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件98]“test”中保存输入的字符串以!结束.程序分析1•程序源代码2#i ncludestdio.hmain{FILE*fp;char str
[100],filename
[10];inti=0;iffp=fopentesr,wn==NULL{printfcannot openthe file\n;exitO;printfplease inputa string:\n;getsstr;whilestr[i]!=,!t{ifstr[i]=a,str[i]=z,str[i]=str[i]-32;fputcstr[i],fp;i++;}fclosefp;fp=fopenHtest rn;Jfgetsstr,strlenstr+1,fp;printf%s\nM,str;fclosefp;【程序99]题目有两个磁盘文件和各存放一行字母,要求把这两个文件中的信息合并按字母顺序排列,输出A B,到一个新文件中C.程序分析1•程序源代码2#i ncludestdio.h,main{FILE*fp;inti,j,n,ni;char c
[160],t,ch;iffp=fopenHA;r,==NULL{printffile Acannot beopened\nH;exitO;printfM\n Acontents are:\nM;fori=0;ch=fgetcfp!=EOF;i++{c[i]=ch;putcharc[i];fclosefp;ni=i;iffp=fopenHB,r,,==NULL{printffile Bcannot beopened\nn;exitO;printf\n Bcontents are:\n;fori=0;ch=fgetcfp!=EOF;i++{c[i]=ch;putcharc[i];fclosefp;n=i;fori=0;in;i++forj=i+1;jn;j++ifc[i]cU]{t=c[i];c[i]=cU];cO]=t;}printfH\n0file is:\n;fp=fopen,,C,,,,wH;fori=0;in;i++{putcc[i],fp;putcharc[i];fclosefp;【程序100]题目有五个学生,每个学生有门课的成绩,从键盘输入以上数据包括学生号,姓名,三门课成绩,3计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件“中stud”.程序分析
1.程序源代码2#i ncludestdio.hstruct student{char num
[6];char name
[8];int score
[3];float avr;}stu
[5];main{inti,j,sum;本文档部分内容来源于网络,如有内容侵权请告知删除,感谢您的配合!【程序13]题目打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身例如是一个“水仙花数”,因为的三次方+的三次方+的三次方153153=
153.程序分析利用循环控制个数,每个数分解出个位,十位,百位1for100-
999.程序源代码{2mainQint i,j,k,n;printf,nwater flowernumberis:;forn=100;n1000;n++分解出百位*/分解出十位*/分解出个位i=n/100;/*j=n/10%10;/*k=n%10;/*=二*/ifi*100+j*10+k i*i*i+j*j*j+k*k*k{print—%-5d”,n;printfn\nn;【程序14]题目将一个正整数分解质因数例如输入打印出90,90=2*3*3*5程序分析对进行分解质因数,应先找到一个最小的质数然后按下述步骤完成n k,⑴如果这个质数恰等于则说明分解质因数的过程已经结束,打印出即可n,⑵如果但能被整除,则应打印出的值,并用除以的商,作为新的正整数你重复执行第一nvk,nkk nk n,步如果不能被整除,则用作为的值,重复执行第一步3nkk+1k.程序源代码2/*zheng intis dividedyinshu*/mainQ{intn,i;printfH\nplease inputa number:\nn;scanf%d,n;printfn%d=n,n;fori=2;i=n;i++whilen!=iif%i==0n{printf%d*,i;n=n/i;elsebreak;}printfn%dn,n;}【程序15]题目利用条件运算符的嵌套来完成此题学习成绩分的同学用表示,分之间的用表示,=90A60-89B分以下的用表示60C.程序分析这是条件运算符的基本例子1aba:b.程序源代码2mainQ{int score;char grade;printfHplease inputa score\nn;scanf%d”,score;grade=score=90,A,:score=60tB,:fC,;printfH%d belongsto%c”,score,grade;}【程序16]题目输入两个正整数和求其最大公约数和最小公倍数m n,.程序分析利用辗除法
1.程序源代码2mainQint a,b,numl,num2,tcmp;printfHplcasc inputtwo numbcrs:\nn;scanfn%d,%dH numl,num2;ifnuml{temp=numl;numl=num2;num2=temp;a=numl;b=num2;利用辗除法,直到为为止*/{whileb!=0/*b0temp=a%b;a=b;二b temp;printfngongy^ueshu:%d\nn,a;printfngongbeishu:%d\nl\numl*num2/a;}【程序17]题目输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数.程序分析利用语句,条件为输入的字符不为、出1while。