C++编程【问题描述】根据泰勒公式,求sinx的值。

collin12252022-10-04 11:39:541条回答

C++编程【问题描述】根据泰勒公式,求sinx的值。
4.【问题描述】根据泰勒公式,sinx可用x/1-x3/3!+x5/5!-x7/7!...+(-1)n-1x2n-1/(2n-1)!近似计算,取n=10,求sinx的值。

已提交,审核后显示!提交回复

共1条回复
青提阿姆 共回答了17个问题 | 采纳率88.2%
#include
#define PI 3.1415926
double sin(double x)
{
double s;
if(x>2*PI)
x-=2*PI*(int)(x/PI/2);
if(x*2>PI)
if(x
1年前

相关推荐

c++编程,(1) 根号下(sinx的2.5次方)(2) 1/2(ax+(a+x)/4a) (3)((c)^x)^2/根
c++编程,(1) 根号下(sinx的2.5次方)(2) 1/2(ax+(a+x)/4a) (3)((c)^x)^2/根号2π
只要c++,不要c的
xianping1948001年前1
cyste 共回答了17个问题 | 采纳率64.7%
C++语言,需要增加头文件,cmath库函数包含数学函数。#include (1) sqrt(pow(sin(x), 5));(2) (a * x + (a + x) / (4 * a)) / 2;(3)const double PI = 3.1415926;pow(pow(c, x), 2) / sqrt(2 * PI);...
谁会C++编程,帮忙编一个A×B×C×D×E×F+J+H
haimenzl1年前1
简爱123 共回答了19个问题 | 采纳率84.2%
#include
void main()
{
int A,B,C,D,E,F,J,H;
coutB>>C>>D>>E>>F>>J>>H;
cout
c++编程计算:a+aa+aaa+……(共n项)的结果 ,其中a和n为从键盘上输入的两个正整数,并判 断这两个数为正整数
c++编程计算:a+aa+aaa+……(共n项)的结果 ,其中a和n为从键盘上输入的两个正整数,并判 断这两个数为正整数,如不是输入的数不是一个 正整数,则重新输入。
往日情rr1年前1
lihy3 共回答了20个问题 | 采纳率95%
已测试,结果正确,但是n不能设的太大,给点辛苦分吧亲。。
#include
using namespace std;
int main()
{
unsigned int a,n,i;
unsigned long sum=0,total=0;
cin>>a>>n;
while(!cin)
{
couta>>n;
}
cout
用C++编程:用键盘输入二阶矩阵A和常数矩阵b 计算AX= b(分唯一解 无穷解 和无解三种情况
caiyi4171年前1
xe3fb8uo 共回答了12个问题 | 采纳率91.7%
这要看你想用什么方法解了,高斯消去的话程序效率太低,建议用迭代.你可以去看看Matlab的代码库,里面有,太长了我搬不过来,里面分了几种不同的迭代法
c++编程(要求:Add函数用于加法计算并判断回答是否正确返回逻辑值,Print函数用于输出结果,即正确与否)
c++编程(要求:Add函数用于加法计算并判断回答是否正确返回逻辑值,Print函数用于输出结果,即正确与否)
1) 编写一个程序,通过键盘输入两个数,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程.
程序1 :通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!Try again!”,程序结束.
程序2 :通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!Try again!”,直到做对为止.
程序3 :通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct!Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct!You have tried three times!Test over!”,程序结束.
程序4 :连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数.
fangfang4261年前1
huntllcx 共回答了18个问题 | 采纳率83.3%
程序一为:
#include
void main()
{
int a,b,c,s;
couta>>b;
s=a+b;
cout
c++编程问题,其中一部分是求复数的共轭,
c++编程问题,其中一部分是求复数的共轭,
//在主函数里有z3 = z1;如果加入求共轭这一部分、则求复数加减乘时的z1均变为z1的共轭,影响了原始结果,z1被保存到内存里没释放吗?为什么会这样呢?被注释掉的那部分是用成员函数重载运算符计算复数加法,我该怎么更改才能使被注释掉的与用友元函数求加法的同时运行呢?
#include "stdafx.h"
#include "iostream"
using std::cout;
using std::cin;
using std::endl;
//using namespace std;
class complex
{
public:
complex(double x,double y) {re=x; im=y;}
complex() {re=0; im=0;}
double query_re(){return re;};
double query_im(){return im;};
void show(){cout
xiaonizi00561年前1
hqt40621 共回答了16个问题 | 采纳率93.8%
complex complex::operator ! ()
{im = -im;return *this;}
那个这个代码把调用这个函数的对象的本身的值给该了呀!
{
return complex(re,-im);
}
这样简单又不给改本身的值.
那个重载+时,友元和成员函数用一个不就行了吗?
再说了,如果都有,同样是+,系统识别时会不知道调用哪一个的!同样两个参数,同样的运算符!不过要是那个第一个数不是你自定义的数据类型时,可以再重载友元函数,形参就不一样了!其实对同一类型的用一个就行了,要想调试,一个一个来呗.
还有你那个输出复数的值时,会出现+-xx现象,可以在输出前加一个判断的!对不同情形进行讨论,这样结果会更好看的!
c++编程.....急.....
c++编程.....急.....
设计一个简单的计算器类(类型),要求:
(1) 从键盘读入算式。
(2) 可以进行加、减、乘、除运算。
(3) 运算要有优先级。
(4) 用户可以按任何的运算符出现顺序进行输入。
(5) 不限定用户输入的计算式的长度。
(6) 可以带有括号()。
(7) 有排错功能,当用户输入错误的算式时提示用户。
h98uo1年前1
城南轶事 共回答了15个问题 | 采纳率86.7%
比较复杂,给个简单思路:
1. 成员函数: 获取算式
2. 成员变量: 较大的数组,当然如果你认为算式长度可能非常大,则最好使用向量
3. 成员函数:检查算式,主要进行括号匹配的校验,方法是从前往后,遇到'('则+1,遇到')'则-1,如果值小于0则报错
4.成员函数:分析算式,每遇到'(',则将其匹配的')'中间的算式作为一个子算式;如果遇到*或/也将其作为一个子算式,如此递归分解直到算式的符号全为+和-;
5.成员函数:计算算式,将每个子算式的结果算出,并按顺序进行加减
--- 话说分那么重要吗?
一道C++编程题目,思路是什么2.方程式 给出一个字符串,表达一个方程.保证里面系数不会超过 1000000000.保证
一道C++编程题目,思路是什么
2.方程式
给出一个字符串,表达一个方程.
保证里面系数不会超过 1000000000.
保证方程有且只有一个解,而且方程只会有一个未知数 X,且X 的最高指数也只会有 1.
方程中所有的系数都是整数,且系数是1 就会被省略.
只会出现+、-符号,不会出现乘、除.
【输入】
输入一个字符串.表示方程.
【输出】
输出 X 的解.保留三位小数.
【样例】
equationagain.in
6x+7x+8x+1=6x+7x+9x
equationagain.out
1.000
【数据规模】
100%方程长度不会超过 255.
gejingjun1年前1
hehehe 共回答了14个问题 | 采纳率85.7%
首先是方程式怎样表示的问题,在“数据规模”中提到方程长度不会超过255,即方程可用大小为256的字符数组来保存,既然是C++,当然也能用string来保存.为体现C++的优越,就用string吧.
主要思路就是跟据这个字符串,读出每个X的系数以及常数项;对于一元一次方程,常数项除以系数就是未知数的根了,最主要的就是设计算法读出每个项及其符号了.
我的具体思路就是读取每个字符,如果读到数字,就将其放入一个字符串n中,一旦读出的字符不是数字,转换n为整数,并结合符号位得出正负;如果读出符号,保存给符号位;如果数字之后读出X,就认为刚才读到的数字是X的系数,而应该加到系数中,如果是+-号就是常数项,加到常数中;如果+-号之后就是X,那么系数就为1.一旦碰到=号,就说明正负的计算应颠倒了……
总而言之就是解方程中的移项合并同类项,要是看不懂,我明天就追加一段代码来具体说明.
C++编程,请按题目要求68.已知a、b、c为正数,且a>b>c,a+b+c=2时).求[1,5000]内f(n)为奇数
C++编程,请按题目要求
68.已知a、b、c为正数,且a>b>c,a+b+c=2时).
求[1,5000]内f(n)为奇数的个数,其中最大的一个是多少?
72.有以下表达式:
3+3^2+3^3+…………+3^n
分别求当n=5,8,10时表达式的值.
73.已知某数列为:
f(0)=f(1)=1;
f(2)=0;
f(n)=f(n-1)-3f(n-2)+2f(n-3),(n>2).
求f(0)到f(10)中的最大值和最小值,及值为0的个数.
74.能被19整除又能被31整除且末位不是奇数的四位数有几个?最小的一个是多少?
75.有一个分数序列:1/2,2/3,3/5,5/8,8/13,13/21.求:
(1)这个序列的前20项之和;
(2)第15项的值.
76.所有能被13整除又能被17整除且末位不是偶数的三位数有几个?最大的一个?
77.有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏,求:塔底灯数?第几层的灯数为48?
气hhsun1年前1
koolJ 共回答了11个问题 | 采纳率90.9%
int c=2,d=2,m=0,n=1;//默认的矩阵是两行两列且均是(0,1)之间myrandom ran; int panduan=0; cout
关于C++编程填空!跪谢~填充下面的划线部分,使其完成所要求的功能.1.以下程序显示如下所示的矩阵,矩阵中每个元素形成的
关于C++编程填空!跪谢~
填充下面的划线部分,使其完成所要求的功能.
1.以下程序显示如下所示的矩阵,矩阵中每个元素形成的规律是:右上三角阵(含
对角线)元素值为1,其它元素值为:行下标—列下标+1.
1 1 1 1 1
2 1 1 1 1
3 2 1 1 1
4 3 2 1 1
5 4 3 2 1
#include”iostream.h”
#include”iomanip.h”
main()
{int i,j,a[5][5];
for( i=0; i
mafeitean1年前1
电子产品降价快 共回答了26个问题 | 采纳率92.3%
横线6:j>=i
横线7:a[i][j]
横线8:NULL
横线9:*str2++
横线10:(i+j)%2!=0
横线11:0
横线12:a[i]
判断一个数a是否为素数的算法.最重要的是求:至少要作多少次除法运算的算法,也就是运行次数最少的判断算法.可以用C++编程
判断一个数a是否为素数的算法.
最重要的是求:至少要作多少次除法运算的算法,也就是运行次数最少的判断算法.可以用C++编程.
其实还有运行次数最少的算法,就是判断在for(int i=2;i*i
len8811111年前1
画做远山长 共回答了16个问题 | 采纳率75%
int sushu(int N)
{
int i;
int flag=1;
if (N==1) return false;//1既不是素数也不是质数
if (N==2) return true;
for (i=2;i
C++编程 用梯形求积公式求解定积分∫3lnxdx积分区间为(1,2)的值
C++编程 用梯形求积公式求解定积分∫3lnxdx积分区间为(1,2)的值
小弟要交作业,希望哪位大哥给个切实可用的源程序,
江001年前1
唤日 共回答了16个问题 | 采纳率93.8%
#include "stdio.h"
#include "math.h"
#define N 100
void main()
{
double delta=1.0/N;
double x=1;
double y1,y2;
double s=0;
y1=0;
while(x
使用c++编程找出哪几个人罪犯一个案件涉及A、B、C、D4个嫌疑人,他们均有可能是罪犯,调查中,得出以下结论: A、B中
使用c++编程找出哪几个人罪犯
一个案件涉及A、B、C、D4个嫌疑人,他们均有可能是罪犯,调查中,得出以下结论:
A、B中至少一人作案;
C、D中至少一人作案;
A、C不是同案犯;
A、D不是同案犯;
B、D不是同案犯。
请编程找出哪几个人罪犯。
ME中毒了1年前0
共回答了个问题 | 采纳率
c++编程 问题·如下一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所
c++编程 问题·如下
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
weiai2121年前1
l5b1 共回答了18个问题 | 采纳率100%
#include
using namespace std;
int main()
{
int x,i,y;

for(x=1;x
一道c++编程的题目题目描述某系统定义的位操作命令由三部分构成:操作指令p 无符号整数x 参数m其中,x为32位无符号整
一道c++编程的题目
题目描述
某系统定义的位操作命令由三部分构成:
操作指令p 无符号整数x 参数m
其中,x为32位无符号整数;m根据指令的不同***参数n或者参数k(n, k为整数且 1≤n≤32,0≤k≤31);
p则有l, c, s, r, b, g, z, a, e九种取值可能。根据操作指令p,可以进行以下操作:
输入:输出
l x n:求x二进制值的低n位,并以十进制整数形式输出(如:l 30 3命令中,x=30,其二进制表示为11110,
取低3位(最右边3位)得到110,以十进制整数形式输出为6)
c x n:将x二进制值的低n位置0,并以十进制整数形式输出(如:c 30 3将11110的低3位置0,得到11000,输出24)
s x n:将x二进制值的低n位置1,并以十进制整数形式输出
r x n:将x二进制值的低n位求反,并以十进制整数形式输出
b x n:将x二进制值的低n位保持,其它位求反,并以十进制整数形式输出
g x k:取x二进制值中第k位的值(最右为第0位,如:g 21 3将10101的第3位取出,得到0)
z x k:将x二进制值中第k位清0(最右为第0位)
a x k:将x二进制值中第k位置1(最右为第0位)
e x k:将x二进制值中第k位求反(最右为第0位)
输入描述
输入包含若干行,每行由p, x, m组成,p为一个字符,代表操作指令代码,
x为32位无符号整数,m为整数,代表相应操作指令中的n或者k(n, k为整数且 1≤n≤32,0≤k≤31)。
输出描述
按照操作指令要求每行输出一个整数,每个整数对应一行输入。
输入样例
a 4365 20
z 4357876 10
r 876435 8
l 8769 5
g 56732 8
s 987632 15
输出样例
1052941
4356852
876396
1
1
1015807
散步到天亮1年前1
青天焰鸟路 共回答了21个问题 | 采纳率85.7%
//#include "stdafx.h"//vc++6.0加上这一行.
#include
using namespace std;
typedef struct abc{
char p;
unsigned x;
int n;
abc *next;
}*NODE,node;
void freenode(NODE p){
if(p->next) freenode(p->next);
else delete p;
}
NODE CreateLink(void){
char ch;
NODE head,p;
if((p=head=new node)==NULL){
cout ch;
if(ch=='#') break;
if((p->next=new node)==NULL){
cout next->p=ch;
cin >> p->next->x >> p->next->n;
p=p->next;
}
p->next=NULL;
p=head;
head=head->next;
delete p;
return head;
}
void Processing(NODE p){
for(;p;p=p->next){
switch(p->p){
case 'L':
cout x & ((1
C++编程问题求助为一个复数定义一个类。复数的形式是:a+b*i其中,a和b是double类型的的数字,而 i 是表示虚
C++编程问题求助
为一个复数定义一个类。复数的形式是:a+b*i其中,a和b是double类型的的数字,而 i 是表示虚数单位 根号-1 的一个数字。将复数表示成double类型的两个值。将成员变量命名为real和imaginary(要用 i 来乘的那个数字的变量就是imaginary,也就是虚数)。将这个类命名为Complex。请包括接收两个double类型的变量作为参数的一个构造函数,他用于将一个对象的成员变量设为任意值。还要包括接收单个double类型的变量作为参数的一个构造函数;将这个参数命名为real_part,并定义构造函数,使对象初始化为real_part+0*i 。再包括一个默认构造函数,它将对象初始化为0(也就是0+0*i)。重载以下所有操作符,使他们都能正确地支持Complex类型:= = ,+ ,- ,* ,>> 和<<。 写一个测试程序来测试您的类。提示:要实现两个复数的加法和减法,您可加减double类型的来你哥哥成员变量。要计算两个复数的乘积,请采用以下公式:(a+b*i)*(c+d*i)= =(a*c-b*d)+(a*d+b*c)*i在接口文件中,应该像下面这样定义常量 i :const Complex i(0,1);定义的常量 i 等同于前面讨论的i。
巴山秀才1231年前1
琥魄 共回答了16个问题 | 采纳率93.8%
class Complex{
public:
friend ostream& operato
求C++编程高手编一个程序,条件如下,
求C++编程高手编一个程序,条件如下,
已知:
1、集合A={1,3,5,7,11,13,15,16,21,23,24,29,31,32,33,35,37,41,45,47,48,52,61,63,65,67,68,81};
2、(x+y)属于集合A中的任何一个数;
3、(x+11)属于集合A中的任何一个数;
4、(y+11)属于集合A中的任何一个数;
5、(x+y+12)属于集合A中的任何一个数;
求输出满足上述条件的(X+Y)=?对应的x、y的值分别为多少?
第4点写错了,应该是下面的条件:4、(y+1)属于集合A中的任何一个数;
编程不限软件,只要告诉用什么软件可以实现就可以了!
ugysd11年前1
jsjz 共回答了23个问题 | 采纳率78.3%
#include
using namespace std;

void main()
{
char chs[]={1,3,5,7,11,13,15,16,21,23,24,29,31,32,33,35,37,41,45,47,48,52,61,63,65,67,68,81};
for (int x = 1-11; x < 81-11; ++x) {//因为没有说是整数,所以最新从1-11开始,最大是81-11,按条件2,3来取的
for (int y = 1-11; y < 81-11; ++y) {
string str = chs;//因为没有0,所以取巧,用string就搞定了
if(str.find(x+y)!=-1 str.find(x+11)!=-1 &
str.find(y+11)!=-1 &str.find(x+y+12)!=-1)
cout<}
}
}
C++编程 按下列级数计算e的近似值,是e有小数点后1000位有效数字.
C++编程 按下列级数计算e的近似值,是e有小数点后1000位有效数字.
e=1+1/(1!)+1/(2!)+1/(3!)+···+1/(n!)+···
wangbing11131年前1
hsgl 共回答了25个问题 | 采纳率88%




C++编程:水仙花数判断水仙花数是一个三位数,其各位数字立方和等于数本身。例如,153是一个水仙花数,因为153= 。你
C++编程:水仙花数判断
水仙花数是一个三位数,其各位数字立方和等于数本身。例如,153是一个水仙花数,因为153= 。你的任务是判断一个数n是否是水仙花数。
输入
输入文件有若干行,每一行上有一个整数n,(1<=n<=999)。
输出
输出文件有若干行。对输入文件中的每个整数n,在一行上输出“YES”或“NO”,如果数n是水仙花数,那么输出“YES”,否则输出“NO”。
输入样例
153
100

输出样例
YES
NO
请注意用c或c++
还有是连续输入后连续输出:
YES
NO
“153和100”输入之后再按个回车说明输入文件结束。
谢谢请格式规范
bingying06251年前1
落雨飞 共回答了18个问题 | 采纳率88.9%
像你说的那样,在输入完153之后的回车和100之后的回车系统是不会自动判断结束的,通常是输入一个文件结束字符,^Z也就是ctrl+Z。
#include
void main()
{
int number[100],i=0,a,b,c;
do
{ scanf("%d",&number[i]);
i++;
}while(number[i-1]!=EOF);
i=0;
while(number[i]!=EOF)
{ a=number[i]/100;
b=(number[i]-a*100)/10;
c=number[i]-a*100-b*10;
if(number[i]==a*a*a+b*b*b+c*c*c)
printf("YESn");
else
printf("NOn");
i++;
}
}
C++编程题目:记得C++最少钱币数:【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多
C++编程题目:记得C++
最少钱币数:
【问题描述】
这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑 15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。
你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。

【要求】
【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M(1 <= M
<= 2000,整数),接着的一行中,第一个整数K(1 <= K
<= 10)表示币种个数,随后是K个互不相同的钱币面值Ki(1 <= Ki <= 1000)。输入M=0时结束。

【数据输出】每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。

【样例输入】
15
6 2 5 10 20 50 100
1
1 2
0

【样例输出】
2
Impossible
jiaowen9291年前1
bzea6gwa 共回答了15个问题 | 采纳率93.3%
这个题目用递归就行了。一个目标值总的可行方案数量等于应用某种面值钱币后剩下的钱的方案数加上不用这种面值钱币的方案数。我简单写了个针对第一个测试用例的代码,供参考(代码输出是2)。#include
#define NMAX 100000
int v[6] = {2,5,10,20,50,100};
int min(int a,int b) { return aint solve(int t,int i=0){
if(t==0) return 0;
if(i>=6 || t return min(solve(t,i+1),solve(t-v[i],i)+1);
}
int main() {
int n = solve(15);
printf("%dn",n);
return 0;
}solve返回值为最少的钱币数量,大于NMAX表示无解。
C++编程帮忙挑挑错用穷举法求最大公约数:穷举法求最大公约数方法为:对两个正整数m和n,从r=n(设n是两个数中较小的数
C++编程帮忙挑挑错
用穷举法求最大公约数:
穷举法求最大公约数方法为:对两个正整数m和n,从r=n(设n是两个数中较小的数)开始试,判断其是否能同时被m和n整除.如能整除,则r为最大公约数;否则令r=r-1,再循环判断,直到能整除或r=1为止.此时的r为最大公约数.
我编的是:
#include
using namespace std;
int main()
{
int m,n,r,x,y;
coutm>>n;
x=m*n;
if (m>=n)
{
for(r!=0;n>0;n--)
r=m%n;
cout
黑叶枝1年前1
flytohappy 共回答了20个问题 | 采纳率90%
C++中,引用变量之前必须对其初始化,看了你这段代码,发现你的变量r在for循环判断之前并没有初始化而直接对其判断是否为0,这是一种错误的引用.而且对於输入的两个数m、n,在处理的时候最好不要改变它们本身的值,而将其拷贝给另外俩个变量(自己重新声明两个变量),这是一种很好的编程习惯.
c++编程问题描述 鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通
c++编程问题
描述
鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾滋病。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生命,提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。请写程序判定各种改进疗法效果如何。

关于输入
第一行为整数n;
其余n行每行两个整数,第一个整数是临床实验的总病例数,第二个疗效有效的病例数。
这n行数据中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。

关于输出
有n-1行输出,分别表示对应改进疗法的效果:
如果效果更好,输出better;如果效果更差,输出worse;否则输出same
请通过c++编程解决上述问题
时空就是现在1年前1
哪怕一点 共回答了17个问题 | 采纳率88.2%

假设只使用标准c++(不用boost,qt之类的)
假设输入数据格式为
number 3
data 100 90
data 100 96
data 100 80

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
std::wstring s2ws(const std::string& s)
{
setlocale(LC_ALL, "chs");
const char* _Source = s.c_str();
size_t _Dsize = s.size() + 1;
wchar_t *_Dest = new wchar_t[_Dsize];
wmemset(_Dest, 0, _Dsize);
mbstowcs(_Dest,_Source,_Dsize);
std::wstring result = _Dest;
delete []_Dest;
setlocale(LC_ALL, "C");
return result;
}
std::string ws2s(const std::wstring& ws)
{
std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C";
setlocale(LC_ALL, "chs");
const wchar_t* _Source = ws.c_str();
size_t _Dsize = 2 * ws.size() + 1;
char *_Dest = new char[_Dsize];
memset(_Dest,0,_Dsize);
wcstombs(_Dest,_Source,_Dsize);
std::string result = _Dest;
delete []_Dest;
setlocale(LC_ALL, curLocale.c_str());
return result;
}
class Judge
{
public:
Judge():number(0)
{
std::wcout.imbue(std::locale("chs"));
}
~Judge(){}
bool read(const std::wstring & filePathName);
bool write(void);
private:
enum show
{
better,
worse,
same
};
std::list allNum;
std::list expNum;
std::list per;
std::list result;
int number;
std::wifstream fin;
std::wofstream fout;
};
bool Judge::read(const std::wstring & filePathName)
{
fin.close();
fout.close();
fin.open(filePathName);
if(fin.is_open())
{
fout.open(filePathName+std::wstring(L".txt"));
allNum.clear();
expNum.clear();
per.clear();
number=0;
std::wstring lineTemp;
while( std::getline(fin,lineTemp) )
{
std::wstringstream ilineTemp(lineTemp);
if( std::getline(ilineTemp,lineTemp,L' ') )
{
if(lineTemp==std::wstring(L"data"))
{
if(std::getline(ilineTemp,lineTemp,L' '))
{
allNum.push_back( atoi(ws2s(lineTemp).c_str()) );
ilineTemp>>lineTemp;
expNum.push_back( atoi(ws2s(lineTemp).c_str()) );
}
else
{
std::wcout
C++编程,要详细的答案1、 编写程序能判断1~1000之内的哪些数是水仙花数,依次将这些水仙花数输出,并输出这些水仙花
C++编程,要详细的答案
1、 编写程序能判断1~1000之内的哪些数是水仙花数,依次将这些水仙花数输出,并输出这些水仙花数的和输出。(水仙花数是一个三位数,其各位数字的立方和正好等于该数。)
2、 有一分数序列:2/1、3/2、5/3、8/5……..,输出这个数列的前10项,并求和
3、 输出如下所示的9*9 乘法口诀表
4、 判断1-1000之间有多少个素数,并输出素数
钧81610221年前1
晨曦的水滴 共回答了11个问题 | 采纳率100%
1、bool IsShuiXian(int n)//利用这个水仙花数判断函数,可以求出任意区间的
{
char szText[32] = {0};
itoa(n,szText,10);
int iLen = strlen(szText);
int iAry[32] = {0};
int iSum = 0;
for ( int i=0; i n )
{
return false;
}
}
if ( iSum == n )
{
return true;
}
return false;
}
4、
bool IsPrime(int n)//利用这个函数,可以判断出任意区间的素数
{
if ( n
C++编程:输入三个整数,并按大小顺序输出
C++编程:输入三个整数,并按大小顺序输出
#include
void main()
{
int a,b,c,max,mid,min ;
coutb>>c;
if(a
freely22331年前1
我看见你就笑 共回答了16个问题 | 采纳率93.8%
你这样是因为少了if
其实你这样的编码习惯很有问题,在多个if和else嵌套的时候加上大括号是很必要的,方便检查也代码美观
例如
if(){
if(){
.
}else{
.
}
}else{
.
}
只是帮你解决问题是不够的 望君注意下编码习惯 然后自己再看一下 就知问题何在
请求各位一道C++编程:一个5位数字ABCDE*4=EDCBA,用编程实现.找bug!
请求各位一道C++编程:一个5位数字ABCDE*4=EDCBA,用编程实现.找bug!
下面是我的代码,编译通过,但运行时不显示答案,求教.
#include
int main(int argc,char *argv[])
{
int a,b,c,d,e;
for (int abcde=10000;abcde
若息1年前1
樱_柠 共回答了17个问题 | 采纳率88.2%
哥们,你的错误很多啊,出不了结果主要在于你取abcde的各个位数时错了,你可以再看看你的程序,在第二次循环结束时,也就是10001时,abcde已经变成了原来万位上的数,也就是1,进行判断,永远小于100000,成了死循环,所以程序没结果了,你再读读你的程序,看看是不是这个道理.我给你修改了一下,如下程序:
#include
using namespace std;
//一个5位数字ABCDE*4=EDCBA
int main()
{
int a,b,c,d,e,edcba,abcde,i;
cout
将1,2,3,…,9共9个数排成下列的三角形(用C++编程)
将1,2,3,…,9共9个数排成下列的三角形(用C++编程)
将1,2,…,9共9个数排成下列形态的三角形.
a
b c
d e
f g h i
其中:i分别表示1,2,…,9中的一个数字,并要求同时满足下列条件:
(1)a
daxiaomao1年前1
蓝难澜 共回答了15个问题 | 采纳率86.7%
要使效率高,那就不能用递归函数,而要自己去迭代.
#include "stdio.h"
void main()
{
//设一个查找表,可以快速地判断某数是否为素数
bool prime[40]={
0,0,1,1,0,1,0,1,0,0,
0,1,0,1,0,0,0,1,0,1,
0,0,0,1,0,0,0,0,0,1,
0,1,0,0,0,0,0,1,0,0
};
//快速判断哪些数已经被选中
bool used[21]=;
//a[0]无用,a[1]到a[20]分别存放选出的数
//因为考虑到题目要求的循环性
//所有的解都可以位移使得1出现在a[1]位置
//所以我们就直接规定1放在a[1]
int a[21]=;
//已经选中的数的个数,
int cnt=1;
//当发生无数可选的情况时,需要回退一步
//此变量用来表示是否发生了回退
bool tag=false;
int i;
while(cnt<20)
{
//如果发生了回退,则直接从上次选的数的后面开始查找
//不是回退的话,则从2开始查找
for(i=(tag?a[cnt+1]+1:2);i<21;i++)
if(!used[i] && prime[i+a[cnt]])
{
//找到符合条件的数
a[++cnt]=i;
used[i]=true;
tag=false;
break;
}
//找到解
if(cnt==20 && prime[a[1]+a[20]])
{
for(i=1;i<21;i++)
printf("%d ",a[i]);
return;
}
//如果发生了无数可选的情况,则回退一步
else if(cnt==20 || i==21)
{
used[a[cnt--]]=false;
tag=true;
}
}
}
C++编程作业不会啊 求求好心哥哥姐姐帮助啊
C++编程作业不会啊 求求好心哥哥姐姐帮助啊
B10: 输出满足以下条件三位数n(100---999),
(1) 它除以11所得到的商等于n的各位数字的平方和;
(2) 其中至少有两位数字相同。
例如:131 131/11=11 12+32+12=11
saw0061年前1
panfei_810820 共回答了15个问题 | 采纳率86.7%
如下:
#include
using namespace std;
int main()
{
int num1=0;
int num2=0;
int num3=0;
int number=0;
for(int i=100;i
C++编程:a.b.c.d.4个数由小到大排列 (使用函数的方法)
kafei_naili1年前1
swt814602 共回答了13个问题 | 采纳率84.6%
#include
using namespace std;

void sortNum(int * numArray, int num)
{
for (int i = 0; i < num;i++)
{
for (int j = 0; j < num -i -1; j++)
{
if (numArray[j] > numArray[j + 1])
{
int tmp = numArray[j];
numArray[j] = numArray[j+1];
numArray[j+1] = tmp ;
}
}
}
}

int main()
{
// 四个数
int numArray[] = {2, 10, 8, 9};

sortNum(numArray, 4);

for (int i = 0; i < 4; i++)
{
cout << numArray[i] << " ";
}
cout<return 0;
}
求C++编程,设置一个4X4的方格,把其中一格设为空格,然後用L形的字母把其馀的方格填满
求C++编程,设置一个4X4的方格,把其中一格设为空格,然後用L形的字母把其馀的方格填满
输入任意X-Y坐标,就出最下面的东西
例如:
Input:
Enter the x-coordinate of the empty cell (0-3):3
Enter the y-coordinate of the empty cell (0-3):0
output:
0 1 2 3
0:B B C
1:B A C C
2:E A A D
3:E E D D
RUI儿1年前1
lihp2001 共回答了18个问题 | 采纳率88.9%
#include
#include
#include
using namespace std;
char map[4][4];
int main()
{
int x,y;
couty;
coutx;
map[0][0]=map[0][1]=map[1][0]='B';
map[0][2]=map[0][3]=map[1][3]='C';
map[2][0]=map[3][0]=map[3][1]='E';
map[3][2]=map[2][3]=map[3][3]='D';
map[1][1]=map[1][2]=map[2][1]=map[2][2]='A';
if((x==0||x==1)&&y==0)map[1][1]='B';
if((x==0||x==1)&&y==3)map[1][2]='C';
if((x==3||x==2)&&y==0)map[2][1]='E';
if((x==3||x==2)&&y==3)map[2][2]='D';
for(int i=0;i
C++编程:输入两个实数分别输出它们的整数和小数部分 ,求流程图
C++编程:输入两个实数分别输出它们的整数和小数部分 ,求流程图
C++编程,求流程图1输入两个实数分别输出它们的整数和小数部分 .
2输出这两实数,分别带有两位小数和3为小数.
3输入任意三个整数,求它们的和及平均值.
4从键盘输入一个小写字母,要求用大小写字母形式输出该字母及对应ASCII值.
5输入某位同学期末成绩,英语和体育,计算机平均分,给出最高分和最低分.
6求1-1/2+1/3-1/4+...
7打印九九乘法表
dengyn081年前1
stoker 共回答了20个问题 | 采纳率85%
#include

int real_number_print(float x)
{
int integer_part = (int)x;
float fractional_part = x-integet_part;
printf("%d %f", integer_part, fractional_part);
return 0;
}

int sum(int x, int y, int z)
{
return (x+y+z);
}

float average(int x, int y, int z)
{
return (x+y+z)/3;
}
C++编程,详细代码作业8 指针与引用1. 编写函数void search(int *a,int n,int *max,
C++编程,详细代码
作业8 指针与引用
1. 编写函数void search(int *a,int n,int *max,int*min),在n个整数数组a中寻找最大数和最小数,并用参数max和min返回。
2. 编写下列字符串处理函数:(不得使用系统库函数)
(1)intStrlen(char *str):返回字符串str的长度。
(2)char* Strcat(char *str1,char *str2):将串str2接在str1的后面,形成一个长串,并返回这个长串。
(3)char*Strcpy(char *str1,char *str2):拷贝串str2至str1,并返回拷贝后的串。
3. 分别用指针数组和数组指针做函数参数,计算两个n*3矩阵的和。
4. 分别实现以下集合操作:其中,m,n,s分别为集合a,b,c的元素个数。
(1) voidUnion(int *a,int m,int *b, int n,int *c,int &s):c为两个集合a和b的并集。
(2) voidIntersect(int *a,int m,int *b,int n,int *c,int &s):c为两个集合a和b的交集。
(3) voidDifference(int *a,int m,int *b,int n,int *c,int &c):c为两个集合a和b的差集。
5. 计算两个n维向量的点积。要求使用动态内存分配。
6. 编写函数void fun(int x,int *p,int &n):求出x的所有偶数因子,并按从小到大的顺序存放在p所指的数组中,这些因子的个数通过形参n返回。例如,x的值为24,则有6个数符合要求,它们是:2,4,6,8,12,24。
anglemaotong1年前1
freesheep 共回答了17个问题 | 采纳率82.4%
1.大概是这样的算法
void search(int *a,int n int *max,int *min){
max=a[0];
min=a[0];
for(int i=0; imax) max = a[i];
if(a[i]
c++编程.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
陪你去漂泊1年前1
两碗 共回答了13个问题 | 采纳率92.3%
根据数学排列组合 那么 第一位有4种选择 第二位有三种选择 第三位 两种选择
则有 4X3X2 =24 种
[123][124][132][134][142][143]
[213][214][231][234][241][243]
[312][314][321][324][341][342]
[412][413][421][423][431][432]
Press any key to continue
#include
using namespace std;
int main()
{
x09int aa,bb,cc;
x09for (aa=1;aa
C++编程习题总共六道希望大家帮忙做下~1.输入一个三位整数,将它反向输出2.编写程序,要求输入四位数的年份,两位数的月
C++编程习题
总共六道希望大家帮忙做下~
1.输入一个三位整数,将它反向输出
2.编写程序,要求输入四位数的年份,两位数的月份和日期,把他们按“年 月 日”的格式输出,并计算它是这一年的第几天。
3.先定义一个点类Point,包含数据成员x和y,以Point类为基类,派生出矩形类Rectangle和圆类Circle。假设矩形水平放置,在Rectangle类中,继承来的基类中的点作为矩形左下方的顶点,在派生类中增加矩形成员长和宽;在Circle类中,继承来的基类中的点作为圆点,在派生类中增加数据成圆半径。 要求判断给定点位于矩形和圆的什么位置。
4。 定义一个Point类,派生出Rectangle类和Circle类,计算各派生类对象的面积Area( )。



5.输入平面上某点横坐标x和纵坐标y,若该点在(4,4),(4,-4),(-4,-4),(-4,4)构成的矩形区域内,则输出1;否则,输出0
6.构造一个圆类Circle,属性为半径radius,圆周长和面积,实现根据输入的半径计算周长和面积并输出。要求定义以半径为参数、缺省值为0的构造函数,且周长和面积的计算在构造函数中实现。
怡然自得681年前1
sby592 共回答了22个问题 | 采纳率95.5%
#include
int main(void)
{
int x,a,b,c;
printf("请输入一个三位数:");
a=x/100;
b=x%100/10;
c=x%10;
printf("逆顺序输出:%d%d%dn",a,b,a);
return();
}
C++编程 用牛顿迭代法求方程:3x3+2x2-8x-5=0,在x=1.5附近的根.
C++编程 用牛顿迭代法求方程:3x3+2x2-8x-5=0,在x=1.5附近的根.
⑴ 用牛顿迭代法求方程:3x3+2x2-8x-5=0,在x=1.5附近的根.
⑵ 要求
前后两次求出的x的差的绝对值小于10-6 ,则为结果.
⑶ 思路
如下图所示的示意图,设xn为一个接近xa的近似根,过(xn, f(xn)) 点做切线,其切线方程为:

式中只有xn+1为未知量,将它放在等号的左边,即:

上式就为牛顿迭代公式.

这是一种迭代算法,用循环实现.具体操作步骤如下:
① 设变量x0为x的初始近似根,题目中已给出1.5,初始根如果题目中没有给出的话,可以自己给定一个附近的初值,将其代入公式,求出方程f的值和方程导数f1的值;
方程f为:f=3x03+2x02-8x0-5
方程导数f1为:f1=9x02+4x0-8
② 用迭代公式x1=x0-f/f1进行迭代,求出x1比x0要接近方程真实的根;
③ 当|x1-x0|大于某个很小的数时(如10-6),认为未得到方程的根,此时将x1→x0,再次求f、f1,并迭代,又求出一个新的更接近方程根的x1;
④ 如此循环,直到 |x1-x0|≤10-6时,可以认为x1就是方程的的近似根.
#include
#include
using namespace std;
void main()
{
double x0=1.50,x,f,f1,x1,a;
f=3*x0*x0*x0+2*x0*x0-8*x0-5;
f1=9*x0*x0+4*x0-8;
x1=x0-f/f1;
cout
sctuluqing1年前1
scxhp 共回答了11个问题 | 采纳率90.9%
你没有重新计算你定义的 a
循环最后加一条语句
while(a>10e-6)
{
.
.
a=fabs(x0-x1);
}
(c++编程) 一个数列,它的第一项是0,第二项是1,以后每 项都是前两项之和,求前20项之和 s
(c++编程) 一个数列,它的第一项是0,第二项是1,以后每 项都是前两项之和,求前20项之和 s
【程序设计】
--------------------------------------------------
一个数列,它的第一项是0,第二项是1,以后每
项都是前两项之和,求前20项之和 s
--------------------------------------------------
注意:部分源程序给出如下.请勿改动主函数main和其它
函数中的任何内容,仅在函数的花括号中填入所编
写的若干语句.
------------------------------------------------*/
#include
#include
#include
void writeinfile(int n);
void main()
{
int k,a1=0,a2=1,s=a1+a2;
//
writeinfile(s);
}
void writeinfile(int n)
{
fstream myfile;
myfile.open("f.txt",ios::out);
myfile
外观设计1年前1
水灵_小白 共回答了17个问题 | 采纳率88.2%
for(int i=0;i
C++编程问题求解编写一个程序,将字符串“Love”译成密码,译码方法采用替换加密法,其加密规则是:将原来的字母用字母表
C++编程问题求解
编写一个程序,将字符串“Love”译成密码,译码方法采用替换加密法,其加密规则是:将原来的字母用字母表中其后面的第N个字母的来替换,N由用户输入。如果N=3,字母c就用f来替换,字母y用b来替换。
提示:
(1)分别用4个字符变量来存储‘L’、‘o’、‘v’和‘e’。
(2)加密公式为:
  如果x为大写字母,密文y为 y=((x-‘A’)+N)%26+‘A’;
  如果x为小写字母,密文y为 y=((x-‘a’)+N)%26+‘a’;
  其中N为密钥,为一整数。
注意,其中引号在程序中应为英文的单引号!!!
程序运行结果如下:
Please input the key:
3
The original word is Love
The encrypted word is Oryh
注意,其中Oryh是加密后的单词。
wolfwaha1年前1
ALIBAO 共回答了21个问题 | 采纳率95.2%
#include
int main()
{
char cypher[4]="Love",code[4];
const int N=26;
int i=0,n;
printf("please input the keys :n");
scanf("%d",&n);
printf("The original word is %s n", cypher);
for(;i'Z')
cypher[i] =((cypher[i] - 'a')+n)%N+'a';
else
cypher[i]=((cypher[i] - 'A')+n)%N+'A';
}
printf(("The encrypted word is %s , cypher);
return 0;
}
c++编程,海伦公式求三角形面积
c++编程,海伦公式求三角形面积
根据海伦公式由三角形的三边长度a、b、c可以计算三角形面积,公式为:s=[p(p-a)(p-b)(p-c)]^1/2,其中:.请根据下列要求编写程序:
(1)三角形面积的计算由函数triangle_area实现,函数原型为:
double triangle_area(double a,double b,double c);当输入的a、b、c值不能构成三角形时,返回0.0;(提示:构成三角形的三边条件:任意两边之和大于第三边,任意两边之差小于第三边.)
(2)主函数的功能是输入三角形的三条边长,再调用triangle_area()得到面积,最后输出结果;
(3)主函数在前,triangel_area()在后面定义.
alisidun1年前1
xingapore 共回答了12个问题 | 采纳率75%
#include
#include
using namespace std;
double triangel_area(double a,double b,double c);
int main()
{
double a,b,c;
x09cin>>a>>b>>c;
x09cout<x09return 0;
}
double triangel_area(double a,double b,double c)
{
x09if(a+b>c || a+c>b || b+c>a)
x09{
x09double p = (a+b+c)/2;
x09x09return sqrt(p*(p-a)*(p-b)*(p-c));
x09}
x09return 0.0;
}
用c++编程(1)有2个矩阵A和B(均为2行3列).求2矩阵之和.重载运算符“+”,使之能用于矩阵相加.如:C=A+B.
用c++编程
(1)有2个矩阵A和B(均为2行3列).求2矩阵之和.重载运算符“+”,使之能用于矩阵相加.如:C=A+B.
用VC++6.0编译调式运行
bmilaaqa1年前1
霜绛 共回答了16个问题 | 采纳率87.5%
  //main.cpp _______used for testing
  #include
  #include
  #include "matrix.h"
  #include "time.h"
  #include "stdlib.h"
  using namespace std;
  int main(int argc,char *argv[])
  {
  srand(time(NULL));
  double data[ROW][COLUMN];
  Matrix *pm1,*pm2;
  int k=0;
  while(k
C++编程求直角坐标系中一点到直线的距离
C++编程求直角坐标系中一点到直线的距离
要求:(1)定义一个点类,有两个成员数据x和y;
(2)定义一个直线类,有三个成员数据a,b,c。分别表示直线方程ax+by+c=0的系数;
(3)在直线类中定义一个计算一点到直线距离的友元函数distance,其中点(x,y)到直线ax+by+c=0的距离计算公式为:d=fabs(a*x+b*y+c)/sqrt(a*a+b*b);
请C++高手帮帮忙咯!
yexiao1231年前1
cognac1203 共回答了21个问题 | 采纳率95.2%
#include "iostream.h"
#include "math.h"
class point
{
public:
float x;
float y;
//构造函数
point(float x,float y)
{
this->x=x;
this->y=y;
}
};
class line
{
float a;
float b;
float c;
public:
//构造函数
line(float a,float b,float c)
{
this->a=a;
this->b=b;
this->c=c;
}
float getDistance(point p)
{
float x,y;
x=p.x;
y=p.y;
return fabs(a*x+b*y+c)/sqrt(a*a+b*b);
}
};
void main()
{
float x,y;
coutx;
couty;
point p(x,y);

float a,b,c;
couta;
coutb;
coutc;
line l(a,b,c);
cout
C++编程设计两个重载函数,分别求两个整数相除的余数和两个实数相除的余数.两个实数求余定义为实数四舍五
消逝的落叶1年前1
JasonPiao 共回答了17个问题 | 采纳率100%
#include
class digital
{
private:
int m_num;
public:
digital(int num=0)
{
this->m_num=num;
}
digital(){};
int GetNum()
{
return m_num;
}
digital operator + (digital x)
{
digital y;
y.m_num=this->m_num+x.m_num;
return y;
}
digital operator * (digital x)
{
digital y;
y.m_num=this->m_num*x.m_num;
return y;
}
digital operator / (digital x)
{
digital y;
y.m_num=this->m_num / x.m_num;
return y;
}
digital operator - (digital x)
{
digital y;
y.m_num = this->m_num - x.m_num;
return y;
}
};
void main()
{
digital a(3);
digital b(3);
cout<<(a+b).GetNum()<cout<<(a*b).GetNum()<cout<<(a/b).GetNum()<cout<<(a-b).GetNum()<}

大家在问