gpt4 book ai didi

c - 如何忽略 C 中的某些整数输入

转载 作者:行者123 更新时间:2023-11-30 20:32:06 24 4
gpt4 key购买 nike

我是解决编程问题的新手,这是我想解决的来自 onlinejudge 的一些问题,

问题是这样的:

您需要对所有输入求和

示例输入1:

1 -184

示例输出1:

-184

示例输入2:

10 439 298 -935 72 636 774 -509 -568 228 47

示例输出2:

482

这是我的代码:

main() {
int num,sum;
char ch;

while(ch != 10) {
scanf("%d",&num);
ch = getchar();

if(num != 1 || 0 ) {
sum += num;
}
}
printf("%d",sum);
return 0;
}

我在这里有点迷失,想知道如何忽略这些整数(1,0,10)我的代码适用于第一个示例,但不适用于另一个示例。

有什么解决办法吗?

最佳答案

你有两个选择(我确信还有很多其他选择)

  • 从输入中读取单个数字(用户输入数字,然后按 Enter/Return);将字符串转换为数字,如果数字是 1、10 或 0,则跳过它并读取下一个数字。
  • 读取字符串中的所有数字,并使用 strtok 将输入拆分为不同的数字,并将字符串转换为数字,如果数字为 1、10 或 0,则跳过它并读取下一个数字。

看看这个: How to get int from stdio in C?

看看这个(并适应将每个字符串标记转换为 int (使用类似 strtol 的东西): How does strtok() split the string into tokens in C?

关于c - 如何忽略 C 中的某些整数输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48461232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com