2024-11-06 02:48:36
还是不明白啊,给个答案吧,我搞了2个小时还是搞不明白,头都大了!
if(cin.get())!='\n')
a[i++] = cin.get();
这样就可以判断用户是否完成输入而且将每一个输入都存进了a[3]里了。
(这里有一个问题,如果用户输入了多于3那就越界了,你需要提示只能输入最多3个 **整数**)
判断有几个数的办法是
len = sizeof(a)/sizeof(int)
这样一来,你就可以
switch len:
case 1:
add(a[0]);
case 2:
add(a[0], a[1]);
case 3:
add(a[0],a[1],a[2])
或者用
if (n==1) {} elif (n==2) {} else() {}
都说到这个份上如果你还做不了,那你就再看看基础好了
2024-11-06 02:59:56
就是如果我输入1个数,程序只输出这个数的平方,然后程序退出;
如果输入2个数,程序只输出这两个数的积,然后程序退出;
如果输入3个数,程序只输出这三个数的和,然后退出。
2024-11-06 00:48:12
就是如果我输入1个数,程序只输出这个数的平方,然后程序退出;
如果输入2个数,程序只输出这两个数的积,然后程序退出;
如果输入3个数,程序只输出这三个数的和,然后退出。
那你的程序有问题。
int a,b,c;这三个数都定义了,不管你有没有输入,
add(a);
add(a, b);
add(a, b, c);
这三行都会被执行。
知道啊,不知道怎么才能实现单个的输出
通过cin的数量来控制这种方法不好。
你可以这样修改:
int main(int argc, char *argv[]) {
int a, b, c;
if (argc==2) {
a = atoi(argv[1]);
add(a);
} else if (argc==3) {
a = atoi(argv[1]);
b = atoi(argv[2]);
add(a,b);
} else if (argc==4) {
a = atoi(argv[1]);
b = atoi(argv[2]);
c = atoi(argv[3]);
add(a,b,c);
}
// cin >> a >> b >> c;
return 0;
}
编译后:
a.exe 1 2 3
a.exe 1
a.exe 1 2
这样执行。
运行之后直接退出。。。
system("pause");
你确定这样行?我加了system("pause");还是不行啊,没反应,直接来一句请按任意键继续。。。。
你是在集成环境里直接运行吧。
不知道你用的是什么,需要设置运行时参数。
或者你在dos窗口里执行。