#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define OUT_FILE_NAME "output.txt"
#define INPUT_FILE_NAME "input.txt"
void ReadInput(int *len, int *type);
void WriteOutput(char *text);
void RemoveOutput();
void ProcType1(int len);
void ProcType2(int len);
void ProcType3(int len);
int main()
{
int len =0, type=0;
void (*ProcTypeFn[4])(int);
ProcTypeFn[1] = ProcType1;
ProcTypeFn[2] = ProcType2;
ProcTypeFn[3] = ProcType3;
RemoveOutput();
ReadInput(&len, &type);
if((type >= 1 && type <= 3) && (len > 0 && len <=100))
{
ProcTypeFn[type](len);
}
else
{
WriteOutput("INPUT ERROR!");
}
return 0;
}
void ProcType1(int len)
{
//*
//**
//***
//****
//*****
int i=0,j=0;
for(i=1;i<=len;i++)
{
for(j=0;j<i;j++)
{
WriteOutput("*");
}
WriteOutput("\n");
}
}
void ProcType2(int len)
{
//*****
//****
//***
//**
//*
int i=0,j=0;
for(i=len;i>0;i--)
{
for(j=0;j<i;j++)
{
WriteOutput("*");
}
WriteOutput("\n");
}
}
void ProcType3(int len)
{
// * //4
// *** //3
// ***** //2
// ******* //1
//*********
int i=0,j=0,k=0;
for(i=1;i<=len;i++)
{
for(j=len-i;j>0;j--)
{
WriteOutput(" ");
}
for(k=0;k<(i*2)-1;k++)
{
WriteOutput("*");
}
WriteOutput("\n");
}
}
void RemoveOutput()
{
unlink(OUT_FILE_NAME);
}
void WriteOutput(char *text)
{
FILE* fs;
char *res=0;
fs=fopen(OUT_FILE_NAME,"a");
if(fs)
{
while(*text != '\0')
{
fwrite(text, 1, 1, fs);
text++;
}
fclose(fs);
}
}
void ReadInput(int *len, int *type)
{
FILE* fs;
char data[100]={0};
char *res=0;
fs=fopen(INPUT_FILE_NAME,"r");
if(fs)
{
fread(data, sizeof(char),5,fs);
*len = atoi(strtok(data, " "));
*type = atoi(strtok(0, " "));
fclose(fs);
}
}
|