c语言藏头诗怎样输出一首诗每行的第一个汉字?

c语言藏头诗怎样输出一首诗每行的第一个汉字?,第1张

这是一个二维数组,所以输出每行的第1个汉字

#include<stdio.h>

char * change(char s[][20],char t[])

int main(void)

{

char s[4][20],t[20],*p=NULL

int i

printf("Input the poem:\n")

for(i=0i<4i++)

scanf("%s",s[i])

p=change(s,t)

printf("%s\n",p)

return 0

}

char * change(char s[][20],char t[])

{

int j=0

for(j=0j<4j++)

{

t[2*j]=s[j][0]

t[2*j+1]=s[j][1]

}

t[2*j]='\0'

return t

}

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

参考资料来源:百度百科-c语言

修改如下:

/*

输入:

一叶轻舟向东流

帆梢轻握杨柳手

风纤碧波微起舞

顺水任从雅客悠

输出:

一帆风顺

*/

#include <stdio.h>

#include <stdlib.h>

#include<string.h>

int main(void){

int i,j=0

char poem[4][20],output[9]

printf("请输入藏头诗:\n")

for(i = 0i <4i++){

scanf("%s",poem[i])

}

for(i = 0i <4i++){

output[j++] = poem[i][0]

output[j++] = poem[i][1]

}

output[j]='\0'

printf("%s\n",output)

return 0

}

PS:欢迎加QQ群交流:168630655

结尾缺少结束符

#include <stdio.h>

#include <stdlib.h>

char * change(char *s[ ], int n)

int main(void)

int i,n

char poem[8][20], *p[8]

scanf("%d",&n)

for(i = 0 i < n i++){

scanf("%s",poem[i])

p[i] = poem[i]

}

printf("%s\n", change(p, n))//这里用p

return 0

}

char * change(char *s[ ], int n)

{

int i

char *t = (char *)malloc(9 * sizeof(char))

for(i = 0 i < n i++)

t[ i ] = s[i][0]

t[i] = '\0'//增加结束符。 

return t

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12142144.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存