PTA-基础编程题目集-7-14 求整数段和
题目来源:https://pintia.cn/problem-sets/14/problems/794

当代码是这样的时候:

输出是这样:

刚开始只输出了Sum=30,找了很久的错误为什么不进入for循环,原来是我在 for 循环的括号里把 A 和 B 写反位置了。
Sum=30没有转行,应该在Sum前面加一个\n,那就把换行符放到前面,这是当输出的值的个数不是5的倍数的情况。
可是如果把换行符放到前面来,那第一行会直接空一行出来,当输出的值得个数是5的倍数的时候,最后一行前面也会空一行出来,所以还是要把换行符加在后面。
但是放到后面当输出的值的个数不是5的倍数的时候,就会回到上面这种情况,于是我就加了一个 else if 的情况。
代码变成这样:

然后···程序变成了下面这样:

试多几次···

why,what happened?[/苦涩]
···
没有搜到解决的办法,打算放弃等之后回来的时候再看看。
由于放弃前做了垂死挣扎又搜了一下,然后就...可以了···

1 #include<stdio.h> 2 int main(){ 3 int A,B,i,j; 4 scanf("%d %d",&A,&B); 5 j=0; 6 for(i=A;i<=B;i++){ 7 printf("%5d",i); 8 j++; 9 if(i==B){ 10 printf("\n"); 11 }else if(j%5==0){ 12 printf("\n"); 13 } 14 } 15 printf("Sum = %d",(A+B)*(B-A+1)/2); 16 return 0; 17 }
我的代码其实没有任何的修改,if 和 else if 后括号内的内容交换顺序并不影响,只能说,在学习的道路上总是会碰到奇奇怪怪的问题。
(之后可以直接在网站上提交,不要在devc++上试成功了再提交,可能就不会遇到一些本就可以不用遇到的问题,但网站上提交结果如果不是正确的又很难看出来错在哪里了。)
代码第15行的Sum和=和%d之间要加空格,否则格式错误。
怎么在devc++里运行成功的:
在找的过程中看到有人说可以调试下不要直接运行,原来我以前直接运行看错在哪里然后改的过程不是调试???震惊。
找了下“devc++怎么调试”,跟着一篇文章(https://www.php.cn/faq/459941.html#:~:text=dev,c%2B%2B%E8%B0%83%E8%AF%95%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%9A%E9%A6%96%E5%85%88%E6%89%93%E5%BC%80%E3%80%90dev%20c%2B%2B%E3%80%91%E8%BD%AF%E4%BB%B6%EF%BC%9B%E7%84%B6%E5%90%8E%E7%82%B9%E5%87%BB%E7%AA%97%E5%8F%A3%E7%9A%84%E5%B7%A5%E5%85%B7%E6%8C%89%E9%92%AE%EF%BC%8C%E5%B9%B6%E7%82%B9%E5%87%BB%E7%BC%96%E8%BE%91%E6%8C%89%E9%92%AE%EF%BC%9B%E6%8E%A5%E7%9D%80%E5%9C%A8%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90%E5%92%8C%E4%BC%98%E5%8C%96%E4%B8%80%E6%A0%8F%E4%B8%8A%E7%82%B9%E5%87%BB%E8%BF%9E%E6%8E%A5%E5%99%A8%EF%BC%8C%E5%B0%86%E4%BA%A7%E7%94%9F%E8%B0%83%E8%AF%95%E4%BF%A1%E6%81%AF%E4%BF%AE%E6%94%B9%E4%B8%BAYES%EF%BC%8C%E5%B9%B6%E7%82%B9%E5%87%BB%E7%A1%AE%E5%AE%9A%EF%BC%9B%E6%9C%80%E5%90%8E%E9%87%8D%E5%90%AF%E8%BD%AF%E4%BB%B6%E5%8D%B3%E5%8F%AF%E3%80%82)来操作之后就运行成功了。
ps:之前C语言程序设计课的课设有用过输出的输出宽度,但是忘了,就又去网上搜了下。(https://zhidao.baidu.com/question/47133214.html?qbl=relate_question_3&word=%CA%FD%BE%DD%BF%ED%B6%C8&optimi=4)



浙公网安备 33010602011771号