//定义函数f(n)计算n+(n+1)+…+(2n-1),函数返回值类型是double。 //(2)在主函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数f(n)计算n+(n+1)+…+(2n-1)。 #include<stdio.h> int main(void) { double f(int n); double s=0; int n; printf("enter n:"); scanf("%d",&n); //自定义函数 s=f(n)+s; printf("s=%.3f",s); return 0; } double f(int n) { double result,t; int i; result=0; t=0; //循环整个的 for(i=1;i<=n;i++){ //输出每个的小部分 for(i=1;i<=2*n-1;i++) { t=i+t; } result=result+1/t; } return result; }
//编写一个程序,判断从键盘接收的数字是否为回文数字。回文数字就是顺着看和倒着看是相同的数。如121、656、2332等。 #include<stdio.h> int main(void) { int i,n; int x,y;//x是从头开始计算的数组下标,而y是从末尾开始计算的数组下标 x=0; y=0; printf("enter n:"); scanf("%d",&n); //定义并输入数组 int a[80]; for(i=1;i<n;i++) { printf("enter a[]:"); scanf("%d",&a[i]); } for(x=0,y=n;x<y;x++,y--) { if(a[x]!=a[y])//判断首尾两个字符是否相等,若不相等则不需要继续 break; } if(x>=y)//for循环正常结束,是回文 printf("是回文。"); else printf("不是回文"); return 0; }
//输入x、n后输出下列算式的值,fact(n)实现n!,mypow(x,n)实现x^n #include<stdio.h> #include<math.h> int main(void) { int x,i,n; double s; s=0; double fact(int n); double mypow(int x,int n); printf("enter x,n:"); scanf("%d%d",&x,&n); for(i=1;i<=n;i++) { s=s+pow(-1,i-1)*mypow(x,n)/fact(n); } printf("s=%.3f",s); return 0; } //计算n的阶层 double fact(int n) { int i; double result; result=1; for(i=1;i<=n;i++) { result=1*result; } return result; } //不用数学公式,用调用函数计算x^n double mypow(int x,int n) { double result; result=1; int i; for(i=1;i<=n;i++){ result=result*x; } return result; }
//输入2个正整数m和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。 #include<stdio.h> #include<math.h> int main(void) { int n,m,i;//m>=1,n<1000 int x,y,z;//x是个位数,y是十位数字,z是百味数字 x=0,y=0,z=0; printf("enter m,n:"); scanf("%d%d",&m,&n); for(i=m;i<=n;i++){ x=i%10; y=(i/10)%10; z=i/100; if(pow(x,3)+pow(y,3)+pow(z,3)==i) printf("i=%d ",i); if(x+y+z==i) printf("%d各位数字之和等于其自身 ",i); } return 0; }