#c語言l博客做業11

這個做業屬於哪一個課程 C語言程序設計ll
這個做業的要求 https://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10125)
我在這個課程的目標 靈活運用C語言而且能夠編寫一些小的程序
這個做業在哪一個具體方面幫我實現目標 全局變量、局部變量
參考文獻 C語言程序設計、百度

題目一

6-1 統計某類徹底平方數

本題要求實現一個函數,判斷任一給定整數N是否知足條件:它是徹底平方數,又至少有兩位數字相同,如14四、676等。
裁判測試程序樣例:
include <stdio.h>
include <math.h>編程

int IsTheNumber ( const int N );數組

int main()
{
int n1, n2, i, cnt;函數

scanf("%d %d", &n1, &n2);
cnt = 0;
for ( i=n1; i<=n2; i++ ) {
    if ( IsTheNumber(i) )
        cnt++;
}
printf("cnt = %d\n", cnt);

return 0;

}
輸入樣例:105 500
輸出樣例:cnt = 6學習

1.數據表達:定義整型變量k,m,t,flag,運用數組

數據處理:

int IsTheNumber ( const int N );測試

int main()
{
int n1, n2, i, cnt; 定義變量設計

輸入n1, n2
cnt = 0;  初始化爲0
for ( n1循環到n2 ) { 
    if ( IsTheNumber(i) )
        cnt++; 累加
}
     輸出cnt

int IsTheNumber(const int N)
{
int flag = 0 ; 判斷返還
int k, m, t;
m = N;
k = sqrt(N);
if(k*k == N)
{
int a[10]={0}; 定義num的長度爲10,由於傳入的整數的每位數多是0~9
while( m>0)
{
t = m%10;
for(int i=0; i<10; i++)
{
if(t == i)
a[i]++;
if(a[i] == 2)
{
flag = 1;
跳出
}
}
if( flag )
跳出
m /= 10;
}
}
return flag;
}code

2.實驗代碼截圖

3.造測試數據

輸入數據 輸出數據 說明
145 555 cnt=4 4個平方數
300 600 cnt=4 4個平方數
130 676 cnt=6 6個平方數

4.PTA提交列表


編譯錯誤:if後面忘記跳出,加上break;blog

題目二

6-2 統計各位數字之和是5的數

本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另外一個函數統計給定區間內有多少個知足上述要求的整數,並計算這些整數的和。
裁判測試程序樣例:get

int is( int number );
void count_sum( int a, int b );博客

int main()
{
int a, b;

scanf("%d %d", &a, &b);
if (is(a)) printf("%d is counted.\n", a);
if (is(b)) printf("%d is counted.\n", b);
count_sum(a, b);

return 0;

}
輸入樣例:104 999
輸出樣例:104 is counted.
count = 15, sum = 3720

1.數據表達:定義整型變量s,t而且都賦值爲0

數據處理:

int is( int number );
void count_sum( int a, int b );

int main()
{
定義a,b

輸入a,b
if (is(a)) 輸出a
if (is(b)) 輸出b
count_sum(a, b);

return 0;

}
int is( int n)
{
int s=0,t=0;
while(n!=0){
t=n%10;
n/=10;
s+=t;
}
if(s==5)
return 1;
else
return 0;
}
void count_sum( int a, int b )
{
int sum=0,count=0,i;
從a循環到b
if(is(i)){
count++;
sum+=i;
}
}
輸出count,sum
}

2.實驗代碼截圖

3.造測試數據

輸入數據 輸出數據 說明
135 344 count=8,sum=1939 8個知足要求,總和爲1939
100 176 count=5,sum=610 6個知足要求,總和爲610
400 510 count=3,sum=1311 3個知足要求,總和爲1311

4.PTA提交列表


編譯錯誤:18行if後面忘了{},添加上去

二.代碼互評

個人代碼:

同窗的代碼:


1.與我不同,同窗定義了二個數組來進行選擇
2.我用了個flag幫助判斷,同窗沒有直接用的式子

個人代碼:

同窗的代碼:


1.開始第一個循環我用的while循環,同窗用的do-while,先執行後判斷
2.第七行我用的s+=t,運用累加,同窗是直接相加

三.學習總結

周/星期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第四周 10h 50 hello world
第五週 4h 80 分段函數
第六週 8h 120 華氏溫度與攝氏溫度轉換 如何更加快捷轉換
第七週 12h 180 if-else語句 輸入、輸出的一些符號
第八週 9h 270 for循環語句 小數點位數的保留
第九周 13h 400 自定義函數 表格和圖的一些格式問題
第十週 12h 550 多分支else-if以及字符型 一些字符型表示的運算
第十一週 11h 680 switch語句 返回值被忽略的問題
第十二週 13.5h 815 while、do-while循環語句 while、do-while循環語句與某些數學問題的結合使用
第十三週 11h 910 for語句的嵌套、break和continue語句 for語句說明何時能夠省略{}
第十四周 13h 1010 仍然爲循環語句嵌套
第十五週 14h 1150 全局變量、局部變量 extern擴充
時間 博客字數 代碼行數
第四周 200 50
第五週 400 80
第六週 650 120
第七週 1450 180
第八週 2100 270
第九周 2700 400
第十週 3200 550
第十一週 3700 680
第十二週 4100 815
第十三週 4600 910
第十四周 5100 1010
第十五週 5700 1150

學習總結和感悟

1.此次學習了靜態變量和自動變量
2.四種類型auto自動型、register寄存型、extern外部型、static靜態型
3.全局變量能夠做用於全部函數,從定義開始到結束
4.感受此次題目真的挺難的,主要是編程題

思惟導圖

相關文章
相關標籤/搜索