Python123第五章答案(自写,仅供参考) By:肇院伟烨
前言 1、代码自己写的,不是标准答案,仅供参考。 2、建议看懂后自己另外写而不是复制粘贴。 3、点击目录可以转跳 文章目录- 前言
- 1、代码自己写的,不是标准答案,仅供参考。
- 2、建议看懂后自己另外写而不是复制粘贴。
- 3、点击目录可以转跳
- 第五章
- 第1题
- 第2题
- 第3题
- 第4题
- 第5题
- 第6题
- 第7题
- 第8题
- 第9题
- 第10题
- 第11题
- 第12题
#include第2题int sign(int x,int y) { if(x>0) y=1; else if(x==0) y=0; else y=-1; return y; } int main() { int x,y; scanf("%d",&x); printf("sign(%d) = %d",x,sign(x,y)); return 0; }
#include第3题int sum=0; int even(int n); int OddSum(int L[], int N); int main() { int N,L[100],i; scanf("%d", &N); for ( i = 1; i<=N; i++) { scanf("%d", &L[i]); } printf("Sum of ( "); OddSum(L, N); printf(") = %d",sum); return 0; } int even(int n) { if (n % 2 == 0) return 1; else return 0; } int OddSum(int L[], int N) { int i; for (i = 1; i <= N; i++) { if (even(L[i]) == 0) { printf("%d ", L[i]); sum += L[i]; } } return sum; }
#include第4题#include double dist(double x1, double y1, double x2, double y2); int main() { double x1,y1,x2,y2; scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2); printf("dist = %.2lf",dist(x1,y1,x2,y2)); return 0; } double dist(double x1, double y1, double x2, double y2) { double d; d=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); return d; }
#include第5题int sum; int prime(int p); int PrimeSum(int m, int n); int main() { int m,n; scanf("%d%d", &m,&n); printf("Sum of ( "); PrimeSum(m, n); printf(") = %d",sum); return 0; } int prime(int p) { int i,result=1; if (p <= 1)//因为 1 不是素数要排除 1 。 { return 0; } else { for (i = 2; i < p; i++) { if (p % i == 0)//能被1和它本身之外的数整除就让判断值presult变0 。 { result = 0; break;//但凡有一个数可以整除就不是素数,可以停止循环 。 } } if (result == 0) return 0; else return 1; } } int PrimeSum(int m, int n) { int i; for ( i = m; i <= n; i++) { if (prime(i) == 1) { printf("%d ",i); sum += i; } } return sum; }
#include第6题#include int CountDigit( int number, int digit ); int main() { int number,x; scanf("%d%d",&number,&x); printf("Number of digit %d in %d: %d",x,number,CountDigit(number,x)); return 0; } int CountDigit( int number, int digit ) { int sum=0,i=0,w; number=fabs(number); if(number==0 && digit==0) sum=1; while(number>0) { w=number%10; number/=10; if(w==digit) sum++; } return sum; }
#include第7题#include int narcissistic(int number); void PrintN(int m, int n); int main() { int m, n; scanf("%d %d", &m, &n); if ( narcissistic(m) ) printf("%d is a narcissistic numbern", m); PrintN(m, n); if ( narcissistic(n) ) printf("%d is a narcissistic numbern", n); return 0; } int narcissistic(int number) { int j = 0, a ,b,w,sum=0; a=b= number; do { a /= 10; j++; }while(a > 0); while (b > 0) { w = b % 10; b = b / 10; sum+=pow(w, j); } if (sum == number) return 1; else return 0; } void PrintN(int m, int n) { int i; for (i=m+1;i<=n-1;i++) { if (narcissistic(i)) printf("%dn", i); } }
#include第8题#include double js(int n); double funcos( double e, double x ); int main() { double e,x; scanf("%lf%lf",&e,&x); printf("cos(%.2lf) = %lf",x,funcos(e,x)); return 0; } double funcos( double e, double x ) { double sum=0,i,item=1,fu=1; for(i=0;item>=e;i+=2) { item=pow(x,i)/js(i); sum=sum+item*fu; fu=-fu; } return sum; } double js(int n) { if(n<=0) return 1; else return n*js(n-1); }
#include第9题#include int sum( int m, int n ); int main() { int m,n; scanf("%d%d",&m,&n); printf("sum = %d",sum(m,n)); return 0; } int sum( int m, int n ) { int sum=0,i; for(i=m;i<=n;i++) sum+=i; return sum; }
#include第10题int max(int a, int b); int main() { int a, b; scanf("%d%d", &a, &b); printf("max = %d",max(a,b)); return 0; } int max(int a, int b) { int z; z = a > b ? a:b; return z; }
#include第11题int sum; int prime(int p); int PrimeSum(int m, int n); int main() { int m,n; scanf("%d%d", &m,&n); PrimeSum(m, n); printf("%d",sum); return 0; } int prime(int p) { int i,result=1; if (p <= 1)//因为 1 不是素数要排除 1 。 { return 0; } else { for (i = 2; i < p; i++) { if (p % i == 0)//能被1和它本身之外的数整除就让判断值presult变0 。 { result = 0; break;//但凡有一个数可以整除就不是素数,可以停止循环 。 } } if (result == 0) return 0; else return 1; } } int PrimeSum(int m, int n) { int i; for ( i = m; i <= n; i++) { if (prime(i) == 1) { sum += i; } } return sum; }
#include第12题#include int narcissistic(int p) { int a,b,n = 0,sum=0,w; a = b = p; do { a /= 10; n++; } while (a > 0); while (b>0) { w = b % 10; b /= 10; sum += pow(w,n ); } if (sum == p) return 1; else return 0; } void PrintN(int m,int n) { int i; for (i=m;i<=n;i++) if (narcissistic(i)) printf("%dn",i); } int main() { int m, n; scanf("%d%d",&m,&n); PrintN(m,n); return 0; }
#include#include int narcissistic(int number); void PrintN(int m, int n); int main() { int m, n; scanf("%d %d", &m, &n); PrintN(m, n); return 0; } int narcissistic(int number) { int j = 0, a ,b,w,sum=0; a=b= number; do { a /= 10; j++; }while(a > 0); while (b > 0) { w = b % 10; b = b / 10; sum+=pow(w, j); } if (sum == number) return 1; else return 0; } void PrintN(int m, int n) { for (; m <= n; m++) { if (narcissistic(m)) printf("%dn", m); } }



