文档详情

C语言经典编程题.docx

发布:2017-05-24约1.04万字共16页下载文档
文本预览下载声明
C语言经典编程题题目01:在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。[cpp]?view plain?copy?print?int?main()??{??????//?用数组定义一个字符串??????char?array[50]?=?zha??junju??zhamengjun?z?mengjun;????????????char?*str?=?array;??????//?定义指针变量str,指向数组array??????int?len?=?0;????????????//?定义变量len,用于计数??????int?max?=?0;????????????//?定义变量max,存放最长单词的长度??????char?*p?=?0;????????????//?定义指针变量p,指向最长单词的首字符????????????//?判断指针当前指向的字符是不是\0??????while(*str?!=?\0)??????{??????????if(*str?!=??)?????//?判断字符是不是空格??????????{??????????????len++;??????????//?计数加1????????????????????????????//?判断最大长度跟len长度的大小??????????????if(max??len){??????????????????max?=?len;????//?如果max小于len,将len赋值给max??????????????????p?=?str?-?len?+?1;????//?将单词的首字符的地址赋值给指针变量p??????????????}????????????????????????????str++;???????//?让指针str指向下一个字符??????????}??????????else??????????{??????????????len?=?0;?????//?如果当前的字符为空格,将len初始化为0,重新计数??????????????str++;???????//让指针str指向下一个字符??????????}??????}????????????//?给最大单词后面添加一个字符串结束标记\0??????*(p?+?max)?=?\0;????????printf(最长的单词是%s\n,?p);????//?在屏幕上输出最长的单词??????return?0;??}??心得体会:(1)首先定义一个记录单词长度的变量len和存放最长单词的长度的整形变量max,并初始化max为0;(2)通过while循环,遍历整个字符串,当遍历到的字符非空格时,变量len依次加1,若len的长度大于max,就将len赋值给max,同时用指针变量p记录单词的首字符地址。并且每判断依次,让指针指向下一个字符。(3)当遍历到的字符是空格时就将len的长度赋值为0,重新计数,并且让指针str指向下一个字符。(4)通过给最大单词后面一个字符赋值为‘\0’,以便输出最长单词。题目02:编写一个int string_len(char *s),返回字符串s的字符长度(不包括\0)。[cpp]?view plain?copy?print?int?string_len(char?*s);????//?声明函数string_len(char?*s)????int?main()??{??????char?*str?=?zhamengjun哈哈;????//?利用指针定义一个字符串????????????//?定义一个变量length,存储函数string_len返回的字符串的字符长度??????int?length?=?string_len(str);????????????//?在屏幕上输出打印字符串的字符长度??????printf(字符串%s的长度为%d\n,?str,?length);??????return?0;??}????int?string_len(char?*s)?????//?定义函数string_len(char?*s)??{??????int?count?=?0;??????????//?记录字符的个数?????????????//?判断指针当前指向的字符是不是\0,??????while(*s?!=?\0)??????{??????????count++;????????????//?字符个数增加1??????????s++;????????????????//?让指针s指向下一个字符??????}????????????return?count;???????????????//?返回字符串的字符长度??}??心得体会:(
显示全部
相似文档