c语言,我的代码哪里有问题啊请指出啊,输出结果不对啊,题目如下图,#include<stdio.h>
int main ()
{
int n,i=0,j=0,sum=0;
scanf("%d", &n);
int s[n][n];
for(i; i<n; i++)
for(j; j<n; j++){
scanf("%d", &s[i][j]);
if(i>=j)
sum=sum+s[i][j];
}
printf("%d", sum);
}
什么意思?
追答Wrong Answer还是Compilation Error
因为有些oj不支持C99
错误答案
输出结果不对
追答把每个for循环的第一个表达式分别改为i=0和j=0.
追问为什么这样就可以了,我上面不是给变量赋值了吗
请问?
追答你只是给j赋了初值,而没有在每次内层循环开始的时候重新将j初始化为0。
追问可是,以前我在上面赋初值了,就可以这样用了啊,为什么这次不可以?
追答因为以前你只有一层循环,而不是两层或更多。
追问两成就不可以了吗
追答当然不可以,为什么上面已经讲过了。
追问哦,知道了以前用两成的时候真没有过这种情况,谢谢你
以后会注意这种情况
和我的有什么不同吗
请问一下
追答可变长数组需要支持C99,况且这里根本不需要数组就能实现
追问c99是什么?
追答C99标准,具体特性自己网上搜索
c语言编程水手分椰子问题,我自己写了一段程序,答案不对
这道题我也想了很久,看了网上很多方法都是直接给出公式算,我自己找了下这个问题的规律,用迭代和逆向递推的方法解决了这个问题,具体代码如下:(程序附有注释,建议大家动笔画画图,看看不同水手个数的情况是怎么样的,这样就可以理解了)include <stdio.h>#include<stdlib.h>#include<math.h> ma...
c语言屏幕输出老是对不齐,到底要怎么搞啊
由于长度不一,导致的将所有要输出的字符串的长度固定.都和最长的那个一样,不足的用空格补足.然后再用\\t分割
c语言新手上路,求教一下为什么我这个输入字符串的时候用scanf运行出来...
第一,你说的正确情况应该是gets,而不是get 第二,scanf和gets区别在于,gets输入整行,而scanf遇到空白字符就会停止 所以应该你的输入中有空格一类的需要存入数组的空白字符,导致scanf读取非预期 so,确认一下输入是不是有我说的这种情况,如果有,那就用gets吧,挺好用的。没必要一定用scanf(scanf...
c语言helloworld代码是对的,但编译错误?
这个从图示来看编译没有错误 使用devC++编译运行结果如下
初学c语言,为啥这个程序打印出的地址会不一样呢?地址应该一样才对啊...
&p 是p的地址, p的值才是i的地址 printf("i的地址是%p\\n",&i);printf("p的地址是%p\\n",p); \/\/这样才是一样的
C语言中以单精度浮点型输入,输出格式为%d或%c,为什么显示的数不对?谢谢...
肯定不对啊!你输入的时候是单精度浮点数类型,c语言中变量就是float类型,输入使用的格式是%f。不同的变量类型在内存中的储存方式也完全不同,当你用整型格式(int)去读一个浮点格式(float)的数字时,不可能读出正确的结果。所以,你必须用跟输入时相同的格式(%f)输出(另外,还必须跟变量的类型...
C语言问题 把 INT类型 换成float 就 结果不对 为什么啊
int main(void){ float a; \/*变量a定义为 单精度浮点型(float)*\/ a =50 % 23; \/*求的是50比23的模,模为4,4为整形(int),显然与变量a的类型不 符,导致编译错误*\/ printf("a = %d\\n", a); \/*%d为整形数据输出符,%f为浮点型输出*\/ return 0;} 解决方法...
C语言的一道题目,看着都觉得不对,我觉得只要是7的倍数又不能被2、3...
if (++x%2==0):x=26,26%2=0判断成立,进入判断语句:if
C语言问题。数组字符串长度问题。我写的对不对啊,分为实际长度和函数计...
随机值),不是3,因为这个只明确了s是一个有三个元素的字符数组,第四个元素已经是非法空间了。char s[3]="abc"; \/\/编译通不过,因为"abc"需要4个字节,而s[3]只有3个字节的空间。char s[3]={'a','b','c'}; \/\/实际占用3个字节,strlen计算长度为(随机值)...
对15个数进行排序,按从小到大的顺序输出。这个代码哪里错了?_百度...
对15个数进行排序,按从小到大的顺序输出。这个代码哪里错了?#include<stdio.h>voidmain(){inti,j,a[15],t;printf("input15numbers:\\n");for(i=0;i<15;i++)scanf("%d\\n",&a);for(j=0;j<15;j++)for(i=0;i<15-j;i++)for(i=0;i<15-j;i++)if(a>a[i+1......