|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
|
|