数组字符串,企业笔试题

来源:互联网 发布:ucloud云计算 校园 编辑:程序博客网 时间:2024/04/28 03:43
1.输入整数,输出字符串
#include <stdio.h>
#include <string.h>
#include <math.h>


#define MAX_SIZE 10


int main()
{
    int i;
    int j;
    int len;


    int num = 0;
    
    char str[MAX_SIZE];


    printf("please input string:\n");


    gets(str);


    len = strlen(str);


    for(i = 0; i <= len - 1; i++)
    {
j = str[i] - '0';
num = num * 10 + j;
    }
    
    printf("number is :%d\n",num);


    return 0;
}


1.输入字符串 输出其中数字的个数
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    int len;


    int num = 0;


    char str[MAX_SIZE];
    
    printf("please input string:\n");
    gets(str);


    len = strlen(str);


    for(i = 0; i <= (len - 1); i++)
    {
if(str[i] >= '0' && str[i] <= '9')
{
   num++;
}
    }


    printf("number is :%d\n",num);


    return 0;
}


2.输入字符串,如12we23w,输出37
法一: 
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    int j;
    int len;


    int sum = 0;
    int num = 0;
    
    char str[MAX_SIZE];


    printf("please input string:\n");


    gets(str);


    len = strlen(str);


    for(i = 0; i < len; i++)
    {
        while(str[i] >= '0' && str[i] <= '9')
        {
            j = str[i] - '0';
            num = num * 10 + j;
            i++;
     }
        sum = sum + num;
     num = 0;
    }
    
    printf("number is :%d\n",sum);


    return 0;
}


法二:
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    int j;
    int k;
    int len;


    int sum = 0;
    int sum2 = 0;


    char str[MAX_SIZE];
    char str2[MAX_SIZE];
    
    printf("please input string:\n");
    gets(str);


    len = strlen(str);


    j = 0;


    for(i = 0; i <= (len - 1); i++)
    {
   if(str[i] >= '0' && str[i] <= '9')
     {
       sum = sum * 10 + (str[i] - '0');
   }
   else
   {
       sum2 = sum2 + sum;
       sum = 0;
   }
    }


    sum2 = sum2 + sum;


    printf("sum is :%d\n",sum2);


    return 0;



13.输出字符串中的最长数字子串
法一: 
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    int j;
    int len;


    int temp = 0;
    int max = 0;
    
    char str[MAX_SIZE];


    printf("please input string:\n");


    gets(str);


    len = strlen(str);


    for(i = 0; i < len; i++)
    {


   while(str[i] >= '0' && str[i] <= '9')
   {   
            temp++;
       i++;
   }
        if(temp >= max)
   {
       max = temp;
   }


   temp = 0;
    }
    
    printf("max size is :%d\n",max);


    return 0;
}


法二:
#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    int len;
    int size;


    int sum = 0;
    int temp = 0;
    int max = 0;


    char str[MAX_SIZE];
    
    printf("please input string:\n");
    gets(str);


    len = strlen(str);


    for(i = 0; i <= len; i++)
    {
   if(str[i] >= '0' && str[i] <= '9')
   {
       temp++;
       sum = sum * 10 + (str[i] - '0');
   }
   else
   {
       if(sum >= max)
       {
                max = sum;
       size = temp;
       }
       sum = 0;
       temp = 0;
        }
    }


    printf("max size is :%d\n",size);


    return 0;
0 0