C语言每个句子的每一个单词 倒置给出一个句子,把每一个字母倒置,但不改变单词的顺序.输入:这个题有多个CASE.第一行给出一个正整数N(N

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/24 14:46:30
C语言每个句子的每一个单词 倒置给出一个句子,把每一个字母倒置,但不改变单词的顺序.输入:这个题有多个CASE.第一行给出一个正整数N(N

C语言每个句子的每一个单词 倒置给出一个句子,把每一个字母倒置,但不改变单词的顺序.输入:这个题有多个CASE.第一行给出一个正整数N(N
C语言每个句子的每一个单词 倒置
给出一个句子,把每一个字母倒置,但不改变单词的顺序.
输入:
这个题有多个CASE.第一行给出一个正整数N(N

C语言每个句子的每一个单词 倒置给出一个句子,把每一个字母倒置,但不改变单词的顺序.输入:这个题有多个CASE.第一行给出一个正整数N(N
#include
#include
#define MAXBLOCKS 499 // 块数目上限
#define MAXSENSIZE 300 // 句子长度上限
#define INITSENSIZE 600 // 句子池初始容量
#define INCRESENSIZE 400 // 句子池渐增容量
/* 仓库 */
typedef struct
{
int count; // 块数目(count=nSize;
lpStorage->blocksize=(int *)malloc(sizeof(int) * nSize);
lpStorage->sentence=(char *)malloc(sizeof(char) * INITSENSIZE);
lpStorage->sentencesize=INITSENSIZE;
lpStorage->sentenceused=0;
if(!lpStorage->blocksize || !lpStorage->sentence)
{
DestroyStorage(lpStorage);
return 0;
}
else
{
return 1;
}
}
int DestroyStorage(STORAGE *lpStorage)
{
if(!lpStorage)
return 0;
lpStorage->count=0;
lpStorage->sentencesize=0;
lpStorage->sentenceused=0;
free(lpStorage->blocksize);
free(lpStorage->sentence);
lpStorage->blocksize=NULL;
lpStorage->sentence=NULL;
return 1;
}
int EnlargeStorage(STORAGE *lpStorage)
{
char *newptr;
if(!lpStorage)
return 0;
newptr=(char *)realloc(lpStorage->sentence,sizeof(char) \
* (lpStorage->sentencesize+INCRESENSIZE));
if(!newptr)
return 0;
lpStorage->sentence=newptr;
lpStorage->sentencesize +=INCRESENSIZE;
return 1;
}
int InputStorage(STORAGE *lpStorage)
{
int i,j;
char *start,*end;
if(!lpStorage)
return 0;
for(i=0;icount;++i)
{
scanf(" %d",lpStorage->blocksize+i);
if(lpStorage->blocksize[i]sentencesize-lpStorage->sentenceused) < (MAXSENSIZE+2))
{
if(!EnlargeStorage(lpStorage))
return 0;
}
start=fgets(lpStorage->sentence+lpStorage->sentenceused,MAXSENSIZE,stdin);
if(!start)
return 0;
for(end=start;*end;++end)
{
if(*end=='\n')
{
lpStorage->sentenceused +=end-start+1;
*end='\0';
ReverseString(start);
}
}
}
}
return 1;
}
int ReverseString(char *str)
{
char c;
char *start,*end;
if(!str)
return 0;
do
{
start=str;
while(*start==' ' || !*start)
{
if(!*start)
return 1;
++start;
}
end=start;
while(*end!=' ' && *end)
{
++end;
}
str=end;
--end;
while(startsentence;
for(i=0;icount;++i)
{
puts("");
for(j=0;jblocksize[i];++j)
{
puts(str);
while(*str++)
;
}
}
return 1;
}
int StartWork(void)
{
int count;
STORAGE stStorage;
scanf(" %d",&count);
if(countMAXBLOCKS)
return 0;
if(!InitStorage(&stStorage,count))
return 0;
if(!InputStorage(&stStorage))
return 0;
if(!ShowStorage(&stStorage))
return 0;
if(!DestroyStorage(&stStorage))
return 0;
return 1;
}

C语言每个句子的每一个单词 倒置给出一个句子,把每一个字母倒置,但不改变单词的顺序.输入:这个题有多个CASE.第一行给出一个正整数N(N C语言求助:输入一个英文句子,将每个单词的第一个字母改成大写字母. C语言:输入一个英文句子,要求将每个单词的第一个字母删除.求大神帮助编程 (C语言编程)输入一个英文句子,将每个英文单词的头字母变为大写,单词之间用空格隔开 爱问C语言——矩阵倒置.实现一个4*3矩阵的转置. 英文句子倒叙:(C语言实现)请按要求实现!输入一个句子,占用一行.句子由单词和单词间的空格组成.单词只有小写字母.单词之间由空格隔开.单词之间不会有多个空格.每个句子至多有1000个 famliy每个字母都有含义,分别是father,mother,i,love,you组成了一句句子.还有什么这样的单词.写一个单词,每一个字母代表一个单词,单词要组成句子. C语言 :编写 一个程序使一个2行3列的矩阵倒置成3行俩列的矩阵.就是矩阵的倒置、 谢谢拉 . 编程实现:输入一个英文句子,将句子中每个单词的首字母大写后输出.要c语言的,输入“this is a test program”输出“This Is A Test Program”. 输入一个英文句子,将句子中每个单词的首字母大写后输出.例如输入 this is a test program输出 This Is A Test Program用C语言 每一个单词造一个句子 各位大神帮帮忙 谢谢 C语言,英语短文统计统计一篇英语短文中,分别以各英文字母开头的单词数,包含单词最多的句子中的单词数.假定单词之间有任意多个空白符,标点.每个单词仅由英文字母组成.注意:第一个要 c语言统计单词个数给一个句子,统计这个句子中有多少个单词.单词仅包含大写字母和小写字母,单词之间用空白符或标点符号隔开.Input有多组数据,每个句子占一行,句子长度不超过1000个字符, C语言输入一个整数如12345然后首位倒置为54321填空题 用这些词语组成一个句子:女儿 母亲 每一个 爱 都 非常 她的语言要通顺! 用C语言编辑,输入一个英文句子,删除句子的前导空格和后导空格,并使单词之间只有一个空格. 用C语言编辑,输入一个英文句子,删除句子的前导空格和后导空格,并使单词之间只有一个空格. 求把M,S,J ,编成一个关于爱情的英语句子(每一个字母代表一个单词)!