马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
C语言 与 python的对比-2
目标
用户运行是命令行输入数字,返回和
预计效果
C语言./sum 123 456 789
sum = 1368
python$ python sum.py 123 456 789
sum = 1368
实现代码
C语言
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
int sum = 0; // 存储结果
for (int i = 1; i < argc; i++) {
int num = 0; // 存储整型加数
int w_len = strlen(argv[i]); // 数字长度
char word[w_len]; // 存储字符型加数
strcpy(word, argv[i]);
for (int j = 0; j < w_len; j++) {
short int a = word[j];
if (48 <= a && a <= 57) { // 检查输入是否为整数
num *= 10;
num += a - 48;
} else {
printf("输入有误\n");
return 1;
}
}
sum += num;
}
printf("sum = %d\n", sum);
return 0;
}
}
python
import sys#获取命令行参数
num = sys.argv[1:]#存储除程序名称外的参数
def int_num(list):#int()每一元素
for i in range(len(list)):
try:
list[i] = int(list[i])
except ValueError:
print("输入错误")
return list
print("sum = ",sum(int_num(num)))#相加并返回结果
感谢大家的支持!
PS:不想用atoi (C)
|