![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 62
xuzhilong2009
这个作者很懒,什么都没留下…
展开
-
找出长字符串中有几个短字符串
//找出长串中有几个短串#include#include/**************方法1******************/int fun(char *s1,char *s2){ char *s,*t; int count=0; while(*s1 != '\0') { s=s1;t=s2;//一定要设置中间变量 while(*t && *s=原创 2013-03-25 13:07:33 · 688 阅读 · 0 评论 -
字符串循环移位(重复输入 两级)
/*Attention:下面两句话极其关键。因为fun()函数执行完毕以后,是以(q+回车)退出fun函数 而scanf()遇到不符合它的(q+回车),会将这个字符串留在内存中 如果不加下面的两句话,那么①循环中的gets会直接读取(q+回车)这个字符串,直接又再次跳入fun函数 加上下面的两行代码,则清空了内存中存在的字符串(包含回车),这样①循环才能继续正常读取输入字符串*/ while(getchar() != '\n') continue;原创 2013-08-15 23:54:13 · 807 阅读 · 0 评论 -
【排序总结--冒泡、选择、交换】
头文件:#include#define N 10void maopao(int a[],int n);void exchange(int a[],int n);void choose(int a[],int n);主函数:#include"sort_header.h"int main(void){ int i; int a[N] = {3,2,4,5,6,1,0,9,原创 2013-08-28 00:33:30 · 499 阅读 · 1 评论 -
【排序总结--插入、快速】
很好的一个博客:http://www.cnblogs.com/morewindows/archive/2011/08/13/2137415.html通俗易懂,参考。插入排序:#include"sort_header.h"void insert(int a[],int n){ int i; int j; for(i=1;i<n;i++) { j=i; for(原创 2013-08-28 22:00:53 · 433 阅读 · 0 评论 -
把输入的字符串中,每个单词的首字母变成大写(单词用空格隔开)
#include"header.h"void fun(char *str){ int i=0; int flag=0;//这样设置flag 首字母不用单独判断 while(str[i]) { if(str[i] == ' ') flag=0; else if(flag == 0) { flag = 1; //千万不要忘记设置回来 if(str[i]>='a原创 2013-08-19 01:02:44 · 6902 阅读 · 1 评论 -
找出字符串中,指定的相同子串的数量
统计字符串中子串的个数,多个函数实现, 函数调用函数例如: 如"abcab"中 含有2个"ab"header.h#include#include#includevoid child(char []);void fun(char *str);main_fun.c#include"header.h"int main(void){ char str[80]; puts原创 2013-08-18 03:06:57 · 1055 阅读 · 0 评论 -
atoi函数的编写
//a2i--> array to integer#includeint fun( char *p);int main(void){ char str1[10]; char str2[10]; puts("请输入两个数字字符串:"); while(scanf("%s%s",str1,str2) == 2) { printf("两个数字字符串相加的结果为:\n");原创 2013-09-03 00:36:43 · 592 阅读 · 0 评论 -
删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。
我的这个思路可能比较复杂,最终还是实现了这个程序思路:1、找出长串中的子串,并以空格替代2、删除空格删除abc以前的字符串为:fabcs34lsabc09abc231*dajlabc替代abc以后的字符串为:f s34ls 09 231*dajl删除abc以后的字符串为:fs34ls09231*dajl子串及其个数:abc_4原创 2013-09-12 21:50:40 · 1304 阅读 · 1 评论 -
【华为机试题】1
/*1. 逆序• 问题描述:将一个字符串中的大写字母顺序颠倒过来,并输出。字符串的长度不超过100个字符。• 要求实现函数:void StringReverse(char* input, char* output)【输入】input:输入的字符串【输出】output:输出转换好的逆序字符串【返回】无• 举例:输入input=“I am A stUdent”,输出output原创 2013-09-13 23:30:16 · 623 阅读 · 0 评论 -
倒置一个字符串里面的单词
面试宝典上的一道题。题目:倒置一个字符串里面的单词例子:I am from wuhan. -------> wuhan. from am I思路:先倒置整个字符串,然后倒置每个单词。//倒置一个字符串中的单词#include#include#define BUF 100void StringReverse(char* input);int mai原创 2013-09-14 01:17:52 · 739 阅读 · 0 评论 -
华为2014年机试题1
//华为2014年机试题1:输入1--50个数字,求出最小数和最大数的和//输入以逗号隔开#include#define N 50void sort(int a[],int n);int main(void){ char str[100]; int a[N]={0}; gets(str); //要点1:动态的输入1--50个整数,不能确定原创 2013-09-17 00:54:55 · 2198 阅读 · 3 评论 -
找出一个字符串中最长的数字串输出
编译环境:Code::Blocks 10.05/*实现一个函数的完整代码。 int maxContinuNum(const char*inputstr.char*outputstr) 功能: 在以‘\0’结尾的字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。不能用strlen之类的库函数。*/#includ原创 2013-09-20 16:57:04 · 649 阅读 · 0 评论 -
二进制转化成十进制
//正数 二进制到十进制转换#include#includeint factorial(int m,int n);int sum(char* str);int main(void){ char str[100]; puts("Enter a string contains 0 1"); while(gets(str)!=NULL && str[0]!='\0原创 2013-09-22 13:35:25 · 588 阅读 · 0 评论 -
回文/回文数的判断
/****************************************************************目的:判断一个字符串是不是回文(此程序也能判断回文数)算法思想:字符串首尾字符相等****************************************************************/#include#includei原创 2013-08-14 23:27:47 · 493 阅读 · 0 评论 -
两级输入 任意进制转换程序
//一个有两级输入的程序//第一层输入待转化的十进制数,第二层输入转化的进制数//第二层可以任意重复输入//可以返回第一层 重新输入待转化的十进制数#includevoid fun( int x ,int y);int main(void){ int num; int jinzhi; puts("请输入一个十进制数:"); while(scanf("%ld",&num)原创 2013-08-14 01:04:01 · 559 阅读 · 0 评论 -
将字符串a复制到b,并且每隔3个字符添加一个空格
//将字符串a复制到b,并且每隔3个字符添加一个空格#includevoid fun_cp(char *a, char *b){ int i=0,j=0; while(a[i] != '\0') { b[j]=a[i]; i++;j++; if(i%3 == 0) { b[j]=' '; j++; } } b[j]='\原创 2013-03-25 13:22:44 · 2087 阅读 · 0 评论 -
将字符串转换成整数 atoi
//将字符串转换成整数 atoi#includeint a2i(char *s){ int i=0; int sign; int result=0; if(s[i] == '-') {sign=-1;i++;} else if(s[i] == '+') {sign=1;i++;} else //没符号的时候 sign=1; while(s[i原创 2013-03-25 14:00:45 · 480 阅读 · 0 评论 -
统计字符串中各个字符的个数
#includevoid fun(char *s){ int h[256] = {0}; while(*s) { h[*s++]++; } for( int i=0;i { if(h[i]) { printf("%c的个数%d ",i,h[i]); } }}int main(void){ char s[80];原创 2013-07-09 21:59:46 · 657 阅读 · 0 评论 -
统计一个输入的字符串中各个字符的个数 以及总字符个数
//统计一个输入的字符串中各个字符的个数 以及总字符个数#includeint main(void){ char str[80]; char h[256]={0}; int i=0; int countChar=0; int countWord=0; int flag=0; int temp=0; puts("Enter a string:"); gets(str);原创 2013-07-31 22:57:17 · 3438 阅读 · 0 评论 -
统计文件里的单词个数(有问题,待处理)
#include //单词数统计了 字数怎么统计呢?#include#define BUF 80int main(void){ FILE *fp; FILE *fp1; char line[BUF]; int flag=0; int countWord = 0; if((fp =fopen("D:\\xuzhilong.txt","r+")) == NULL) {原创 2013-08-01 23:31:44 · 625 阅读 · 0 评论 -
统计文本文件中的单词个数(改进版)
熟悉多文件操作【file_head.h】#include#include#includeint readData(char filename[]);void writeData(int n);【file_main.h】#include"file_head.h"int main(void){ char name[40]; int word_num; puts("En原创 2013-08-04 16:32:14 · 756 阅读 · 0 评论 -
字符串的逆序
#include"header.h"void fun(char *str){ int i = 0; int j = strlen(str)-1; while(i<j) { str[i]^=str[j]^=str[i]^=str[j]; i++; j--; }}原创 2013-08-20 00:22:10 · 449 阅读 · 0 评论 -
问答小程序
//问答小程序//比较字符串,并且大小写不敏感#include#include#includevoid tolower(char *p);int main(void){ char pre_answer[20]; char answer[20]; puts("The standard password"); gets(pre_answer); system("cls");原创 2013-08-21 00:06:11 · 647 阅读 · 0 评论 -
统计文本文件中的汉字个数和单词个数
#include#includeint main(void){ FILE* fp; int ch; //要为int型的 汉字才统计的出来 int flag = 0; int w_count = 0; int z_count = 0; if((fp = fopen("D:\\abc.txt","r+")) == NULL) {原创 2013-08-11 15:17:56 · 967 阅读 · 0 评论 -
删除字符串中的数字和空格
//删除字符串中的数字和空格#includevoid fun(char *s);int main(void){ char str[80]; puts("请输入一个字符串(包含数字空格):"); while(gets(str)!= NULL && str[0]!='\0') { puts(str); fun(str); printf("删除数字和空格以后的字符串:\n%原创 2013-08-11 16:36:58 · 1146 阅读 · 0 评论 -
十进制转二进制
//十进制转换成二进制#includevoid fun( int x );int main(void){ int num; puts("请输入一个十进制数:"); while(scanf("%ld",&num) == 1) { puts("转化为二进制为:"); fun(num); puts("\n请输入一个十进制数:(q to quit)"); } puts(原创 2013-08-12 23:33:45 · 639 阅读 · 0 评论 -
找出字符串中最长的子串
找出字符串中最长的子串:②外循环for(i = 0;i<strlen(p);i++) ,为什么这里不写for(i = 0;str[i]!='\0';i++)呢?答:内循环判断最后一个子串的时候,i一直要自加到i=len,即p[len]='\0' 的时候,才退出内循环。然后进入外循环,此时要先执行i++,再执行判断条件。也就是说,str[i]此时的值是str[len+1],而这个值我们无法确定,它可能是内存中的任何值。如果这里的判断条件是str[i]!='\0',那么程序还会再次执行内循环,产原创 2013-08-25 16:45:20 · 1886 阅读 · 0 评论 -
Find the maximal product of string prefixes
Task descriptionA prefix of a string S is any leading contiguous part of S. For example, "c" and "cod" are prefixes of the string "codility". For simplicity, we require prefixes to be non-empt原创 2013-11-21 22:24:10 · 1052 阅读 · 0 评论