這個做業屬於哪一個課程 | C語言程序設計ll |
---|---|
這個做業的要求 | (https://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10125) |
我在這個課程的目標 | 靈活運用C語言而且能夠編寫一些小的程序 |
這個做業在哪一個具體方面幫我實現目標 | 全局變量、局部變量 |
參考文獻 | C語言程序設計、百度 |
本題要求實現一個函數,判斷任一給定整數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學習
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
輸入數據 | 輸出數據 | 說明 |
---|---|---|
145 555 | cnt=4 | 4個平方數 |
300 600 | cnt=4 | 4個平方數 |
130 676 | cnt=6 | 6個平方數 |
編譯錯誤:if後面忘記跳出,加上break;blog
本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於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
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
}
輸入數據 | 輸出數據 | 說明 |
---|---|---|
135 344 | count=8,sum=1939 | 8個知足要求,總和爲1939 |
100 176 | count=5,sum=610 | 6個知足要求,總和爲610 |
400 510 | count=3,sum=1311 | 3個知足要求,總和爲1311 |
編譯錯誤: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.感受此次題目真的挺難的,主要是編程題
思惟導圖