pta输出三角形字符阵列c语言,C语言l|博客园作业11
這個(gè)作業(yè)屬于哪個(gè)課程
C語(yǔ)言程序設(shè)計(jì)II
這個(gè)作業(yè)要求在哪里
鏈接
我在這個(gè)課程的目標(biāo)是
掌握C語(yǔ)言以及熟練運(yùn)用
這個(gè)作業(yè)在哪個(gè)具體方面幫助我實(shí)現(xiàn)目標(biāo)
詢問(wèn)同學(xué),百度,vs2019上的報(bào)錯(cuò)
參考文獻(xiàn)
鏈接
1.1 題目名
6-1 統(tǒng)計(jì)某類(lèi)完全平方數(shù)
本題要求實(shí)現(xiàn)一個(gè)函數(shù),判斷任一給定整數(shù)N是否滿足條件:它是完全平方數(shù),又至少有兩位數(shù)字相同,如144、676等。
1.1.1數(shù)據(jù)處理
整型變量:int IsTheNumber(const int N)
{
int m,n,i,j;
n=N;
m=(int)sqrt(N);//將平方數(shù)開(kāi)方
if (m*m==n)//判斷是否是平方數(shù)
{
int f[10]={0};//取0-9的數(shù)作為位數(shù),用數(shù)組作為表頭
while (n>0)
{
j=n%10;//取個(gè)位數(shù)
for (i=0;i<=9;i++)
{
if (j==i)
{
f[i]++;//如果取的個(gè)位數(shù)與i相等,就在數(shù)組對(duì)應(yīng)的表頭那里都加一
if (f[i]>1)//題目上說(shuō)至少兩個(gè)相等的數(shù),則大于一就ok
{
return 1;//返回1
}
}
}
n/=10;//取下一位數(shù)
}
return 0;//返回0
}
return 0;
}
1.1.2實(shí)驗(yàn)代碼截圖
1.1.3 造測(cè)試數(shù)據(jù)
輸入數(shù)據(jù)
輸出數(shù)據(jù)
說(shuō)明
105 500
cnt=6
樣例
100 1000
cnt=9
說(shuō)明,正確
400 800
cnt=4
說(shuō)明,正確
1.1.4 PTA提交列表及說(shuō)明
編譯錯(cuò)誤:開(kāi)根號(hào)那里把int寫(xiě)在了m前面,但應(yīng)該sqrt前面()加上。
部分正確:最后判斷的時(shí)候用break,但題目要求要返回1.
1.2 題目2
6-2 統(tǒng)計(jì)各位數(shù)字之和是5的數(shù)
本題要求實(shí)現(xiàn)兩個(gè)函數(shù):一個(gè)函數(shù)判斷給定正整數(shù)的各位數(shù)字之和是否等于5;另一個(gè)函數(shù)統(tǒng)計(jì)給定區(qū)間內(nèi)有多少個(gè)滿足上述要求的整數(shù),并計(jì)算這些整數(shù)的和。
函數(shù)is判斷number的各位數(shù)字之和是否等于5,是則返回1,否則返回0。
函數(shù)count_sum利用函數(shù)is統(tǒng)計(jì)給定區(qū)間[a, b]內(nèi)有多少個(gè)滿足上述要求(即令is返回1)的整數(shù),并計(jì)算這些整數(shù)的和。最后按照格式
1.2.1 數(shù)據(jù)處理
整型變量:int is(int n)
{
int a=0,b=0;
while (n!=0)
{
b = n % 10;//提出個(gè)位數(shù)
n /= 10;//取下一位數(shù)
a += b;//整和
}
if (a == 5)//判斷整和數(shù)是否等于5
return 1;
else
return 0;
}
void count_sum(int a, int b)
{
int sum = 0, count = 0, i;
for (i = a; i <= b; i++)
{
if (is(i))//以is函數(shù)的if為條件來(lái)進(jìn)行判斷
{
count++;//計(jì)數(shù)滿足的個(gè)數(shù)
sum += i;//整數(shù)的和
}
}
printf("count = %d, sum = %d", count, sum);
}
1.2.2 實(shí)驗(yàn)代碼截圖
1.2.3 造測(cè)試數(shù)據(jù)
輸入數(shù)據(jù)
輸出數(shù)據(jù)
說(shuō)明
104 999
104 is counted.count = 15, sum = 3720
樣例
100 999
count = 15, sum = 3720
說(shuō)明,正確
16 400
count = 16, sum = 2555
說(shuō)明,正確
1.2.4 PTA提交列表及說(shuō)明
編譯錯(cuò)誤:if判斷五的那里的return沒(méi)打;,
2.代碼互評(píng)
上圖為同學(xué)的,下圖為我自己的
上圖:1.直接就是三個(gè)條件往上懟 2.printf那里的6%d沒(méi)打空號(hào) 3.for語(yǔ)句還是要加個(gè)大括號(hào)吧。
下圖:1.比上圖啰嗦,沒(méi)想到可以直接用I來(lái)表示 2.上圖代碼感覺(jué)容易出錯(cuò),下圖穩(wěn)定。
3.1 學(xué)習(xí)進(jìn)度條
周/日期
這周所花時(shí)間
代碼行
學(xué)到的知識(shí)點(diǎn)簡(jiǎn)介
10/7-10/10
9+
30行+
scanf()語(yǔ)句,if-else語(yǔ)句,平方,根號(hào)
10.16/10.17
5個(gè)小時(shí)
141
如何運(yùn)用for語(yǔ)句
10.23/10.26
5個(gè)小時(shí)
141
如何定義函數(shù),運(yùn)用while語(yǔ)句
10.30/11.2
8小時(shí)
200+
如何在if else和for中嵌套
11.6/11.7
5小時(shí)
100+
如何靈活的運(yùn)用switch語(yǔ)句
11.13/11.14
5小時(shí)
80+
n=getchar();和switch加return 0
11.20/11.21
5小時(shí)
92
數(shù)組怎么用
11.27/11.28
5小時(shí)+
89
這次的第一題
3.2 累積代碼行和博客字?jǐn)?shù)
3.3 學(xué)習(xí)內(nèi)容總結(jié)和感悟
3.3.1 學(xué)習(xí)內(nèi)容總結(jié)
這周沒(méi)有學(xué)習(xí)新內(nèi)容,復(fù)習(xí)各科以對(duì)應(yīng)期末考試。
3.3.2 思維導(dǎo)圖
3.3.3 學(xué)習(xí)體會(huì)
這周復(fù)習(xí)線代和高數(shù),以及準(zhǔn)備英語(yǔ)口語(yǔ)考試,來(lái)了來(lái)了,期末考試它來(lái)
------------恢復(fù)內(nèi)容結(jié)束------------
|這個(gè)作業(yè)屬于哪個(gè)課程|C語(yǔ)言程序設(shè)計(jì)II|
|------|----|
|這個(gè)作業(yè)要求在哪里|鏈接|
|我在這個(gè)課程的目標(biāo)是|掌握C語(yǔ)言以及熟練運(yùn)用|
|這個(gè)作業(yè)在哪個(gè)具體方面幫助我實(shí)現(xiàn)目標(biāo)|詢問(wèn)同學(xué),百度,vs2019上的報(bào)錯(cuò)|
|參考文獻(xiàn)|鏈接|
1.1 題目名
7-8 輸出三角形字符陣列
本題要求編寫(xiě)程序,輸出n行由大寫(xiě)字母A開(kāi)始構(gòu)成的三角形字符陣列
1.1.1數(shù)據(jù)處理
整型變量:int n, i, j;
char op;
op = 'A';//將op賦為ascllA
scanf("%d", &n);
for (i = 1; i <= n; i++)//行數(shù)
{
for (j = 1; j <= n-i+1; j++)//列數(shù)
{
printf("%c ", op);//打印字符
op++;//‘A’加一
}
printf("
");
}
1.1.2實(shí)驗(yàn)代碼截圖
1.1.3 造測(cè)試數(shù)據(jù)
輸入數(shù)據(jù)
輸出數(shù)據(jù)
說(shuō)明
4
A-J
樣例
5
A-O
說(shuō)明,正確
3
A-F
說(shuō)明,正確
1.1.4 PTA提交列表及說(shuō)明
編譯錯(cuò)誤:scanf后面加了_s,
答案錯(cuò)誤:列數(shù)的for那里是j<=I,但與那個(gè)九九乘法表不一樣,它每一行都減一個(gè)字符,應(yīng)是n-I+1.
1.2 題目2
6-2 統(tǒng)計(jì)各位數(shù)字之和是5的數(shù)
本題要求實(shí)現(xiàn)兩個(gè)函數(shù):一個(gè)函數(shù)判斷給定正整數(shù)的各位數(shù)字之和是否等于5;另一個(gè)函數(shù)統(tǒng)計(jì)給定區(qū)間內(nèi)有多少個(gè)滿足上述要求的整數(shù),并計(jì)算這些整數(shù)的和
函數(shù)is判斷number的各位數(shù)字之和是否等于5,是則返回1,否則返回0。
函數(shù)count_sum利用函數(shù)is統(tǒng)計(jì)給定區(qū)間[a, b]內(nèi)有多少個(gè)滿足上述要求(即令is返回1)的整數(shù),并計(jì)算這些整數(shù)的和。最后按照格式
1.2.1 數(shù)據(jù)處理
整型變量int is(int n)
{
int a=0,b=0;
while (n!=0)
{
b = n % 10;//提出個(gè)位數(shù)
n /= 10;//取下一個(gè)位數(shù)
a += b;//整和
}
if (a == 5)//判斷整和的數(shù)是否等于五
return 1;
else
return 0;
}
void count_sum(int a, int b)
{
int sum = 0, count = 0, i;
for (i = a; i <= b; i++)
{
if (is(i))//以is的判斷為條件
{
count++;//輸出
sum += i;
}
}
printf("count = %d, sum = %d", count, sum);
}
1.2.2 實(shí)驗(yàn)代碼截圖
1.2.3 造測(cè)試數(shù)據(jù)
輸入數(shù)據(jù)
輸出數(shù)據(jù)
說(shuō)明
104 999
count = 15, sum = 3720
樣例
15 500
count = 19, sum = 3866
說(shuō)明,正確
400 900
count = 3, sum = 1311
說(shuō)明,正確
1.2.4 PTA提交列表及說(shuō)明
編譯錯(cuò)誤:第一個(gè)if那里的return后面沒(méi)加;sum和count沒(méi)有初始化。
格式錯(cuò)誤;有些大擴(kuò)號(hào)沒(méi)打好。
2.代碼互評(píng)
上圖為同學(xué)的,下圖為我自己的
上圖:1.沒(méi)看懂第二個(gè)for中的m/=10是什么意思2.可以說(shuō)非常詳細(xì),一步一步來(lái)的3.還判斷了奇偶性。
下圖:1.直接就判定2.在條件中提數(shù)3.比上圖簡(jiǎn)潔很多。
3.1 學(xué)習(xí)進(jìn)度條
周/日期
這周所花時(shí)間
代碼行
學(xué)到的知識(shí)點(diǎn)簡(jiǎn)介
10/7-10/10
9+
30行+
scanf()語(yǔ)句,if-else語(yǔ)句,平方,根號(hào)
10.16/10.17
5個(gè)小時(shí)
141
如何運(yùn)用for語(yǔ)句
10.23/10.26
5個(gè)小時(shí)
141
如何定義函數(shù),運(yùn)用while語(yǔ)句
10.30/11.2
8小時(shí)
200+
如何在if else和for中嵌套
11.6/11.7
5小時(shí)
100+
如何靈活的運(yùn)用switch語(yǔ)句
11.13/11.14
5小時(shí)
80+
n=getchar();和switch加return 0
11.20/11.21
5小時(shí)
92
數(shù)組怎么用
11.27/11.28
5小時(shí)+
89
這次的第一題
12.4/12.5
5小時(shí)+
58
這次的編程題(太難了)
3.2 累積代碼行和博客字?jǐn)?shù)
3.3 學(xué)習(xí)內(nèi)容總結(jié)和感悟
3.3.1 學(xué)習(xí)內(nèi)容總結(jié)
這周新學(xué)習(xí)了兩種函數(shù),講道理到現(xiàn)在我也沒(méi)搞清楚,只知道那個(gè)靜態(tài)變量的值不會(huì)改變,而局部變量會(huì)在被返回
的時(shí)刻就會(huì)刪除了。
3.3.2 思維導(dǎo)圖
3.3.3 學(xué)習(xí)體會(huì)
這周復(fù)習(xí)線代和高數(shù),而且也學(xué)了新東西,但是嘞講道理,這周的題目有點(diǎn)難,我們親愛(ài)的助教他都還沒(méi)寫(xiě)完,我一看那兩
個(gè)編程題,我人就傻了,還要復(fù)習(xí)其他科目,難啊!
總結(jié)
以上是生活随笔為你收集整理的pta输出三角形字符阵列c语言,C语言l|博客园作业11的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ConquerCam.exe进程的详细介
- 下一篇: 如何将文件拷贝服务器上,如何将文件复制到