linuxc吧 关注:46贴子:175
  • 2回复贴,共1

/*
* 7.Integer_Plus_Plus_Add.c
* Copyright (C) 2013 Holyzer
* 2013/06/30 20:52
*/ #include <stdio.h>
#include <stdlib.h> //atoi Function
#include <string.h> #define ADD_NUM "\033[31m" //Front Ground Color = Green
#define SUM "\033[32m" //Front Ground Color = Red
#define DEFAULT "\033[0m" //Default To TTY
#define ALL_SUM_ERROR "\033[36m" //Front Ground Color = Very Green void Print_Style(unsigned int,char,short);
int R_Expression(unsigned int); /*
* Function All_Sum:
* int All_Sum(int);
*
* Return:All Add Sum
* Arg int:Static Int = Arg + Int
*/ int main(int argc,char * argv[])
{
unsigned long Num_0,Num_1;
unsigned long Sum,All_Sum; if(argc == 2) //?if Args = 2 Then 1 ~ Arg2
{
Print_Style(75,'*',1); if(atoi(argv[1]) % 2 != 0) //If argv[1] % 2 != 0
{
printf(" %9s %9s %9s %9s\n","Start Num","End Num","Sum","Total"); for(Num_0 = 1,
Num_1 = 2;
Num_0 <= atoi(argv[1]);
Num_0 = Num_0 + 2,
Num_1 = Num_1 + 2)
{
if(Num_0 != atoi(argv[1]))
{
Sum = Num_0 + Num_1;
All_Sum = R_Expression(Sum); //static Var += Sum printf(DEFAULT"| "
ADD_NUM"%9ld"
DEFAULT" X "
ADD_NUM"%9ld"
DEFAULT" = "
SUM"%9ld"
DEFAULT" | %9ld\n",
Num_0,
Num_1,
Sum,
All_Sum);
} else
{
Print_Style(strlen("Surplus Num:") + strlen(argv[1]) + 4 + 2,'*',1);
// Num Max + Num Max + *[]* + Space printf( "*"
ALL_SUM_ERROR" Surplus Num:["
ADD_NUM"%ld"
ALL_SUM_ERROR"] "
DEFAULT"*"
DEFAULT"\n",
Num_0); Print_Style(strlen("Surplus Num:") + strlen(argv[1]) + 4 + 2,'*',1); printf("\a%9ld + %9ld = %9ld\n",
All_Sum,
Num_0,
All_Sum + Num_0);
}
}
} else if(atoi(argv[1]) == 1)
{
puts("Error\n");
} else
{ } Print_Style(75,'*',1);
} else if(argc == 3)
{
Print_Style(30,'*',1); if(argv)
for(Num_0 = 1,
Num_1 = 2;
Num_1 <= atoi(argv[1]); //?if Num_1 <= Atoi(argv[1]) Return
Num_0 = Num_0 + 2,
Num_1 = Num_1 + 2)
{
Sum = Num_0 + Num_1;
printf("%2d + %d = %d\n",
Num_0,
Num_1,
Sum);
} Print_Style(30,'*',1);
} else
{
puts(ALL_SUM_ERROR"Integer_Plus_Plus_Add:Lack Args..."DEFAULT); //Error Message
return -1; //Error[Return -1]
} return 0;
}
void Print_Style(unsigned int Number,char Style,short Boolean)
{
int x; for(x = 0;x < Number;x ++)
{
putchar(Style);
} if(Boolean) //if Boolean == True[!= 0]
{
puts("");
}
} int R_Expression(unsigned int Num)
{
static int T_Sum = 0; T_Sum += Num; //T_Sum = T_Sum + Num; return T_Sum;
}
Linux下的Gcc运行结果:
***************************************************************************
Start Num End Num Sum Total
*******************
*[36m Surplus Num:[[31m1[36m] [0m*[0m
*******************
12193780 + 1 = 12193781
***************************************************************************
请问,为什么会这样呢?


IP属地:广东1楼2013-07-03 12:28回复
    额。。看起来很腻害的样子。。
    -----低调奢华V880,喂自己袋盐╭(╯ε╰)╮


    IP属地:安徽来自Android客户端2楼2014-01-21 13:32
    回复
      表示无能为力
      -----低调奢华V880,喂自己袋盐╭(╯ε╰)╮


      IP属地:安徽来自Android客户端3楼2014-01-21 13:33
      回复