求一道C语言改错题 求大神解答?

#include <conio.h>

#include <stdio.h>

main()

{

int i,j;

clrscr();

for(i=0;i<10;i++)

for(j=0;j<10;j++)

{

if(i=j)break;

printf("* ");

}

printf("\n");
求改错误 并画出流程图

for(i=0;i<10;i++)
{
for(j=0;j<10;j++)

{

if(i==j)break;

printf("* ");

}
printf("\n");
}
这个试试追问

clrscr();
这个嘛用的啊?没有这个就可以运行 有的话就不可以

追答

这个是清屏用的,按字面意思看是清屏的函数,不过C语言里这个写法可能不对

追问

#include
#include
main()
{
int i,j;
clrscr();
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if( i == j )break;
printf("* ");
}
printf("/n");
}

}
这样也有错误 求指出

追答

if( i == j )break;可能是这句,因为好久没有用C语言了,C语言的等于判断可能是if(i=j)break;你改回来试试,clrscr();改成system("CLS"); 试试,不知道你用的是C还是C++,VC++可能不支持clrscr();这种写法的

追问

if( i == j )break; 这个是正确的

追答

那你现在报什么错clrscr();这句引起的么,你试下改成system("CLS");
#include
#include
#include
main()
{
int i,j;
system("cls");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if( i == j )break;
printf("* ");
}
printf("/n");
}

}
贴进去试试

追问

可以了 我用的是VC++
#include 什么用可以不加吗?

追答

那你把#include
换成#include 这个头文件试试
好久没做C了也不大了解,不过我知道VC++中clrscr();不包含在#include 里面

追问

#include
#include
main()
{
int i,j;
system("cls");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if( i == j )break;
printf("* ");
}
printf("\n");
}
}
这样的话运行就正确了 谢谢大神

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-06
目测原题的原意是(i==j)时break;不知是你打错了还是原题就是这样。
if(i=j)是永远为true的,这样永远是break跳出本次循环,也就是说最后程序输出的应该是一个回车(什么都没有),不过没尝试编译运行过。
如果说要改,把if(i = j) 改成if(i == j) , 另外程序最后加个大括号就好了。
第2个回答  2013-07-06

if(i=j)break;,,,i==j

clrscr()清参考http://baike.baidu.com/view/653995.htm

追问

求程序 请贴出来。。。。。

第3个回答  2013-07-06
不就是输出81个*,还有什么问题?追问

是45个吧 而且是改错

c语言改错题
改错,并经实际运行,结果如下图:改错后,源代码如下:include<conio.h>#include<stdio.h>\/\/int found(int a[10][30],int n) \/\/错误,弹出错误 [Error] type of formal parameter 1 is incomplete int found(int a[10][30],int n) \/\/改错 { int i, j, s, k, x;\/\/for(i=0, ...

请C高手进来,c语言改错考试题,谢谢^_^
答案已经出来了,修改方式可以把int *const ptr改为int const *ptr,把*ptr=8去掉,或者直接把ptr=&y去掉。2.第二个问题考察的是指针的移动。程序里错误之处在于while循环判断的条件是ptr指向的值是否为空,在第一次处理后,ptr已经指向string的尾端,因此后面几次处理*ptr肯定是空,因此只会打印...

初学者C语言程序改错题
首先我指出你书写的一个错误。switch(c-'2')下面那行的(应该改成{ 因为{是与default:putchar(c+2);下面出现的}进行配对的。依次输入2473得到输出668977,只需修改一处地方。在case 2:putchar(c+4);后面加上 break;分析如下:使用getchar输入,每次只能识别一个字符,而又使用了while循环,输入2473...

c语言程序改错,速求高手高奖励,代码如下,我觉得错误是字符串的值Z付...
test.c:3:11: 错误: ‘y0’被重新声明为不同意义的符号 test.c:3:14: 错误: ‘y1’被重新声明为不同意义的符号 可以判断y0和y1已经被定义了,猜测是math.h,也算是情理之中。所以要改个名。用文本工具替换y0为y01,替换y1为y02,再编译:undefined reference to `getch'哦,linux下面只有...

一道c语言改错题,求大神
回答:把第一个for 循环改为: for(i=2;i<20;i++) f[ii=f[i-1]+f[i-2];

C语言求改错
一、denominator=denominator+3 (- -||| 这也太粗心了吧)二、错在判断while()上,当item为负数,如-1\/4时就退出循环了。可以考虑加个if判断 while(1.0*item>=eps){ item=flag*1.0\/denominator;flag=-flag;s=s+item;denominator=denominator+3;if(item<0) \/\/加这两句,相当于把负数变...

C语言代码改错题?
h> int main(void){ int flag, n;double eps, item, s;printf("Input eps:");scanf("%lf", &eps);flag = 1;s = 0;n = 1;do { item = 1.0 \/ n;s = s + flag * item;flag = -flag;n = n + 3;} while (item >= eps);printf("s=%f\\n", s);return 0;} ...

急!在线等!! 一道c语言程序 改错 题
你所以进行的计算是整数值比较小、小数值比较大的计算,如果用double的话,相当于用一大脸盆去装一个绿豆,效果反而不好,所以全部改为float。float fun(float eps){ int i;float p,m,n;float s=1;n=1;for (i=1,p=1,m=1;n>eps;i++) { p*=i;m*=(2*i+1); \/*如果不加括号,...

C语言程序改错题,为什么if(a小于b),max=a,要把a的值赋给max?
max=a;a=b;b=max;这是一个交换两变量的过程,作用是交换两个变量的值 首先把a的值赋给max 然后把b的值赋给a 最后把max赋给b,由于max的值是原来a的值,所以b相当于得到了a的值 交换过程结束 所以:if (a < b) { ... }表示,如果a小于b,则交换a与b if (a < c) { ... }表...

c语言改错,输入长和宽求矩形边长和面积,保留两位小数。
然后这个程序有一些其他的错误,其实也不能说错误吧,就是c语言的标准改了以后造成的不兼容,新手很常见的会疑惑。。。现在比较多的是C99标准,C11虽然说颁布了,但是11年才颁布,你应该也用不着。。。C99标准规定主函数应该有类型,直接写main()或者写void main()不符合C99标准,至于为什么是int main(...

相似回答