《省二程序练习.docx》由会员分享,可在线阅读,更多相关《省二程序练习.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、多种方式计算表达式1-1/2+1/3-1/4+.+1/99-1/100的值;#includevoid main()double s1=0,s2=0,x,sum;for(x=1;x100;x=x+2)s1+=1/x;for(x=2;x100;x=x+2)s2-=1/x;sum=s1+s2;printf(%f,sum);用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为50枚,问共有多少种换法? #includevoid main()int one,two,five,cout=0;for(five=0;five=20;five+)for(two=0;two=50;two+)for(one=
2、0;one=50;one+) if(5*five+2*two+one)=100) cout+; printf(%dn,cout); 若某个整数N的所有因子之和等于N的倍数,则称N为多因子完备数。例如,28是多因子完备数。因为:1+2+4+7+14+28=56=28*2 ,下面程序求200,1500间有多少个多因子完备数,请修改程序中的错误,使它能得出正确的结果,并给出正确结果,填入相应窗口。程序:#includevoid main()int a,b,i,sum,count=0; for(a=200;a=1500;a+) sum=0; /* */ for(b=2;b=a;b+) if(a%b=0
3、) sum=sum+a/b; for(i=1;i=9;i+) if(sum=a*i) /* */ /count+; printf(%dn,a); /printf(%dn,count);解法2#include#includeint okn(int n)int i;int sum=0;for(i=1;i*i=n;i+)if(n%i=0)sum+=(i+n/i);if(i*i=n)sum-=i;return !(sum%n);int main()int i,cnt=0;for(i=200;i=1500;i+)if(okn(i)printf(%d ,i);cnt+;printf(n%dn,cnt);1
4、、编写程序,计算050范围内有多少个数,其每位数字之积小于每位数字和。#includevoid main()int sun,x,y,n=0;for(sun=10;sun=50;sun+)x=sun/10;y=sun%10;if(x*y)(x+y)n+;printf(%dn,n);2、一个正整数如果等于其所有因子之和,则称该数为完数。求10000以内完数的个数。#includevoid main()int k,s,n=0;for(k=6;k=10000;k+) int i; s=1; for(i=2;i=k/2;i+) if(k%i=0)s+=i; if(s=k) n+;printf(%dn,n
5、);3、求四位数的奇数中,各位数字之积是60的正整数倍的数的和。4、有5羊4犬3鸡2兔值钱1496,有4羊2犬6鸡3兔值钱1175,有3羊1犬7鸡5兔值钱958,有2羊3犬5鸡1兔值钱861。求鸡值多少钱?#includevoid main() int a,b,c,d; for(a=1;a300;a+) for(b=1;b300;b+) for(c=1;c140;c+) for(d=1;d200;d+) if(5*a+4*b+3*c+2*d!=1496)continue; if(4*a+2*b+6*c+3*d!=1175)continue;if(3*a+b+7*c+5*d!=958)conti
6、nue; if(2*a+3*b+5*c+d=861)goto RR; RR:printf(%d,c);6、求100500间除5余4、除7余2的数的和。#includevoid main() int k,s=0; for(k=100;k500;k+) if(k%5=4&k%7=2)s+=k; printf(%d,s); 10、已知非等腰三角形最长边为60、周长为3的倍数、其他两边长为整数。编程计算这类三角形的个数。#includevoid main() int zhou,x,y,z,n=0; x=60; for(x=1;x60;x+) for(y=1;y60) if (x-y)60)&(y-x)
7、60) if(x+y+z)%3=0)n+; printf(%d,n); 两个字符串的连接#include void fun(char p1, char p2) int i,j;for(i=0;p1i!=0;i+);for(j=0;p2j!=0;j+)p1i+=p2j;p1i=0;main() char s180, s240 ;void NONO (); printf(Enter s1 and s2:n) ; scanf(%s%s, s1, s2) ; printf(s1=%sn, s1) ; printf(s2=%sn, s2) ; printf(Invoke fun(s1,s2):n) ;
8、fun(s1, s2) ; printf(After invoking:n) ; printf(%sn, s1) ; NONO() ;void NONO ()/* fun*/ int i ; FILE *rf, *wf ; char s180, s240 ; rf = fopen(in.dat,r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %s, s1) ; fscanf(rf, %s, s2) ; fun(s1, s2) ; fprintf(wf, %sn, s1) ; fclose(rf) ; fclose(wf) ;