c语言基础实验报告6,c语言程序设计实验报告6.doc

该博客主要介绍了两个C语言程序。第一个程序实现字符串的反序存储,通过定义一个反序函数并遍历字符串实现字符交换。第二个程序查找一行字符中最长的单词,通过判断字母出现与否确定单词边界,输出最长单词。涉及字符处理、字符串长度计算和条件判断等基本技巧。
摘要由CSDN通过智能技术生成

第五题:

解题思路:要将输入的字符串按反序存放,只需要定义一个反序函数,它为空类型。要注意对函数进行声明,在主函数中定义一个字符型的一维字符数组,调用反序函数,将字符串的字符按倒序输出。

流程图:

程序代码:

#include

#include

int main()

{

void FAN(char str[]);

char str[50];

gets(str);

FAN(str);

puts(str);

return 0;

}

void FAN(char str[])

{

int i,j,t;

char m;

t=strlen(str);

for(i=0,j=t-1;i

{

m=str[i];

str[i]=str[j];

str[j]=m;

}

}

程序运行结果:

第十题:

解题思路:输出一行字符中最长的单词,首先要确定当前的字符是否为字母,还要确定最长单词的起始位置,然后将当前单词已累积的字母个数与先前单词中最长的单词的长度进行比较,从而找出最长的单词,并输出。

流程图:、

Len=0 length=0 flag=0 place=0

For( i=0;i<=字符串长度;i++)

返回place

程序代码:

#include

#include

int main()

{

int alphabetic(char);

int longest(char []);

int i;

char line[100];

printf("input one line:\n");

gets(line);

printf("The longest word is :");

for (i=longest(line);alphabetic(line[i]);i++)

printf("%c",line[i]);

printf("\n");

return 0;

}

int alphabetic(char c)

{

if ((c>='a' && c<='z')||(c>='A'&&c<='z'))

return(1);

else

return(0);

}

int longest(char string[])

{

int len=0,i,length=0,flag=1,place=0,point;

for (i=0;i<=strlen(string);i++)

if (alphabetic(string[i]))

if (flag)

{

point=i; flag=0;

} else

len++;

else

{

flag=1;

if (len>=length)

{

length=len;

place=point;

len=0;

}

}

return(place);

}

程序运行结果:

声明FAN函数

定义一维数组str[50]

输出字符串

调用FAN函数

输出FAN函数

定义FAN(char str[]) int i,j,t char m t=strlen(str)

char m

for(i=0,j=t-1;i

m=str[i]

str[i]=str[j]

str[j]=m

T

第i个字符是否为字母

F

Flag=0

Flag=1

Len>=length

F

T

F

T

Point=1

Flog=0

Len++

Length=len

Place=point

Len=0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值