`
hzy3774
  • 浏览: 985435 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

C语言字符数组基本操作

 
阅读更多
#include <stdio.h>
 
 /*
 *字符数组倒序
 */
 void daoxu(char str[]){
     int i;
     char temp;
     for(i = 0; i < strlen(str) / 2 ; i ++){
         temp = str[i];
         str[i] = str[strlen(str) - i-1];
         str[strlen(str) - i-1] = temp;
     }
 }
 
 /*
 *单词计数
 */
 int wordCount(char str[]){
     int i;
     int count = 0;
     int word = 0;
     for (i = 0 ; str[i] != '\0' ; i ++)
     {
         if (str[i] == ' ')
         {
             word = 0;
         }else if (word == 0)
         {
             word = 1;
             count ++;
         }
     }
     return count;
 }
 
 /*
 *字符大写转小写
 */
 void mylwr(char str[]){
     int i;
     for (i = 0 ; str[i] != '\0' ; i ++)
     {
         if (str[i] >= 'A' && str[i] <= 'Z')
         {
             str[i] += 'a' - 'A';
         }
     }
 }
 
 /*
 *字符小写转大写
 */
 void myupr(char str[]){
     int i;
     for (i = 0 ; str[i] != '\0' ; i ++)
     {
         if (str[i] >= 'a' && str[i] <= 'z')
         {
             str[i] -= 'a' - 'A';
         }
     }
 }
 
 /*
 *字符数组计算字符串长度
 */
 int mylen(char str[]){
     int len;
     for (len = 0 ; str[len] != '\0' ; len ++);
     return len;
 }
 
 /*
 *字符串连接
 */
 void mycat(char str1[],char str2[]){
     int i,j;
     for (i = 0 ; str1[i] != '\0' ;i++);
     for (j = 0 ; str2[j] != '\0' ; j ++)
     {
         str1[i + j] = str2[j];
     }
     str1[i + j] = '\0';
 }
 
 /*
 *指定长度串接
 */
 void myncat(char str1[],char str2[], int len){
     int i,j;
     for(i = 0; str1[i] != '\0'; i++);
     for (j = 0; j < len; j++)
     {
         str1[i + j] = str2[j];
     }
     str1[i + j] = '\0';
 }
 
 /*
 *字符数组拷贝    
 */
 void mycpy(char dst[],char src[]){
     int i = 0;
     do 
     {
         dst[i] = src[i];
     } while (src[i++] != '\0');
 }
 
 /*
 *字符数组指定长度拷贝    
 */
 void myncpy(char dst[],char src[], int len){
     int i;
     for (i = 0; i < len; i++)
     {
         dst[i] = src[i];
     }
     dst[i] = '\0';
 }
 
 /*
 *找出句子中最长的单词
 */
 void longest(char dst[],char src[]){
     int i = 0,j;
     int count =0;
     int max = -1;
     do 
     {
         if (src[i] ==' ' || src[i] == '\0')
         {
             if (count > max)
             {
                 max = count;
                 for (j = 0; j < count; j++)
                 {
                     dst[j] = src[i - count + j];
                 }
                 dst[j] = '\0';
             }
             count = 0;
         }else{
             count++;
         }
     } while (src[i++] != '\0');
 }
 

 

从字符串中提取整形数字

#include <stdio.h>

int getint(char str[], int a[]){//从字符串中提取数字并放在数组中
	int i = 0;
	int w = 0;
	int c = 0;
	int j, k;
	do 
	{
		if (str[i] > '0' && str[i] <= '9')
		{
			w++;
		}else if (w)
		{
			j = 0;
			for (k = w; k > 0; k--)
			{
				j *= 10;
				j += str[i - k] - '0';
			}
			w = 0;
			a[c] = j;
			c++;
		}
	} while (str[i++] != '\0');
	return c;
}

void main(){
	char str[100];
	int a[100];
	int i, j;
	gets(str);
	i = getint(str,a);
	for (j = 0; j < i; j++)
	{
		printf("%d ",a[j]);
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics