数组与字符串的习题

WERTYU

  1. 常量数组:并不需要指明大小,编译器可以完成计算

回文词

  1. 使用常量数组
  2. 不会输入空格,可以安全的使用scanf
  3. isalpha, idigit, isprint...在ctype.h中定义,toupper, tolower等工具可以用来转换大小写。

猜数字游戏

  1. scanf("%d",&a[i]);

 生成元

  x+x的各个数字之和得到y,说明x是y的生成元,给出n(1,100000),求最小生成元。无解输出0;

  1. 只需要一次枚举100000内的所有正整数,标记"m+m的各个数字之和得到的数有一个生成元是m",最后查表
  2. 即找出这个数是哪个数的最小生成元。
  3. #include
    #include<string.h>
    #define maxn 1000005
    int ans[maxn];
    int main()
    {
        int T,n;
        memset(ans,0,siezeof(ans));
        for(int m=1;m)
        {
            int x=m,y=m;
            while(x>0)
            {
                y+=x%10;
                x/=10;
            }
            if(ans[y]==0||m<ans[y])    
                ans[y]=m;
        }    
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
            printf("%d\n",ans[n]);
        }
        return 0;
    }

     

环状序列

  1. Q: 长度为n(n<=100)的环状DNA串(只含A,C,G,T),任务:输出改环状串的最小表示。
  2. 字典序:字符串在字典中的顺序,对于两个字符串,
    1. 第一个位置开始比较,某个位置字符不同时,字符较小的串,字典序较小
    2. 较短的字符串的字典序小(hi
  3. #include
    #include<string.h>
    #define maxn 105
    
    //判断p是否比q的字典序小 
    int less(const char*s,int p,int q)
    {
        int n=strlen(s);
        for(int i=0;i)
        {
            if(s[(p+i)%n]!=s[(q+i)%n])            //如果遇到字符不同,就进行判断; 
            {                                    //注意,循环的可以用"...%n"来进行循环。 
                return (s[(p+i)%n//如果p
            }
         } 
         return 0;
    }
    
    int main()
    {
        int T;
        char s[maxn];
        scanf("%d",&T);
        while(T--)
        {
            scanf("%s",s);
            int ans=0;
            int n=strlen(s);
            for(int j=0;j)
            {
                if(less(s,j,ans))        //不断判断更新ans的值 
                    ans=j;
            }
            for(int i=0;i)
            {
                putchar(s[(i+ans)%n]);        //用putchar一个个输出字符 
            }
            putchar('\n');
        }
        return 0;
    }

     

  4.   注意有putchar(),和用"%n"来循环

转载于:https://www.cnblogs.com/xuwanwei/p/10727056.html

你可能感兴趣的:(数组与字符串的习题)