經典程序邏輯思維訓練題(不限語言)


1、輸入三個整數x,y,z,請把這三個數由小到大輸出。

程序分析:我們想辦法把最小的數放到x上,先將xy進行比較,如果x>y則將xy的值進行交換,然后再用xz進行比較,如果x>z則將xz的值進行交換,這樣能使x最小。

2、計算1000以內所有能同時被35整除的數之和。

3、編一個程序,輸入x的值,按下列公式計算並輸出y值;

 

4、已知數AB,由鍵盤輸入AB的值,交換它們的值,並輸出。

5、給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。

6:利用條件運算完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。

7、輸入年和月,則輸出此年此月的天數,如大月有31天,小月有30天,而閏年的2月有29天,平年則只有28天。(必須使用switch結構實現,年份如果能被4整除但不能被100整除;或者能被400整除為閏年)

8、求100個隨機數之和,隨機數要求為0—9的整數。

9、編一個程序,輸入三個雙精度數,輸出其中最小數。

10、編一個程序,求出所有各位數字的立方和等於10993位整數。

11、要求在屏幕上分別顯求1100之間奇數之和與偶數之和。

12、輸入10個數,並顯示最大的數與最小的數。

13、菲波那契數列:011235813...。第一項為0,第二項為1,往后第N項為第(N-2)項+第(N-1)項之和,如第三項為:0+1=1,第四項為:1+1=2...

輸入一個正整數N求出前N項數列。

N=5,顯示:0 1 1 2 3 N=10,顯示:0 1 1 2 3 5 8 13 21 34

14、求水仙花數。所謂水仙花數,是指一個三位數abc,如果滿足a^3+b^3+c^3=abc,則abc是水仙花數,在屏幕上顯示該數。程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。

15、輸入一整數A,判斷它是否為素數。

提示:素數又稱質數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。若從2A的平方根的范圍內,沒有一個數能整除A,A是素數。

16、題目:有一分數序列:2/13/25/38/513/821/13...求出這個數列的前20項之和。

程序分析:請抓住分子與分母的變化規律。

17、求出所有的5位數的回文數,顯示在屏幕上。即12321是回文數,個位與萬位相同,十位與千位相同。

18、編一個程序, s=1!+2!+3!+…..+n!, (n由輸入決定, 多重循環)

19、百錢買百雞(多重循環)

一只公雞值5元,一只母雞值3元,3只小雞值1元,現用一百元要買一百只雞,問有哪些方案?

21、鈔票換硬幣(多重循環)

把一元鈔票換成一分、二分、五分硬幣(每種至少一枚),有哪些換法?

22、輸出9*9乘法口訣表。(多重循環)

程序分析:分行與列考慮,共99列,i控制行,j控制列。

23、打印出如下圖案:

*

***

*****

*******

*********

24編寫一個C#程序,任意接收一個整數,分解它的質因數,輸出如:90=2*3*3*5的格式。

25、使用循環和“*”號輸出一個實心菱形圖案

26使用循環和“*”號輸出一個空心菱形圖案,盡量將循環的個數減少到最少。

27、輸出如下的圖形:

A

BCB

CCDCC

DDDEDDD

EEEEFEEEE

FFFFFGFFFFF

28、輸出如下楊輝三角:

1

1  1

1  2   1

1  3   3   1

1  4   6   4   1

1  5   10  10  5   1

 

#include "stdio.h"
#define N 7
void main()
{
    int a[N][N],i,j;
    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++)
        {
            if(j==0||i==j){
                a[i][j]=1;
            }
        }
    }
    for(i=2;i<N;i++)
    {
        for(j=1;j<i;j++)
        {
            a[i][j]=a[i-1][j]+a[i-1][j-1];
        }
    }
    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
}

 

29、編寫一個跟機器進行猜拳的游戲,用1表示石頭,2表示剪刀,3表示布,機器出拳則靠隨機產生的數來定,最終輸出你是贏、輸還是平手。

30、有這樣一段路程:珠海à廣州à南昌à上海à北京à黑龍江,兩站之間的汽車票價分別是55、180、285、195、300,現要求編寫程序,輸入起始和終點站,求出兩站之間的總票價。

31、編寫程序,輸入一個年月日,求出這一天是這一年中的第幾天,要求輸入錯誤的月份和日期值時,重新輸入至正確為止。

32、已知有一個10個元素的整型數組,存放了2、9、15、23、34、49這幾個升序排列的數。現要求接收整數插入到數組中,並繼續保持升序排列的狀態,直到數組已滿才結束插入整數。

33、有A、B、C、D四個盒子,盒子里面一開始分別放置的珠子數分別是8、5、3、2顆,第一個小朋友從最多珠子的盒子中取走三顆,分別放入到另外的三個盒子中;后面的小朋友也是如此操作。當第1999個小朋友都如此操作完后,四個盒子中分別有多少個珠子?

34、接收一個字符串,統計出字符串中出現的字母、數字、空格和其它字符的個數。

35、一次酒店宴席安排賓客就坐吃飯,5人一桌剩4人,7人一桌剩6人,9人一桌剩8人,11人一桌剛好,編程實現求宴席中賓客最少是多少人?

36、籠子里一共有雞和兔子35只,它們共有96條腿,問雞和兔子分別有多少只?

37、有一個分數序列:2/1、3/2、5/3、8/5、13/8、21/13、…,求出這個序列的前20項之和。

38、已知有100個房間,每個房間有一盞燈,一開始燈是滅的。拉一下,燈亮,再拉一下燈滅。假設有100個人排隊去拉燈,第1個人拉所有能被1整除的房間的燈,第2個人拉所有能被2整除的房間的燈,依次類推。問最后哪些房間的燈是亮的?

39、請查閱課外資料,理解冒泡排序算法原理,實現對數組int[] arr={2,1,5,3,4}的降序排序並輸出結果。

40、用邏輯重新實現String類的IndexOf()方法。方法原型:static int FindIndexOf(string str1,string str2),要求實現:如果str1包含str2,則返回第一次出現位置的下標;如果不包含,則返回-1。最后測試該方法。

41、利用方法的遞歸求一個數的階乘結果。提示:一個方法它的內部直接或間接調用方法本身,則該方法稱為遞歸方法,可以先查閱遞歸的相關資料

42、某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然后用和除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換。編寫一個加密的程序,接收一個四位的整數,計算出加密后的結果。

 

43、求13109698525的和。

#include "stdio.h"#define N 7void main(){    int a[N][N],i,j;    for(i=0;i<N;i++)    {    for(j=0;j<=i;j++)    {    if(j==0||i==j){    a[i][j]=1;    }    }    }    for(i=2;i<N;i++)    {    for(j=1;j<i;j++)    {    a[i][j]=a[i-1][j]+a[i-1][j-1];    }    }    for(i=0;i<N;i++)    {    for(j=0;j<=i;j++)    {    printf("%d ",a[i][j]);    }    printf("\n");    }}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM