程序代码:
#include <stdio.h>
int main (void)
{
int a,b,c,d,i;
printf("please input a,b,c,d\n");
scanf("%d,%d,%d,%d",&a,&b,&c,&d); //原:scanf("%d,%d,%d,%d\n",&a,&b,&c,&d);
for (i=0;i<(a+b+c+d);i++)
{
if (i==a||i==b||i==c||i==d)
printf("%d ",i);
}
return 0;
}
以上代码经测试是可以的,虽然数值不大的情况下还可以,但建议再优化。如:
程序代码:
#include <stdio.h>
int main (void)
{
int a, b, c, d, i, t;
printf("please input a,b,c,d\n");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
//取最大值
if(a>b)
t = a;
else
t = b;
if(c>t)
t = c;
if(d>t)
t = d;
//开始输出 -_,-!! 话说真的很低效。。。但能想到这个方法,确实值得钦佩。
for (i=0; i<=t; i++)
{
if (i==a||i==b||i==c||i==d)
printf("%d ",i);
}
return 0;
}
[
本帖最后由 lixnkei 于 2010-2-25 21:18 编辑 ]