C语言--------------字符串小程序练习(一)
来源:互联网 发布:星际皆知我爱你百度云 编辑:程序博客网 时间:2024/05/18 18:46
1、判断输入的字符串是否为“回文”(顺读和倒读都一样)字符串
#include <stdio.h>#include <string.h>#define N 100int palindrome(char *s, int n){char *head, *tail;head = s;tail = s + n -1;int i;for(i = 0; i < n / 2; head++, tail--, i++){if(*head != *tail)return 0;}return 1;}int main(void){char str[N];printf("input a string:");scanf("%s", str);if(palindrome(str, strlen(str)))printf("is palindrome\n");elseprintf("is not palindrome\n");return 0;}
2、 从键盘接收一个字符串,然后按照字符顺序从小到大进行排序并删除重复字符。 如从键盘输入的内容为“agehiagehp”,执行完程序之后变为:“aeghip”
#include <stdio.h>#include <string.h>#define N 100char *sort_del(char *p, int len){char tmp;int i, j;for(i = 0; i < len; i++){for(j = i+1; j < len; j++){if(p[i] > p[j]){tmp = p[i];p[i] = p[j];p[j] = tmp;}}}j = 0;for(i = 0; i < len; i++){if(p[i] != p[i + 1])p[j++] = p[i];}p[j] = '\0';return p;}int main(void){char str[N];int i;printf("please input a string:");scanf("%s", str);sort_del(str, strlen(str));printf("%s\n", str);return 0;}
3、编写程序计算一个英文句子中最长单词的长度(字母个数(max)假设该英文句子中只含有字母和空格,在空格之间连续的字母串称为单词。
#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 100int word_num(char *s){int cnt = 0;while(*s){if((*s != ' ') && ((*(s + 1) == ' ') || (*(s + 1) == '\0')))cnt++;s++;}return cnt;}int word_len(char *s){int a[N];int max = 0, i = 0;int j = 0;while(*s){if(*s != ' ')a[i] = ++j;else {a[++i] = 0;j = 0;}s++;}for(i = 0; i < 5; i++)if(a[i] > max)max = a[i];return max;}int main(void){char str[N];printf("please input words:\n");fgets(str, N, stdin);printf("%d\n", word_num(str));printf("%d\n", word_len(str));return 0;}
4、给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符后移,处理后新字符串的首地址作为函数值返回。例如,s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543
#include <stdio.h>#include <string.h>#define N 100char *fun(char *s, int len){char b[N];int i;int j = 0, k = 0;char *p = s;for(i = 0; i < len; i++, p++){if((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z'))s[j++] = *p;elseb[k++] = *p;}s[j] = '\0';b[k] = '\0';strcat(s, b);return s;}int main(void){char str[N];printf("input a string:");scanf("%s", str);puts(fun(str, strlen(str)));return 0;}
- C语言--------------字符串小程序练习(一)
- C语言----------字符串小程序练习(二)
- c语言小程序练习
- c语言程序练习一
- c语言小程序实例(一)
- C语言整数转字符串(itoa()函数)小练习
- 通讯录小程序(C/C++)C语言练习小程序
- C语言----------------指针小程序练习(二)
- C语言-------------指针小程序的练习
- [C语言基础]一些C语言小程序(一)
- C语言小练习
- c语言小练习
- c语言小练习
- C语言字符串练习
- 字符串C语言练习
- C语言18个经典小程序(一)
- C语言小程序------------数组实现栈功能(一)
- C语言小程序(一)、判断三角型类型
- 开归档的数据库,使用append 插入是否该表可以不写日志?
- 2013年微软智在未来暑期实习生招聘部分考题
- 项目四
- 疑问
- activity启动之应用侧分析
- C语言--------------字符串小程序练习(一)
- 讲明白你要做什么
- Java图形化界面设计——容器(JFrame)
- 用标准C++实现信号与槽机制
- kmp算法
- MySQL查询超时问题的解决
- rh333 - kinit(v5): Password incorrect while getting initial credentials
- ural 1013 K-based Numbers. Version 3
- SSH 获取或添加request,session,application属性