-
#include?<stdio.h>
int?main()?
{?
??
????int?i?=?2008,sum=0;
????int?m?=?8;
????int?d?=?8;
????switch(m-1){
????case?12:?sum+=31;
? ? case?11?:?sum+=30;
? ? case?10:?sum+=31;
? ? case?9:?sum+=30;
? ? case?8:?sum+=31;
? ? case?7:?sum+=31;
? ? case?6:?sum+=30;
? ? case?5:?sum+=31;
? ? case?4:?sum+=30;
? ? case?3:?sum+=31;
????case?2:?
? ? if(i%4==0&&i%100!=0||i%400==0)
? ? sum+=29;
????else?sum+=28;
? ? case?1:sum+=31;break;
?}
?printf("%d年%d月%d日是該年的第%d天,",i,m,d,sum+d);
? ? ?return?0;
}
一些關(guān)于上面代碼的解釋:
1.為什么是m-1?? 因?yàn)閙月之前的天數(shù)需要完整的加入sum里,m月的天數(shù)(即m月過啦幾天)只需要在最后的sum中加上d就可以了(倒數(shù)第三行斜體部分);
2.這里巧妙地沒有使用break,利用switch穿透和倒加運(yùn)算得到了結(jié)果。
在我的代碼(思路)中一定要記得加上(break),不然會(huì)錯(cuò)誤;
第二十九行用==和%
查看全部 -
#include <stdio.h>
float cost(int km, int timing) {
? ? float money;
? ? if (km <= 3) {
? ? ? ? money = 14;
? ? } else {
? ? ? ? if ((timing>=23 && timing<=24) || (timing>=1 && timing<5)) {
? ? ? ? ? ? money = 0.2 * (km - 3) * 2.3 + 13 + 1;
? ? ? ? } else {
? ? ? ? ? ? money = (km - 3) * 2.3 + 13 + 1;
? ? ? ? }
? ? }
? ? return money;
}
int main() {
? ? printf("小明打車的費(fèi)用%.1f", cost(12, 9) + cost(12, 18));
? ? return 0;
}
查看全部 -
#include <stdio.h>?
/*?
?* 請(qǐng)使用遞歸函數(shù)完成本題
?* 小編已將正確代碼放在左側(cè)任務(wù)的“不知道怎么辦”里
?* 小編希望各位童鞋獨(dú)立完成哦~
?*/
int dfs(int n) {
? ? return n == 1 ? 10 : dfs(n - 1) + 2;
}
//這里是的話返回10,不是的話返回函數(shù)遞推,妙
int main()?
{
? ??
printf("第5個(gè)人的年齡是%d歲", dfs(5));?
return 0;
}
查看全部 -
c語(yǔ)言中的除法直接可以表示取整,如5/2==2
查看全部 -
for( 定一 ; 判二 ; 執(zhí)行三 )
查看全部 -
不熟
查看全部 -
在定義中不允許連續(xù)賦值
查看全部 -
標(biāo)識(shí)符的第一個(gè)字符必須是字母或下劃線
查看全部 -
使用break語(yǔ)句時(shí)注意以下幾點(diǎn):
1、在沒有循環(huán)結(jié)構(gòu)的情況下,break不能用在單獨(dú)的if-else語(yǔ)句中。
2、在多層循環(huán)中,一個(gè)break語(yǔ)句只跳出當(dāng)前循環(huán)。
為真跳出循環(huán)
查看全部 -
swith穿透:在case子句后如果沒有break;會(huì)一直往后執(zhí)行一直到遇到break;才會(huì)跳出switch語(yǔ)句;
switch后面的表達(dá)式語(yǔ)句只能是整型或者字符類型;
各case和default子句的先后順序可以變動(dòng),而不會(huì)影響程序執(zhí)行結(jié)果;
default子句可以省略不用。
switch()后沒有分號(hào)。
查看全部 -
break語(yǔ)句與continue語(yǔ)句的區(qū)別是:break是跳出當(dāng)前整個(gè)循環(huán),continue結(jié)束本次循環(huán)開始下一次循環(huán)。?(僅對(duì)循環(huán)生效,對(duì)if等其他結(jié)構(gòu)不生效)
查看全部 -
1不是素?cái)?shù);
==表示等于,=表示賦值(第九行);
第十二行代碼的含義:防止如一下這類情況的出現(xiàn),eg:m等于6,n等于2,求余等于0但是m不是素?cái)?shù)。保證輸出的m一定是素?cái)?shù)。
別再忘了第二條?。。?/p>
在沒有循環(huán)結(jié)構(gòu)的情況下,break不能用在單獨(dú)的if-else語(yǔ)句中;
對(duì)于第5條,也就是說continue只能用在循環(huán)體內(nèi),break可用在除循環(huán)體以外的其他類型的語(yǔ)句中。
查看全部 -
printf("%d*%d=%d\t",i,j,result);
牢記復(fù)習(xí)上面這行c語(yǔ)言的書寫格式和方法。
查看全部 -
根據(jù)要輸出的循環(huán)陣的特點(diǎn)(比如:1.每幾個(gè)*換行,2.相鄰兩行*的變化特點(diǎn)是什么,增加幾個(gè),減少幾個(gè))來設(shè)計(jì)循環(huán)代碼。
查看全部
舉報(bào)