大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
网站制作、网站建设的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联公司一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。
/*函数声明*/
void array_input(int array[],int n);
int square_sum(int array[],int n);
int main(int argc, char *argv[])
{
int num[6];//开辟含有6个元素的数组
int result=0;
array_input(num,6);//把开辟的数组首地址传给形参
result=square_sum(num,6);//把开辟的数组首地址传给形参,并把返回值赋给result
printf("各元素的平方和=%d\n",result);
return 0;
}
void array_input(int array[],int n)
{
int i=0;
printf("please input %d numbers:",n);
for(i=0;in;i++)
scanf("%d",array[i]);
}
int square_sum(int array[],int n)
{
int i=0,sum=0;
for(i=0;in;i++)
sum+=array[i]*array[i];
return(sum);//要返回平方和的值,返回到主函数,,所以此函数是 int 型,int 型才有返回值,void的没有
}
但我建议你自己写写,写了哪有问题再问,这样对你会比较好。希望对你有帮助
以整数为例。把20个数放在数组里,然后调用一个自定义递归函数求结果。举例代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int squ_add(int *p,int n){//递归求n个数的平方和
if(--n==0)
return p[n]*p[n];
return p[n]*p[n]+squ_add(p,n);
}
int main(void){
int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
printf("The result is %d\n",squ_add(a,20));
return 0;
}
int func(int val) {
return val0? ((val%10)*(val%10)+func(val/10)) : 0 ;
}
从低位开始求...递归到高位...当val/10==0的时候递归结束..
写的略简洁..
#includestdio.h
#include math.h
int main(){
float x , y , a , b;
printf("please input x and y:\n");
scanf("%f,%f",x,y);
a=pow(x,2);
b=pow(y,2);
printf("result=%.2f\n",a+b);
getchar();
getchar();
return 0;
}
你的程序有两个问题,一是输入格式不符合要求,二是输出的右边双引号用的是中文符……
这是我用C++写的,你稍微改一下就是C了。
用数组和循环处理就简单多了。
#include cmath
#include iostream
using namespace std;
int main()
{
int i;
double x[2]={1,0},a;
cout "\n\n\t请输入你要开平方的数:";
cin a;
for (i=0;fabs(x[i]-x[1-i])=1e-5;i=1-i)
{
x[1-i]=(x[i]+a/x[i])/2;
}
cout"\n\n\t它的平方根为:"x[i]"\n\n\t";
system("pause");
return 0;
}
//*主函数*////*主函数*////*主函数*//
#includestdio.h
void main()
{
int n;int sum_(int n);long sum=0;
printf("please enter a number=");
scanf("%d",n);
sum=sum_(n);
printf("The square sum is %d\n",sum);
}
//*递归子函数*////*递归子函数*//
int sum_(int n)
{
int a[100];int i;int s=0;
if(n==1||n==2)
return 0;
else if(n==3)return 1;
else
{ a[1]=0;a[2]=0;a[3]=1;
for(i=4;i=n;i++)
{
a[i]=a[i-1]+a[i-2]+a[i-3];
s=sum_(i-1)+a[i]*a[i];
}
return(s);
}
}
这个子函数花了我不少时间,终于修改完成了。该程序在TC中运行正常,符合楼主的要求。
分别取n值试运行得到的结果如下:n=5时sum=6;n=7时sum=71;n=10时sum=2572;n=12时sum=31514 注意:当n=13时,由于整型最大数才65535,产生了溢出得到sum为负值。如果想扩展其数值大小,可定义变量为long型。
如果在你的C编译环境中无法运行,请认真调试即可。