我是解决编程问题的新手,这是我要解决的onlinejudge的一些问题,
问题在于:
你需要总结所有输入
示例input1:
1 -184
示例输出1:
-184
示例input2:
10 439 298 -935 72 636 774 -509 -568 228 47
示例输出2:
482
这是我的代码:
library(dplyr)
# Create example data frame
df <- data.frame(fac = rep(c("A", "B", "C"), 3))
# Create all the combinations of factor
m <- combn(unique(df$fac), m = 2)
# Check the difference between factor level, only keep those differ by 1
# Create a data frame with the right combination
re <- which(as.numeric(m[2, ]) - as.numeric(m[1, ]) != 1)
m2 <- as.data.frame.matrix(m[, -re])
# Filter df by m2
df_final <- lapply(m2, function(col){
df %>% filter(fac %in% col)
})
df_final
# $V1
# fac
# 1 A
# 2 B
# 3 A
# 4 B
# 5 A
# 6 B
#
# $V2
# fac
# 1 B
# 2 C
# 3 B
# 4 C
# 5 B
# 6 C
我有点迷失在这里,想知道如何忽略那些整数(1,0,10) 我的代码适用于第一个样本,但不适用于另一个样本。
任何解决方案?
答案 0 :(得分:0)
你有两个选择(其中很多是我确定的)
看看这个: How to get int from stdio in C?
看看这个(并适应将每个字符串标记转换为int(使用类似strtol的东西): How does strtok() split the string into tokens in C?
答案 1 :(得分:0)
你只需要初始化“sum”变量。它只是完美无缺。
main() {
int num,sum = 0;//Initalize Here
char ch;
while(ch != 10) {
scanf("%d",&num);
ch = getchar();
if(num != 1 || 0 ) {
sum += num;
}
}
printf("%d",sum);
return 0;
}