- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解决 UVAa Online Judge Problem 272 — TeX Quotes .
Input will consist of several lines of text containing an even number of double-quote (
"
) characters. Input is ended with an end-of-file character. The text must be output exactly as it was input except that:
- the first
"
in each pair is replaced by two`
characters:``
and- the second
"
in each pair is replaced by two'
characters:''
.
我不知道为什么我的代码给出了错误的答案;我认为这是正确的答案。
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
int main(){
char kalimat[100000];
int i;
int max;
bool flag=true;
while (scanf("%c",&kalimat)!=EOF){
max=strlen(kalimat);
for (i=0;i<=max;i++){
if (kalimat[i]=='"')
{
if (flag==true){
printf("``");
flag=false;
} else {
printf("''");
flag=true;
}
} else {
printf("%c",kalimat[i]);
}
}
}
return(0);
}
最佳答案
请注意,scanf("%c",&kalimat) 一次仅读取 1(一个)字符。所以 strlen(kalimat) 将始终为 1。不是实际问题,只是奇怪(例如,您可以声明 char kalimat,而不是 char 数组,并且不使用索引或 for 循环)。
但是,您的 for 循环从 0 到 max 包含在内,因此 kalimat 将被索引越界,并导致未定义的行为。也许你的问题就在那里。
事实上,由于 kalimat
是单个字符,因此它不会有终止 '\0'
字符,因此不是有效的 C 字符串。因此 strlen
永远无法计算出正确的长度(即 1)。
试试这个:
char kalimat;
...
while (scanf("%c", kalimat) != EOF) {
if (kalimat == '"') {
if (flag){
printf("``");
flag = false;
} else {
printf("''");
flag = true;
}
} else {
printf("%c", kalimat);
}
}
}
关于c - 我在 "Uva tex quotes"中的答案遇到问题(间距问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31063471/
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
好吧,很难找到答案,因为我不知道如何用英语表达这个问题!所以, 我正在尝试做最长的午睡问题: https://uva.onlinejudge.org/external/101/10191.pdf 我的
我正在尝试了解 UVA 问题 1193 的示例解决方案: 问题陈述: 解决方法: #include #include #include #include #include #include
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
如何将最长公共(public)子序列简化为 O(nlog n) 最长递增子序列问题 10635 uva .我需要一些有关解决问题的逻辑方面的帮助。 最佳答案 对于两个角色之一(假设是公主)的路线的每一
这是实际问题的链接,here 我已多次提交代码,但每次都会出现编译错误。原始消息是 "Main.java:4: error: class Egypt is public, should be decl
我认为这个问题可以通过平方根int数来解决。 为什么此代码显示错误的答案.....? #include #include int main(){ long int n; while(
UVA链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem
所以我试图解决 uva 11959 Dice .但是问题给出的第三个例子给了我错误的答案。然后我发现如果我改变 cin >> d1 >> d2; 到 scanf("%lx %lx", &d1, &d2
注意下面的评论。由于 GCC 中的错误,它无法在 UVA 上编译。 #include #include #include #include #include class Board { pu
这是我第一次使用在线判断,我尝试了一个简单的程序来熟悉环境。 这是 question . 我按照下面的方法解决了,但是得到了一个错误的答案! #include #include #include in
我的代码需要更多测试用例,它显示了正确的答案,但 UVa 仍然不接受它。 指令是,当收到请求时,它们会根据预定的主题列表进行分类。每一位支持人员都负责这些主题中的一个或多个,并且每个主题都分配有一名或
我正在研究 UVa #112 Tree Summing .我有我认为应该可行的解决方案,但由于我对问题的基本误解,它没有被在线法官接受。考虑以下输入: -1 (-1()()) 77 (77(1()()
所有的测试用例我都试过了,但是在线判断还是给我一个错误的答案 https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&pag
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在尝试为 UVa 594 "One Little, Two Little, Three Little Endians" 编写 Java 代码. 长话短说:问题在于从输入流中获取输入并将小端转换为大
我在解决扫雷器问题时遇到了麻烦,因为我得到的索引超出范围并且无法弄清楚原因: Here is the link of the problem 我认为我的代码效率不高,但我只想解决这个问题,这里是代码:
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我正在尝试解决 UVA 417 ,但我无法这样做。我见过的所有解决方案首先生成所有可能的值,将它们存储在映射中,然后搜索以找到所需的字符串。这对我来说似乎很不优雅。没有办法从数学上解决这个问题吗? 考
我是一名优秀的程序员,十分优秀!