C语言编程求c=sqrt(a*b),d=sqrt(a*c),d2=sqrt(c*b),即新生成的数和前后数开根,依次类推n次

作者&投稿:荀季 (若有异议请与网页底部的电邮联系)
c语言sqrt~

返回平方根,
也就是程序从2开始判断到它的平方根就可以判断它是否是素数。

C语言中sqrt()意思是平方根函数,计算一个非负实数的平方根。 在VC6.0中的math.h头文件的函数原型为double sqrt(double number)。sqrt()函数的输入参数不允许为负数,若输入赋值作为函数入参,将得不到正确的结果。因此在调用函数之前,应检查函数输入参数。

扩展资料:
sqrt()函数的输入参数必须以double类型输入,函数返回类型为double型,因此必须使用double型的变量来进行接收返回的数值。当输入数据不是double型时,应使用强制类型转换,将其转换为double类型。
在函数接收引用的数值时,应该用 %lf 来表示,否则,将会在输入或输出时出现数据错误,尤其是在数据输入的时候,会直接导致数据出错。这也都主要是由于不同类型的数据存储和读取的方式不同导致的。

先把数学问题描述清楚,你里边有 n 吗? 你求谁?
“新生成的数和前后数开根” 这什么意思呀? 和你前边 算式描述的一致吗?

a 1
b 9
c sqrt(1*9)

d1 d2
sqrt(c*a) sqrt(c*b)
d3 d4
sqrt(d2*a) sqrt(d3*b)
d5 d6
sqrt(d4*a) sqrt(d5*b)
****
d(2n+1) d(2n+2)
sqrt(d2n * a) sqrt(d(2n+1) * b)

是不是这样的

========
#include <math.h>
#include <iostream.h>
double A;
double B;
double fun(int n,double * arr)
{
double an;
double E;

int i=1;
while(i<=n){
E=(i%2)?A;B;
arr[i]=sqrt(arr[i-1]*E]);
i++;
}
return arr[n];
}

int man()
{
int n;
cin>>A>>B;
cin>>n;

double *D;
D=new double[n+1];
D[0]=sqrt(A*B); // C=sqrt(A*B)
fun(n,Arr);
int m=0;
do {
cout<<D[m]<<endl;m++;
}while(m<=n);
}
如果 你用的 是 C 编译 器 只需要把
#include <iostream.h> 改成 #include <stdio.h>

输入输出 cin>> cout<< 改用 scanf 和printf

============================================

你的问题出在数学描述上,只要能把数学模型描述清楚实现起来很容易。
你补充描述中 d3=sqrt(a*d1),d4=sqrt(d1*c),d5=sqrt(c*d2),d6=aqrt(d2*b) 还是没有看出规律 有没有打错?
看是不是这样:
a 1 = d(-2)
b 9 = d(-1)
c sqrt(1*9) = d0

d1 d2 k=0
sqrt(d0*d(-2)) sqrt(d0*d(-1))
d3 d4 k=1
sqrt(d1*d(-1)) sqrt(d1*d0)
d5 d6 k=2
sqrt(d2*d0) sqrt(d2*d1)
d7 d8 k=3
sqrt(d3*d1) sqrt(d3*d2)
***
d(2k+1) d(2k+2) k
sqrt(dk * d(k-2)) sqrt(dk * d(k-1))

是不是这样的

========================================================
终于搞明白你的意思了
下面的程序通过了测试
运行结果::
please input a , b & n :1 100 3
0 1
3 1.77828
2 3.16228
3 5.62341
1 10
3 17.7828
2 31.6228
3 56.2341
0 100
说明
a--0 b--0 初始端点
c--1 第一次插值点
d--2 第二次插值点
e--3 第三次插值点
f--
...

#include <iostream.h>
#include <math.h>
class List { //用链表数据结构来实现
public:
float data; //节点的值
int lev; //节点的级别
List * next;
List * prev;
List(){next=NULL;prev=NULL;lev=0;};
List(float a,int m){data=a;next=NULL;prev=NULL;lev=m;}
void setdata(float a){data=a;};
void insert(List * nod); //链表插入节点
void add(List *nod); //添加节点
};
void List::add(List * nod)
{
List *p=this;
while((p->next)!=NULL){
p=p->next;
}
p->next=nod;
nod->prev=p;
}
void List::insert(List *nod)
{
List * p;
p=next;
next=nod;
nod->prev=this;
List * p1=nod;
while((p1->next)!=NULL){
p1=p1->next;
}
p1->next=p;
}

int main()
{
float a,b;
int m,n;
cout<<"please input a , b & n :";
cin>>a>>b>>n;
List * list,* tmp,* p,*q;
list= new List(a,0);
tmp = new List(b,0);
list->add(tmp);
m=1;
while(m<=n){ //第 m 次 插值
p=list;
while((p->next)!=NULL){ //连中每两个节点之间插入一个节点
//值为前后两节点积平方根
tmp=new List(sqrt((p->data)*(p->next->data)),m);
//申请节点,计算节点值
q=p->next;;
p->insert(tmp); //插入节点
p=q;
}
m++; //下一次
}
p=list;
while(p){
cout<<p->lev<<"\t"<<p->data<<endl;
p=p->next;
}
}

什么意思?递归?

有点不知所云
前后是怎么分的


C语言编程题目
char ch, c;SqStack S; LinkQueue Q;InitStack(S); InitQueue(Q);while(1){ fflush(stdin);printf("*** 进入停车场: 'A' ***\\n");printf("*** 退出停车场: 'D' ***\\n");printf("*** 退出操作: '0' ***\\n");printf("\\n请输入命令: ");ch = getchar();c = getchar...

数据结构c语言版表达式求值标准程序
思路:中缀表达式-后缀表达式-求值 参考代码:include <iostream> include <cstdio> include <vector> include <cstdlib> include <cstring> include <iterator> include <algorithm> \/\/ 堆栈的数组实现,数组的大小固定。template<class T> class stack { private:T *s; \/\/ 数组的首地址(栈底...

用c语言写带括号表达式求值的程序
\/\/参考代码#include <stdio.h>#include <string.h>typedef int SElemType;\/\/ 栈的元素类型#define STACK_INIT_SIZE 10\/\/ 存储空间初始分配量 #define STACKINCREMENT 2\/\/ 存储空间分配增量 \/* *顺序栈的结构体 * *\/typedef struct SqStack{SElemType *base;\/\/ 在栈构造之前和销毁之后,base的值...

c语言 题目
2.程序源代码: main() { int score; char grade; printf("please input a score\\n"); scanf("%d",&score); gradescore>90 'a':(score>60 'b':'c'); printf("%d belongs to %c",score,grade); } 【程序15】 题目:利用条件运算符的嵌套来完成此题:学习成绩>90分的同学用A表示,60-89分之间...

C语言数据结构求解
方法很多,可以在插入数据后再对线性表进行删改,也可以在插入前进行处理。我这里代码是在插入前处理。(注释掉的函数int getPNUM(struct Sqlist *st,int n);是我预留的,题2如果你想改成插入后,再对线性表素数进行查找,可以用这个函数。否则可以删除)。include <stdio.h> include <stdlib.h> i...

用C语言编程,使用结构数组存储订餐的情况,包括订餐编号、顾客姓名、用...
include <stdio.h> include <malloc.h> include <string.h> struct sqlist{ int serial;char name[16];int number;char date[16];struct sqlist *next;}*head;int sernum = 2012000;reserve(struct sqlist *T){ struct sqlist *q, *p = T;while(p->next != NULL){ p = p->next;}...

c语言数据结构编程
我来帮你吧,一般人不会帮你的,又累又没分。1.void DeleteMin(sqlist L){ if(L.length == 0)\/\/ 表为空,直接返回 { return; } elemtype *elem = L.elem; elemtype min = elem[0];\/\/ 最小值 int min_index = 0;\/\/ 最小值的下标 for(int i = 1; i...

c编程表达式求值:帮我修改程序,能运行3*(7-2)就行!悬赏30分
sqstack OPND; initstack(OPTR); push(OPTR,'#'); initstack(OPND);c=getchar(); while(c!='#'|| GetTop(OPTR)!='#') {if ((c>='0') && (c<='9')) {push(OPND,c);c=getchar();} else switch (Precede(gett111111111111op(OPTR),c)) { case '<':push(OPTR,c);c=getchar()...

求C语言习题!
【程序29】 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数002班赵鑫提供) 2.程序源代码:main( ){long a,b,c,d,e,x;scanf("%ld",&x);a=x\/10000;\/*分解出万位*\/b=x%10000\/1000;\/*...

请问谁有c语言程序设计(第二版)课后习题答案,谭浩强的
请问谁有c语言程序设计(第二版)课后习题答案,谭浩强的  我来答 3个回答 #热议# 蓝洁瑛生前发生了什么?匿名用户 2011-04-20 展开全部 4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b',想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出的结果如下: ...

嘉兴市13423996360: C语言编程求c=sqrt(a*b), -
店眨寒痛: 前面多个加#include“math.h”就OK了 ,c=sqrt(a*b)直接可用

嘉兴市13423996360: C语言编程求c=sqrt(a*b),d=sqrt(a*c),d2=sqrt(c*b),即新生成的数和前后数开根,依次类推n次 -
店眨寒痛: 先把数学问题描述清楚,你里边有 n 吗? 你求谁?“新生成的数和前后数开根” 这什么意思呀? 和你前边 算式描述的一致吗?a 1 b 9 c sqrt(1*9) d1 d2 sqrt(c*a) sqrt(c*b) d3 d4 sqrt(d2*a) sqrt(d3*b) d5 d6 sqrt(d4*a) sqrt(d5*b)**** d(2n+1) d(2n+2)...

嘉兴市13423996360: C语言编程求c=sqrt(a*b),d=sqrt(a*c),d2=sqrt(c*b),依次类推n次 -
店眨寒痛: 你的问题是不是 这样 已知数列 {an} a1,a2,a3=sqrt(a1*a2) 和 关系 an=sqrt[(a_(n-1))*(a_(n-2))] n>=3 用函数实现 求an #include #include double A1; double A2; double fun(int n,double * arr) { arr[0]=A1; if(n==1)return A1; arr[1]=A2; if(n==2)return A2; ...

嘉兴市13423996360: 2. 用C语言编写以下程序: -
店眨寒痛: #include<stdio.h>#include<math.h> main() { int a,b,c; printf("请输入a b:\n"); scanf("%d%d",&a,&b); c=sqrt(a*b);//C=根号(ab) c=sqrt(a*b)/sqrt(c);//c=根号(ab)/根号(c) printf("%d",c); }

嘉兴市13423996360: c语言编写一个程序.输入三角形的两边a,b.利用勾股定理.求c.要求保留2位小数 -
店眨寒痛: 其实问题就出在定义的时候 既然定义为int 算出时就会舍弃小数位成为整数 之后输出两位小数也就是凑两个0 所以要解决的话就要先把c定义为float 后面输出两位小数 就像你写的 printf("c=%.2f\n",c); 就行了

嘉兴市13423996360: c语言程序设计 急急急! -
店眨寒痛: 对你问题补充:1.开头少了#include "stdio.h" 和#include "math.h"因为你 程序中用了 函数sqrt(求平方根),要注意以后凡是程序中用到数学函数开头都用#include...

嘉兴市13423996360: C语言 问题:输入N, 输出a,b,c,的值.要求(a<b<c<N,a*a+b*b=c*c). 哪里不对,求高手指正. -
店眨寒痛: int main() { } } { for(b=a+1;b printf(" { printf(" c++)//因为b ,& %d"N; N); for(a=0;a N; please #include math.h> ,a,b,c);{ if(c*c==a*a+b*b)//for后面没有分号 判断相等要用“==” b++)//因为a &nbsp#include ); { for(c=b+1;c

嘉兴市13423996360: c语言编程,求三角形面积 -
店眨寒痛: S=sqrt(s*(s-a)*(s-b)*(s-c)) 其中等号右边的s=(a+b+c)/2,C程序: /////////////////////////////////#include #include #include void main() { float a,b,c,sh,s; scanf("%f%f%f",&a,&b,&c); sh=(a+b+c)/2; if(a+b>c||a+c>b||b+c>a) { s=sqrt(sh*(sh-a)*(sh-b)*(sh-c)); printf("%.3f\n",s); } else { printf("不能构成三角形"); } }

嘉兴市13423996360: c语音编程计算s=a*b
店眨寒痛: C语言代码:#include <stdio.h>main(){int s,a,b;printf("请输入a和b");scanf("%d%d",&a,&b);s=a*b;printf("s=%d\n",s);}运行如图:

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网