作业七
#include <stdio.h> #include <math.h> int sign(int x); int even(int n); int prime(int m); int countdigit(int number,int digit); int is(int number); int main() { int choice=0; int n; int x,y,m,i,sum=0; int digit,z,c; do{ printf("*************实验六:函数**************\n"); printf("******1.计算输出分段函数发(x)的值******\n"); printf("******2.利用函数求奇数和***************\n"); printf("******3.计算素数个数并求和*************\n"); printf("******4.统计指定数字的个数*************\n"); printf("******5.输出m~n之间的所有水仙花数******\n"); printf("******0.退出***************************\n"); printf("请选择题号:"); scanf("%d",&choice); switch(choice) { case 1:printf("请输入x:"); scanf("%d",&x); printf("f(%d)=%d\n",x,sign(x)); break; case 2:printf("请输入正整数:\n"); do{ scanf("%d",&n); if(n>0){ y=even(n); if(y==0){ sum=sum+n; } } }while(n>0); printf("sum=%d\n",sum); break; case 3:printf("请输入两个正整数:"); scanf("%d%d",&m,&n); c=sum=0; for(i=m;i<=n;i++) if(prime(i)!=0) { c++; sum=sum+i; } printf("c=%d,sum=%d\n",c,sum); break; case 4:scanf("%d%d",&z,&digit); c=countdigit(z,digit); printf("number %d of digit %d:%d\n",z,digit,c); break; case 5:scanf("%d%d",&m,&n); printf("result:\n"); for(i=m;i<=n;i++) if(is(i)!=0) printf("%d\n",i); break; } }while(choice!=0); return 0; } int sign(int x) { if(x<0) return -1; else if(x>0) return 1; else return 0; } int even(int n) { int x; if(n%2==0) x=1; else x=0; return x; } int prime(int m) { int i; if(m==1) return 0; for(i=2;i<=m/2;i++) if(m%i==0) return 0; else return 1; } int countdigit(int number,int digit) { int c; if(number<0) number=-number; c=0; do{ if(number%10==digit) c++; number=number/10; }while(number!=0); return c; } int is(int number) { int digit,sum,temp; temp=number; sum=0; while(temp!=0){ digit=temp%10; temp=temp/10; sum=sum+pow(digit,3); } return sum==number; }
#include<stdio.h> int main(void) { int i; long int f[40]={1,1}; for(i=2;i<40;i++) f[i]=f[i-1]+f[i-2]; for(i=0;i<40;i++){ if(i%5==0) printf("\n"); printf("%12ld",f[i]); } return 0; }