该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
char words[45],temp[45],spec[100];
int count,len,word,spe,extra;
void counts();
void justify();
int main(){
printf("Enter a line of text:");
gets(temp);//- read that reads in one line of text of not more than 45 characters (that is, reads until input is valid)
count=0;
len=strlen(temp);
counts();
justify();
printf("123456789012345678901234567890123456789012345\n");
printf("%s",words);
}
void counts(){//- count that counts and returns the number of gaps between words in one line of text
int i;
for(i=0;i
if(temp[i]==' '){
count++;
}
else {word++;
}
}
spe=(45-word)/count;
extra=(45-word)-(spe*count);
}
void justify(){//- justify that prints out character by character in justified form, one line of text (see sample output below)
int i,j,k;
j=0;
for(i=0;i
if(temp[i]!=' '){
words[j]=temp[i];
j++;
}else{
for(k=0;k
words[j]=' ';
j++;
}
if(extra>0){
words[j]=' ';
j++;
extra--;
}
}
}
}