//定义函数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);
//自定义函数f(n)来计算
s=f(n)+s;
//输出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;//给x,y赋予初值
y=0;
printf("enter n:");
scanf("%d",&n);
//定义并输入数组
int a[80];
//运用for循环输入数组
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;//x用来计算他的阶层
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++)
//用fact和mypow这两个自定义函数
{
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;//给x,y,z给于初值
printf("enter m,n:");
scanf("%d%d",&m,&n);//输入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\n",i);
if(x+y+z==i)
printf("%d各位数字之和等于其自身\n",i);
}
return 0;
}