这段C语言程序有什么错?

作者&投稿:荡逸 (若有异议请与网页底部的电邮联系)
这段C语言程序有什么错误?~

恭喜你,没错,呵呵


M没有赋初值
N=1;

楼主在使用for语句的时候出错了。for语句内的表达式由三个“;组成,判断if的时候,括号内的表达式在等于的时候用“==”,单个“=”在C语言中表示赋值或者初始化的时候用到。修改后程序如下。
#include <stdio.h>
#include <stdlib.h>
int x = 0;
int main(void)
{
printf("程序已启动,正在计算题目允许的取值......\n");
for(;;x++)
{
if(x % 3 == 2)
printf("此数符合第一条件,正在继续验证。\n");
else
printf("此数不符合第一条件,正在回到原来重新递增。\n");
if(x % 5 == 4)
printf("此数符合第二条件,正在继续验证。\n");
else
printf("此数不符合第二条件,正在回到原来重新递增。\n");
if(x % 11 == 0)
printf("此数符合题意,此数为 %d 。正在继续验证可行的数\n");
else
printf("此数不符合第三条件,正在回到原来重新递增。\n");
}
system("pause");
return 0;
}

这个程序有以下问题可改进:
1 for 循环终止条件。
2 if 的逻辑判断要用==
3 三个条件判断最好嵌套。前面的条件不满足,后面的就不用再判了。

改过且能运行的程序:
#include <stdio.h>
#include <stdlib.h>
int x = 0;
int main(void){
printf("程序已启动,正在计算题目允许的取值......\n");
for(;x <= 1000;x++)
{
printf("\n%d\n",x);
if(x % 3 == 2){
printf("此数符合第一条件,正在继续验证。\n");
if(x % 5 == 4){
printf("此数符合第二条件,正在继续验证。\n");
if(x % 11 == 0)printf(">>>此数符合题意。正在继续验证可行的数\n");
else printf("此数不符合第三条件,正在回到原来重新递增。\n");
}
else printf("此数不符合第二条件,正在回到原来重新递增。\n");
}
else printf("此数不符合第一条件,正在回到原来重新递增。\n");
}
system("pause");

return 0;
}

你好,C语言中有逻辑运算,关系运算符等,错误1是在你使用if语句时候,对应的等于号应为“==”,错误二在开始时你已经对x赋初值了,故在for(x >= 0;x++) 时你可以省了初值,但是!你不能省掉分号,应该为for(;x >= 0;x++) 这样就该可以了,我也运行过了,继续努力!

else
if(i>a[x])
x=(m/2+1+m)/2;时x=4,再加1得5,你的时数组下标越界了,变成a[5];而a[5]你没有初始化。i和a[5]的大小就不知了。

#include <stdio.h>
#include <stdlib.h>
int x=0;
int main(void)
{
printf("程序已启动,正在计算题目允许的取值......\n");
for(x=0;x<1000;x++) //for( ;; )两个分号
{
if(x%3 ==2)
printf("此数符合第一条件,正在继续验证。\n");
else
printf("此数不符合第一条件,正在回到原来重新递增。\n");
if(x%5 == 4)
printf("此数符合第二条件,正在继续验证。\n");
else
printf("此数不符合第二条件,正在回到原来重新递增。\n");
if(x%11 == 0)
printf("此数符合题意,此数为 %d 。正在继续验证可行的数\n",x); //后面少了x
else
printf("此数不符合第三条件,正在回到原来重新递增。\n");
}
system("pause");
return 0;
}

可以帮我看一下这个C语言程序哪里有错吗?然后怎么改?
答:2. 在函数 `C()` 中,变量 `f` 没有定义。需要将其定义为合适的值。3. 在函数 `E()` 中,`printf()` 函数的格式字符串中使用了 `%d` 来输出浮点数变量 `a1` 的值,应该改为 `%f`。4. 函数 `E()` 没有指定返回类型,在函数声明和定义时应该指定返回类型为 `void`,因为它没有返...

这段C语言程序有什么错?
答:楼主在使用for语句的时候出错了。for语句内的表达式由三个“;组成,判断if的时候,括号内的表达式在等于的时候用“==”,单个“=”在C语言中表示赋值或者初始化的时候用到。修改后程序如下。include <stdio.h> include <stdlib.h> int x = 0;int main(void){ printf("程序已启动,正在计算题目...

C语言编程,下图程序中有哪些错误?
答:首先指出程序中的三处错误,第一个是int m n中间应该有逗号,第二个是swtich拼写有错误,第三个是打印输入语句printf("x=%d,y=%d",x,y)有误。修正后程序的运行结果是:x=6,y=6。代码运行结果如下图所示:程序运行过程解析:1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。2、执行第一...

为什么c语言程序在运行时出现错误?
答:出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。

这个C语言程序有什么错误
答:可以目测的有三个错误:主函数(第三个)函数名拼写错误,应该是:main()从行号看,没有包含头文件,源文件中至少应该包括一个头文件,应该是#include "stdafx.h" 或者 #include "stdio.h"第二个函数,变量n和参数n重定义,不过这个应该是警告而不是错误。

C语言这段程序为什么会这样?
答:出现这个错误是因为你的字符传输组没有在最后一个位置设置'\0'结束符,导致printf打印字符串时越界打印出乱码导致。有两个解决办法:方案一:定义字符串数组时全部初始化为'\0',例如:char c[100] = {0}, str[100] = {0};方案二:在字符串的最后一个位置追加'\0'结束符,在printf函数的前面...

C语言中出现了什么错误?
答:C语言出现expected identifier or '('是出现了编写错误,Error Message:Compilation failed with errors:q2/frac.c:32:1: expected identifier or '('在这段程序中:void fr_reduce(struct frac *a) {int g = gcd((*a).num, (*a).denom);(*a).num = ((*a).num / g);(*a).denom...

c语言编程题 这个程序哪里错了?
答:错误在于:fact函数使用了int类型。由于n!随着n的增大,数值增加很快,所以,10几项之后,n!的值就已经超过了int类型的最大范围。所以计算50项的话,要使用int64_t,这个64位整数类型。

C语言:这个程序哪里错了???
答:int(i)是强制类型转换,不可以放在赋值号的左边。因为左边变量在赋值后是要得到右边变量的值,所以不可以强制转换赋值号左边变量的类型,只可以强制转换赋值号右边变量值得类型。如果改为j=int(i);就可以了。

看看这段c语言是不是对的,不对请做修改谢谢
答:a=1;b=2;u=10;c=a+u;d=b+u;printf("a+u=%d,b+u=%d\n",c,d);//算出的结果,下面是算出的结果相加,sum=0;a=20,b=30;sum=a+b;printf("%d\n",sum);for(i=50;i<=51;i=i+1)//;不要 printf("%d\n",i);} 这段代码的问题有1、每行结束要有; 2、定义要放在...