Ⅰ 藍橋杯省賽(c語言)一般考什麼

藍橋杯練習系統題目匯總:
入門訓練
1. Fibonacci數列
問題描述
Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。
當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的余數是多少。
輸入格式
輸入包含一個整數n。
輸出格式
輸出一行,包含一個整數,表示Fn除以10007的余數。
說明:在本題中,答案是要求Fn除以10007的余數,因此我們只要能算出這個余數即可,而不需要先計算出Fn的准確值,再將計算的結果除以10007取余數,直接計算余數往往比先算出原數再取余簡單。
樣例輸入
10
樣例輸出
55
樣例輸入
22
樣例輸出
7704
數據規模與約定
1 <= n <= 1,000,000。
參考代碼:c++
#include <stdlib.h>
#include <stdio.h>
#define MOD 10007
#define MAXN 1000001
int n, i, F[MAXN];
int main()
{
scanf("%d", &n);
F[1] = 1;
F[2] = 1;
for (i = 3; i <= n; ++i)
F[i] = (F[i-1] + F[i-2]) % MOD;
printf("%d\n", F[n]);
return 0;
}
java
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in) ;
int num = scanner.nextInt() ;
int[] a = new int[num+2] ;
a[1] = a[2] = 1;
if (num == 1) {
a[num] = 1 ;
}else if (num == 2) {
a[num] = 1 ;
}else {
for (int i = 3; i <= num; i++) {
a[i] = (a[i - 1] + a[i - 2]) % 10007 ;
}
}
System.out.println(a[num]);
}
}

2. 實數輸出
問題描述
給定圓的半徑r,求圓的面積。
輸入格式
輸入包含一個整數r,表示圓的半徑。
輸出格式
輸出一行,包含一個實數,四捨五入保留小數點後7位,表示圓的面積。
說明:在本題中,輸入是一個整數,但是輸出是一個實數。
對於實數輸出的問題,請一定看清楚實數輸出的要求,比如本題中要求保留小數點後7位,則你的程序必須嚴格的輸出7位小數,輸出過多或者過少的小數位數都是不行的,都會被認為錯誤。
實數輸出的問題如果沒有特別說明,舍入都是按四捨五入進行。
樣例輸入
4
樣例輸出
50.2654825
數據規模與約定
1 <= r <= 10000。
提示
本題對精度要求較高,請注意π的值應該取較精確的值。你可以使用常量來表示π,比如PI=3.14159265358979323,也可以使用數學公式來求π,比如PI=atan(1.0)*4。
c++
#include <stdio.h>
#include <math.h>
int main()
{
int r;
double s, PI;
scanf("%d", &r);
PI = atan(1.0) * 4;
s = PI * r * r;
printf("%.7lf", s);
return 0;
}
java:
import java.util.Scanner;
public class Main{
private static final double PI = 3.14159265358979323;
public static void main(String[] args) {
int r = new Scanner(System.in).nextInt();
if(1 <= r && r <= 10000) {
double circular = PI*r*r;
String result = String.format("%.7f", circular);
System.out.println(result);
}
}
}

3. 求和公式
問題描述
求1+2+3+...+n的值。
輸入格式
輸入包括一個整數n。
輸出格式
輸出一行,包括一個整數,表示1+2+3+...+n的值。
樣例輸入
4
樣例輸出
10
樣例輸入
100
說明:有一些試題會給出多組樣例輸入輸出以幫助你更好的做題。
一般在提交之前所有這些樣例都需要測試通過才行,但這不代表這幾組樣例數據都正確了你的程序就是完全正確的,潛在的錯誤可能仍然導致你的得分較低。
樣例輸出
5050
數據規模與約定
1 <= n <= 1,000,000,000。
說明:請注意這里的數據規模。
本題直接的想法是直接使用一個循環來累加,然而,當數據規模很大時,這種「暴力」的方法往往會導致超時。此時你需要想想其他方法。你可以試一試,如果使用1000000000作為你的程序的輸入,你的程序是不是能在規定的上面規定的時限內運行出來。
本題另一個要值得注意的地方是答案的大小不在你的語言默認的整型(int)范圍內,如果使用整型來保存結果,會導致結果錯誤。
如果你使用C++或C語言而且准備使用printf輸出結果,則你的格式字元串應該寫成%I64d以輸出long long類型的整數。
c++:

#include <iostream>
using namespace std;
int main()
{
long long n;
cin >> n;
cout << (1+n) * n / 2;
return 0;
}
c:
#include <stdio.h>
int main()
{
int n;
long long ret = 0, tmp;
scanf("%d", &n);
tmp = n;
printf("%I64d", (1+tmp) * tmp / 2);
return 0;
}
java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String args[]) throws NumberFormatException, IOException{
BufferedReader strin = new BufferedReader(new InputStreamReader(System.in));
long i = Integer.parseInt(strin.readLine());
long sum = (1+i)*i/2;
System.out.println(sum);
}
}

4. A+B問題
問題描述
輸入A、B,輸出A+B。
說明:在「問題描述」這部分,會給出試題的意思,以及所要求的目標。
輸入格式
輸入的第一行包括兩個整數,由空格分隔,分別表示A、B。
說明:「輸入格式」是描述在測試你的程序時,所給的輸入一定滿足的格式。
做題時你應該假設所給的輸入是一定滿足輸入格式的要求的,所以你不需要對輸入的格式進行檢查。多餘的格式檢查可能會適得其反,使用你的程序錯誤。
在測試的時候,系統會自動將輸入數據輸入到你的程序中,你不能給任何提示。比如,你在輸入的時候提示「請輸入A、B」之類的話是不需要的,這些多餘的輸出會使得你的程序被判定為錯誤。
輸出格式
輸出一行,包括一個整數,表示A+B的值。
說明:「輸出格式」是要求你的程序在輸出結果的時候必須滿足的格式。
在輸出時,你的程序必須滿足這個格式的要求,不能少任何內容,也不能多任何內容。如果你的內容和輸出格式要求的不一樣,你的程序會被判斷為錯誤,包括你輸出了提示信息、中間調試信息、計時或者統計的信息等。
樣例輸入
12 45
說明:「樣例輸入」給出了一組滿足「輸入格式」要求的輸入的例子。
這里給出的輸入只是可能用來測試你的程序的一個輸入,在測試的時候,還會有更多的輸入用來測試你的程序。
樣例輸出
57
說明:「樣例輸出」給出了一組滿足「輸出格式」要求的輸出的例子。
樣例輸出中的結果是和樣例輸入中的是對應的,因此,你可以使用樣例的輸入輸出簡單的檢查你的程序。
要特別指出的是,能夠通過樣例輸入輸出的程序並不一定是正確的程序,在測試的時候,會用很多組數據進行測試,而不局限於

Ⅱ 藍橋杯 你有藍橋杯歷年的試題嗎最好有參考答案啊。 高職高專組C語言的 有的話麻煩你發給我 萬分感謝

我有真題。但是老師沒給答案

軟體類)真題.rar" wealth="0" />

Ⅲ 本人普通大學生一個,今年報了個藍橋杯的c語言B組的比賽,請問有參加過或比較了解的給說說怎麼准備嗎

指導老師說的知識點得會
並在機器上能夠編譯通過
比如最基本的
冒泡排序法之類的
譚浩強的書
還有那個C語言第二版……

Ⅳ 藍橋杯C語言題目

#include<stdio.h>
int main(){
char code[]={'Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'};
char num[10];
int sgln=0,sang,yu,len=0;
sang=2019/26;
yu=2019%26;
num[len]=code[yu];
len++;
while(sang!=0){
if(sang!=0&&yu==0)
yu=(sang-1)%26;
else
yu=sang%26;
sang=sang/26;
num[len]=code[yu];
len++;
}
len--;
for(;len>=0;len--){
printf("%c",num[len]);
}
}

Ⅳ 藍橋杯練習題c語言

(1)檢查 最大值 和 最小值 的時候, 循環終止條件應該是「 i < n ; 」,你上面的代碼沒有對比到最後一內個元容素啊!
(2)估計是沒有對輸入的值進行判斷,是否合法,所以扣分了吧。比如 數組的個數 應該是 大於0 的整數吧。 然後, 要求 數組里的數的絕對值都小於10000,也應該需要 判斷一下吧。

如有幫助,煩請點點贊,謝謝!

Ⅵ 跪求歷屆藍橋杯決賽c語言B組真題哦!要是有解答更謝了!

祝賀樓主,可以網路到的。

Ⅶ 藍橋杯本科b組c++題目結構是什麼 是全是程序題嗎還有又有程序題又有填空題

C本科組估計就是用C/C++來實現了,這個我覺得最好對C/C++支持要好,估計最好用GCC編譯。至於編輯器應該都可以,c-free dev C++ UE等都可以吧。

Ⅷ 求2013藍橋杯C語言本科組B的第七題錯誤票據的程序答案

樓上的網友說的很簡單,實際上因為每一行不確定到底要放多少個數,很難計算。

我是一個字元一個字元輸入的,如果是數字就儲存,如果遇到\0就進行atoi(),如果遇到\n就結束
最後用判斷\n是否與輸入相等。

思路很簡單,實現很復雜。。
考試的時候這道題我也沒做出來。。
現在運行成功。
#include<stdio.h>
#include<stdlib.h>
const int N=10000;
int mysort(const void *a,const void*b)
{

return *(int*)a-*(int*)b;
}
int main()
{
int count=0;
int n,i=0,j=0,k=0;
int a[N];
char ch[7];
scanf("%d\n",&n);
for(count=0;count<n;)
{
scanf("%c",&ch[j]);
if(ch[j]<='9'&&ch[j]>='0')
j++;
else if(ch[j]==' ')
{
a[k++]=atoi(ch);
j=0;
}
else if(ch[j]=='\n')
{
count++;
a[k++]=atoi(ch);
j=0;
}
}
k--;
qsort(a,k,sizeof(int),mysort);
i=a[0];
for(j=1;j<k;j++)
{

if(a[j]==i||a[j]==i+2)
printf("%d",a[j]);
i=a[j];
}
return 0;
}

Ⅸ 今年剛參加藍橋杯,發現分了本科A組和本科B組,我想知道這兩組題目的難度有什麼不同

第一、樓下說的不對。本一也是可以選擇保A的,比如我們學校就是,我們老師給我們內報的是B。A組的題目容基本上有4道左右和B組一樣,其他比B組難點。
第二、這不是歧視,是為了給更多人機會,如果都報A的話,基本上晉級的都是重點學校了。