1. 程式人生 > >藍橋杯C語言基礎練習 FJ的字串(遞迴)

藍橋杯C語言基礎練習 FJ的字串(遞迴)

題目描述
FJ在沙盤上寫了這樣一些字串: 
A1  =  “A” 
A2  =  “ABA” 
A3  =  “ABACABA” 
A4  =  “ABACABADABACABA” 
…  … 

你能找出其中的規律並寫所有的數列AN嗎?
輸入
僅有一個數:N  ≤  26。
輸出
請輸出相應的字串AN,以一個換行符結束。輸出中不得含有多餘的空格或換行、回車符。 
樣例輸入

樣例輸出
ABACABA
程式碼
#include<stdio.h>
#include<string.h>

char s[ 10000 ];

int printStr(int N,int m)
{
     if(m == N )
     {
         puts(s);
         return 0;
     }
     char ss[ 10000 ];
     for( int i = 0 ; i < strlen(s) ; i ++)
     {
         ss[ i ] = s[ i ];
     }
     s[ strlen(s) ] = 'A' + m;
     strcat(s,ss);
     printStr(N,m + 1);
}

 int main()
{
     int N;
     scanf("%d",&N);
     printStr(N,0);
     return 0;
} 


相關推薦

藍橋C語言基礎練習 FJ字串

題目描述FJ在沙盤上寫了這樣一些字串: A1  =  “A” A2  =  “ABA” A3  =  “ABACABA” A4  =  “ABACABADABACABA” …  … 你能找出其中的規律並寫所有的數列AN嗎?輸入僅有一個數:N  ≤  26。輸出請輸出相應的字串

藍橋-演算法訓練 未名湖邊的煩惱

 演算法訓練 未名湖邊的煩惱   時間限制:1.0s   記憶體限制:256.0MB      問題描述   每年冬天,北大

[Java] 藍橋 BASIC-2 基礎練習 01字串

問題描述對於長度為5位的一個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是:0000000001000100001100100請按從小到大的順序輸出這32種01串。 輸入格式本試題沒有

C語言基礎之巨集定義附程式碼

C語言基礎之巨集定義 巨集定義:是C語言提供的三種預處理功能的其中一種,這三種預處理包括:巨集定義、檔案包含、條件編譯。巨集定義和操作符的區別是:巨集定義是替換,不做計算,也不做表示式求解。#define預處理指令可以用來定義巨集。 巨集定義的形式,分為帶引

第七屆藍橋省賽試題1 煤球數目

import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner input=new Scanner(System.in); int n=100; long sum=0;

C語言-求數字階乘函式

/* * C語言 求數字的階乘 */ #include <stdio.h> #include <stdlib.h> long jiecheng(int n); void main() { int n=0; pri

學校OJ題解 12.20 整數轉字串

就扯扯今天的F題吧,其他的感覺都不是很麻煩,正常些就完了,這題自我感覺比較麻煩,如果大神們有什麼好的解法請教我! 問題 F: 整數轉字串(遞迴) 題目描述 寫遞迴函式void itostr(int num,char str[]),函式功能是將一個整數num轉換為字串str,如整數

藍橋C語言基礎練習 數列排序

問題描述  給定一個長度為n的數列,將這個數列按從小到大的順序排列。1<=n<=200輸入格式  第一行為一個整數n。  第二行包含n個整數,為待排序的數,每個整數的絕對值小於10000。輸出格式  輸出一行,按從小到大的順序輸出排序後的數列。樣例輸入58 3 6

[Java] 藍橋BASIC-15 基礎練習 字串對比

問題描述給定兩個僅由大寫字母或小寫字母組成的字串(長度介於1到10之間),它們之間的關係是以下4中情況之一:1:兩個字串長度不等。比如 Beijing 和 Hebei2:兩個字串不僅長度相等,而且相應位

加法變乘法——第六屆藍橋C語言B組省賽第六題

clu 自己 nbsp 加法 藍橋杯 重新 () std spa 原創 加法變乘法 我們都知道:1+2+3+ ... + 49 = 1225現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015 比如:1+2+3+...+10*11+12+...+27*28+29+

三羊獻瑞——第六屆藍橋C語言B組省賽第三題

lan font oid 漢字 print ack size IV cnblogs 原創 三羊獻瑞 觀察下面的加法算式: 祥 瑞 生 輝 + 三 羊 獻 瑞 ------------------- 三 羊 生 瑞 氣 (如果有對齊問題,可以參看【圖1.jp

藍橋BASIC-11 基礎練習 十六進位制轉十進位制

問題描述   從鍵盤輸入一個不超過8位的正的十六進位制數字符串,將它轉換為正的十進位制數後輸出。   注:十六進位制數中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。 樣例輸入 FFFF 樣例輸出 65535 思路:補了一下進位制轉換的知識,這篇部落格很詳細:開

藍橋BASIC-10 基礎練習 十進位制轉十六進位制

問題描述   十六進位制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16個符號,分別表示十進位制數的0至15。十六進位制的計數方法是滿16進1,所以十進位制數16在十六進位制中是10,而十進位制的17在十六進位制中是11,

藍橋BASIC- 29基礎練習 高精度加法

問題描述   輸入兩個整數a和b,輸出這兩個整數的和。a和b都不超過100位。 演算法描述   由於a和b都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使用陣列來處理。   定義一個數組A,A[0]用於儲存a的個位,A[1]用於儲存a的十位,依此類推。同樣可以用

藍橋BASIC- 30 基礎練習 階乘計算

問題描述   輸入一個正整數n,輸出n!的值。   其中n!=1*2*3*…*n。 演算法描述   n!可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。   將a乘以一個整數k變為將

C語言 基礎練習40

一、題目 1.輸入2個整數,求兩數的平方和並輸出。      2. 輸入一個圓半徑(r)當r>=0時,計算並輸出圓的面積和周長,否則,輸出提示資訊。   3、函式y=f(x)可表示為:   4、編寫一個程式,從4個整數中找出最小的數,並

C語言 基礎練習40題

一、題目 1.輸入2個整數,求兩數的平方和並輸出。 輸入一個圓半徑(r)當r>=0時,計算並輸出圓的面積和周長,否則,輸出提示資訊。 3、函式y=f(x)可表示為: 4、編寫一個程式,從4個整數中找出最小的數,並顯示此數。 5.有一函式當x<0時

第十屆藍橋C語言校選難題

題目:填入0~9的數字。 要求:連續的兩個數字不能相鄰(左右、上下、對角都算相鄰)一共有多少種可能的填數方案?                          

[Java] 藍橋 BASIC-4 基礎練習 數列特徵

問題描述給出n個數,找出這n個數的最大值,最小值,和。 輸入格式第一行為整數n,表示數的個數。 第二行有n個數,為給定的n個數,每個數的絕對值都小於10000。 輸出格式輸出三行,每行一個整數。第

[Java] 藍橋 BASIC-7 基礎練習 特殊的數字

問題描述  153是一個非常特殊的數,它等於它的每位數字的立方和,即153=1*1*1+5*5*5+3*3*3。程式設計求所有滿足這種條件的三位十進位制數。輸出格式  按從小到大的順序輸出滿足條件的三位