-
#include
#include
int main()
int a,b,c,m;
double x1,x2,n;它属于双重类型。
printf("请输入a,b,c:in ax2+bx+c=0");
scanf("%d %d %d",&a,&b,&c);
m=(b*b-4*a*c);
if(m<0)
printf("方程没有解");
elsen=sqrt((double)m);将 m 转换为力类型,再转换为双精度,因为连接是双精度的
x1=(-b-m)/(2*(double)a);
x2=(-b+m)/(2*(double)a);
printf("x1=%.2lf x2=%.2lf",x1,x2);
return 0;ok!
-
你不应该使用 int 变量,float double 就可以了。
-
这个程序运行得很正常,没有错误!
-
你应该把 m=sqrt(m);
x1=(-b-m)/(2*a);
x2=(-b+m)/(2*a);
printf("x1=%d x2=%d",x1,x2);
将其括在括号中,这很好。
-
在编程中,将 C++ 更改为 C:C 实际上是一个 C++ 程序,因为 C++ 与 C 兼容。
在 C++ 中,input 语句使用 CIN 而不是 ScanF,使用 Cout 而不是 PrintF,但 C++ 也识别 ScanF 和 PrintF 的主要区别在于 C++ 扩展了 C 并且是面向对象的。 如果要更改它,可以: 包括头文件""->#includeusingnamespace。
C++程序的作文和写作形式:
1.一个C++程序可以由一个程序单元或多个程序单元组成 每个程序单元充当一个文件 编译程序时,编译系统分别编译每个文件,因此文件就是一个编译单元
2.在程序单元中,可以包括以下部分:
预处理命令 上一节中的四个程序包括 include 命令
全局声明部分(函数外部的声明部分)包括用户定义数据类型的声明和程序中使用的变量的定义
函数 函数是实现操作的部分,因此函数是程序中最基本和最必要的部分 每个程序都必须包含一个或多个函数,其中必须有一个(且只有一个)主函数(main function)。
-
主要存在两个问题,gets函数使用不当和数组下标计算不正确,可以按如下方式纠正:
替换 gets(a); 更改为 scanf("%s",a);
将 1 添加到所有下标,例如将 a[j-2] 添加到 a[j-1]。
-
有两个严重的错误:
1.程序结构有问题。 根据你的**,你可能知道你要反复判断输入的分数是否合法,然后再判断测试后的分数是否合法。 但是这个程序不这样做,如果你按照你的**流程,一般流程如下:
输入分数 -> 判断分数是否大于 100(如果是,则执行 if中的**,这里我就不赘述了) -输入分数 ->判断分数是否小于 100 -> 输入分数 ->判断分数情况(即剩余的 if else if 语句)。
这个过程显然是不正常的。 如果这是您想要的,您可以忽略此错误。
如果没有,则需要更改。 我认为程序结构可以是这样的:定义一个无限循环,同时输入它并确定输入是否有效。 如果它是合法的,就把它打破来,如果它不合法,就继续执行它。
2.最终的if判断有问题。 第 24 行中的 if 语句写错了,逻辑等号写成了赋值符号(即“==”写成了“=”)。
在这种情况下,if 的条件将由 score 的值判断为 true 或 false(取决于分配给该行的分数,non-0 为 true,0 为 false)。 此行的 if 条件是分配 100 的分数,这将导致条件始终为 true。
更正此问题的方法是将“=”更改为“==”。
-
在 main 里面你调用 calc 函数,而 main 不知道它是一个函数,是不是看起来很奇怪? 因为您已经在下面编写了 calc 的完整定义。
原因是编译器从文件的开头开始扫描,一遍又一遍地扫描生成中间的**,一直扫描到你调用calc,而当时它还没有扫描calc,所以编译器不知道它是一个函数。
如果你只想在下面定义 calc,那很好,只需要在 main 前面语句计算,
喜欢这个:
#include
int calc(int);这是函数的声明
int main()
也就是说,告诉编译器这是一个函数,以后遇到的时候,就会生成这个函数的中间**,至于这个函数定义在什么地方稍后扫描时可以找到它。
-
克除以一千,而不是乘以一千。
-
使用 for 循环,每次在它前面再循环一个空格,然后添加四个 *s
5,6,7,8,9,0,1,2,3,4。只要仔细看一下这个函数,它只不过是一个交换函数,先是 0-3 交换,然后是 4-9,最后是 0-9,。