c语言中dna图案打印题,C语言打印DNA螺旋
寫在前面:這里是小王成長日志,一名在校大學(xué)生,想在學(xué)習(xí)之余將自己的學(xué)習(xí)筆記分享出來,記錄自己的成長軌跡,幫助可能需要的人。歡迎關(guān)注與留言。
題目:
題目 1115: DNA
時(shí)間限制: 1Sec 內(nèi)存限制: 128MB 提交: 6450 解決: 2262
題目描述
小強(qiáng)從小就喜歡生命科學(xué),他總是好奇花草鳥獸從哪里來的。終于, 小強(qiáng)上中學(xué)了,接觸到了神圣的名詞–DNA.它有一個(gè)雙螺旋的結(jié)構(gòu)。這讓一根筋的小強(qiáng)抓破頭皮,“要是能畫出來就好了” 小強(qiáng)喊道。現(xiàn)在就請你幫助他吧
輸入
輸入包含多組測試數(shù)據(jù)。第一個(gè)整數(shù)N(N<=15),N表示組數(shù),每組數(shù)據(jù)包含兩個(gè)整數(shù)a,b。a表示一個(gè)單位的DNA串的行數(shù),a為奇數(shù)且 3<=a<=39。b表示重復(fù)度(1<=b<=20)。
輸出
輸出DNA的形狀,每組輸出間有一空行。
樣例輸入
2
3 1
5 4
樣例輸出
C語言解法
注意到將團(tuán)第一行掐掉之后剩下的圖案是重復(fù)的,而一個(gè)DNA螺旋我們可以看成一個(gè)a*a的矩陣,或者aa的數(shù)組,在對角線上元素為X其余置位空格即可
本題我是先生成矩陣然后打印,其實(shí)也可以直接打印,稍微修改一下就可以了,但我這種我認(rèn)為更易于理解
#include
int main()
{
int n, a, b;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d %d", &a, &b);
char arr[a][a];
for (int j = 0; j < a; j++)
for (int k = 0; k < a; k++)
{
if (j == k || j + k == a - 1)
arr[j][k] = 'X';
else
arr[j][k] = ' ';
}
for (int j = 0; j < a; j++)
printf("%c", arr[0][j]);
printf("\n");
for (int i = 0; i < b; i++)
{
for (int j = 1; j < a; j++)
{
for (int k = 0; k < a; k++)
printf("%c", arr[j][k]);
printf("\n");
}
}
printf("\n");
}
}
都看到這里了,各位哥哥姐姐叔叔阿姨給小王點(diǎn)個(gè)贊 關(guān)個(gè)注 留個(gè)言吧,和小王一起成長吧,你們的關(guān)注是對我最大的支持。
有事沒事進(jìn)來看看吧 : 小王的博客目錄索引
C語言專欄看這 : C語言學(xué)習(xí)專欄
如果以上內(nèi)容有任何不準(zhǔn)確或遺漏之處,或者你有更好的意見,就在下面留個(gè)言讓我知道吧-我會(huì)盡我所能來回答。
標(biāo)簽:arr,DNA,int,打印,C語言,++,printf
來源: https://blog.csdn.net/weixin_45761327/article/details/106632721
總結(jié)
以上是生活随笔為你收集整理的c语言中dna图案打印题,C语言打印DNA螺旋的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑帽黑客历史盘点:这群人到底厉害到什么程
- 下一篇: 金软Word文本抽出