
这是一个二维数组,所以输出每行的第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
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)