日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

第十一周编程作业

發(fā)布時(shí)間:2025/7/14 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第十一周编程作业 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這個(gè)作業(yè)屬于哪個(gè)課程C語(yǔ)言程序設(shè)計(jì)II
這個(gè)作業(yè)要求在哪里https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/3201
我在該課程的目標(biāo)是熟悉經(jīng)典數(shù)論
這個(gè)作業(yè)在那個(gè)具體方面幫助我實(shí)現(xiàn)目標(biāo)遞歸函數(shù)及數(shù)論
參考文獻(xiàn)C語(yǔ)言程序設(shè)計(jì)(第3版)

7-1 漢諾塔問(wèn)題* (10 分)

漢諾塔是一個(gè)源于印度古老傳說(shuō)的益智玩具。據(jù)說(shuō)大梵天創(chuàng)造世界的時(shí)候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤,大梵天命令僧侶把圓盤移到另一根柱子上,并且規(guī)定:在小圓盤上不能放大圓盤,每次只能移動(dòng)一個(gè)圓盤。當(dāng)所有圓盤都移到另一根柱子上時(shí),世界就會(huì)毀滅。

請(qǐng)編寫程序,輸入漢諾塔圓片的數(shù)量,輸出移動(dòng)漢諾塔的步驟。

輸入格式

圓盤數(shù) 起始柱 目的柱 過(guò)度柱

輸出格式

移動(dòng)漢諾塔的步驟 每行顯示一步操作,具體格式為: 盤片號(hào): 起始柱 -> 目的柱 其中盤片號(hào)從 1 開(kāi)始由小到大順序編號(hào)。

輸入樣例

3 a c b

輸出樣例

1: a -> c 2: a -> b 1: c -> b 3: a -> c 1: b -> a 2: b -> c 1: a -> c

實(shí)驗(yàn)代碼

#include<stdio.h> void hano(int n,char x,char y,char z); int main () {int n;char x,y,z;scanf("%d\n",&n);scanf("%c %c %c ",&x,&y,&z);hano(n,x,y,z); } void hano(int n,char x,char y,char z) {if(n==1){printf("%d: %c -> %c\n",n,x,y);}else{hano(n-1,x,z,y);printf("%d: %c -> %c\n",n,x,y);hano(n-1,z,y,x);} }

設(shè)計(jì)思路

運(yùn)行截圖

7-2 估值一億的AI核心代碼 (20 分)


以上圖片來(lái)自新浪微博。

本題要求你實(shí)現(xiàn)一個(gè)稍微更值錢一點(diǎn)的 AI 英文問(wèn)答程序,規(guī)則是:

無(wú)論用戶說(shuō)什么,首先把對(duì)方說(shuō)的話在一行中原樣打印出來(lái);
消除原文中多余空格:把相鄰單詞間的多個(gè)空格換成 1 個(gè)空格,把行首尾的空格全部刪掉,把標(biāo)點(diǎn)符號(hào)前面的空格刪掉;
把原文中所有大寫英文字母變成小寫,除了 I;
把原文中所有獨(dú)立的 can you、could you 對(duì)應(yīng)地?fù)Q成 I can、I could—— 這里“獨(dú)立”是指被空格或標(biāo)點(diǎn)符號(hào)分隔開(kāi)的單詞;
把原文中所有獨(dú)立的 I 和 me 換成 you;
把原文中所有的問(wèn)號(hào) ? 換成驚嘆號(hào) !;
在一行中輸出替換后的句子作為 AI 的回答。

輸入格式:

輸入首先在第一行給出不超過(guò) 10 的正整數(shù) N,隨后 N 行,每行給出一句不超過(guò) 1000 個(gè)字符的、以回車結(jié)尾的用戶的對(duì)話,對(duì)話為非空字符串,僅包括字母、數(shù)字、空格、可見(jiàn)的半角標(biāo)點(diǎn)符號(hào)。

輸出格式:

按題面要求輸出,每個(gè) AI 的回答前要加上 AI: 和一個(gè)空格。

輸入樣例:

6 Hello ?Good to chat with you can you speak Chinese? Really? Could you show me 5 What Is this prime? I,don 't know

輸出樣例:

Hello ? AI: hello!Good to chat with you AI: good to chat with you can you speak Chinese? AI: I can speak chinese! Really? AI: really! Could you show me 5 AI: I could show you 5 What Is this prime? I,don 't know AI: what Is this prime! you,don't know

參考代碼https://blog.csdn.net/qq_41117236/article/details/88947843

7-3 ***八皇后問(wèn)題 (20 分)
在國(guó)際象棋中,皇后是最厲害的棋子,可以橫走、直走,還可以斜走。棋手馬克斯·貝瑟爾 1848 年提出著名的八皇后問(wèn)題:即在 8 × 8 的棋盤上擺放八個(gè)皇后,使其不能互相攻擊 —— 即任意兩個(gè)皇后都不能處于同一行、同一列或同一條斜線上。

現(xiàn)在我們把棋盤擴(kuò)展到 n × n 的棋盤上擺放 n 個(gè)皇后,請(qǐng)問(wèn)該怎么擺?請(qǐng)編寫程序,輸入正整數(shù) n,輸出全部擺法(棋盤格子空白處顯示句點(diǎn)“.”,皇后處顯示字母“Q”,每?jī)筛裰g空一格)。

輸入格式

正整數(shù) n (0 < n ≤ 12)

輸出格式

若問(wèn)題有解,則輸出全部擺法(兩種擺法之間空一行),否則輸出 None。

要求:試探的順序逐行從左往右的順序進(jìn)行,請(qǐng)參看輸出樣例2。

輸入樣例1

3

輸出樣例1

None

輸入樣例2

6

輸出樣例2

. Q . . . . . . . Q . . . . . . . Q Q . . . . . . . Q . . . . . . . Q .. . Q . . . . . . . . Q . Q . . . . . . . . Q . Q . . . . . . . . Q . .. . . Q . . Q . . . . . . . . . Q . . Q . . . . . . . . . Q . . Q . . .. . . . Q . . . Q . . . Q . . . . . . . . . . Q . . . Q . . . Q . . . .

參考鏈接
https://blog.csdn.net/unhappypeople/article/details/17374937

數(shù)組指針
顧名思義數(shù)組指針就是指向數(shù)組地址的指針
···

include <stdio.h>

int main()
{
int a[5] = {1,2,3,4,5};
int p = (int)(&a + 1);

printf("%d, %d\n", *(a + 1), *(p -1));

}
···

指針數(shù)組
數(shù)組元素全為指針的數(shù)組稱為指針數(shù)組

#include "stdio.h"typedef ? float(A)[10]; ? ? ? ? //定義一個(gè)字符型含有十個(gè)元素的數(shù)組類型Aint main(){float ? fArray[10]; ? ? ? ? ? ? ? ?//定義fArray數(shù)組A* ?pf=&fArray; ? ? ? ? ? ? ? ? ?//pf數(shù)組指針指向fArray整個(gè)數(shù)組的地址入口int ? i=0;for(i=0;i<10;i++) ? ? //將遍歷數(shù)組指針,依次賦值{(*pf)[i]=i; ? ? ??}for(i=0;i<10;i++){printf("%f\n",fArray[i]); ? ? ? ?//通過(guò)fArray數(shù)組輸出上一步遍歷由指針數(shù)組遍歷的值}}

指針函數(shù)
指針函數(shù)是指帶指針的函數(shù)

float *fun(); float *p; p = fun( ) ··· 函數(shù)指針 函數(shù)指針可以像一般函數(shù)一樣,用于調(diào)用函數(shù)、傳遞參數(shù)。在如 C 這樣的語(yǔ)言中,通過(guò)提供一個(gè)簡(jiǎn)單的選取、執(zhí)行函數(shù)的方法,函數(shù)指針可以簡(jiǎn)化代碼。函數(shù)指針只能指向具有特定特征的函數(shù)。因而所有被同一指針運(yùn)用的函數(shù)必須具有相同的參數(shù)和返回類型。

include <stdio.h>

void fun1(void)
{
printf("Im fun1\n"); } void fun2(void) { printf("Im fun2\n");
}
void fun3(void)
{
printf("Im fun3\n"); } void fun4(void) { printf("Im fun4\n");
}
void fun5(void)
{
printf("I`m fun5\n");
}
void (*s[5])(void) = {fun1,fun2,fun3,fun4,fun5};

int main()
{
int i;
void (isr)(void) = NULL;//定義一個(gè)函數(shù)指針
for(i=0;i<5;i++)
{
isr = s[i];
(isr)();
}
return 0;
}

單向鏈表 單向鏈表(單鏈表)是鏈表的一種,其特點(diǎn)是鏈表的鏈接方向是單向的,對(duì)鏈表的訪問(wèn)要通過(guò)順序讀取從頭部開(kāi)始。 通過(guò)指針連接起來(lái),但是只能單向遍歷的內(nèi)存塊。由于它是單向的,或者說(shuō)不可逆的,

include <stdio.h>

int main(int argc, const char * argv[])
{

int a = 5;
int *p1 = &a;

printf("&a = %p\n", &a);
printf("p1 = %p\n", p1);

int **p2 = &p1;

printf("&p1 = %p\n", &p1);
printf("p2 = %p\n", p2);

printf("a = %d\n", a); // = 5;
printf("p1 = %d\n", p1); // = 5;
printf("p2 = %d\n", p2); // = 5;

printf("\n");
return 0;
}
```

學(xué)習(xí)進(jìn)度條

日期花的時(shí)間代碼行數(shù)問(wèn)題
3.10-3.166小時(shí)120還是不會(huì)找最大數(shù)組
3.16-3.227小時(shí)150冒號(hào)排序法還是不太會(huì)
3.23-3.296小時(shí)90運(yùn)用指針不熟練
3.30-4.058小時(shí)160預(yù)習(xí)題思路比較混亂
4.06-4.128小時(shí)190運(yùn)用指針不夠熟練
4.13-4.1912小時(shí)170定義結(jié)構(gòu)變量不熟系
4.20-4.269小時(shí)240遞歸函數(shù)不太會(huì)用
4.27-5.33小時(shí)0
5.04-5.108小時(shí)200遞歸函數(shù)不熟練

折線圖

轉(zhuǎn)載于:https://www.cnblogs.com/dahuige666/p/10846500.html

總結(jié)

以上是生活随笔為你收集整理的第十一周编程作业的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。