亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

結果沒問題,然而代碼和標準結果不一樣,不讓過,哈哈!

#include?<stdio.h>
int?main()?
{?
????//?定義相乘數字i,j以及結果result
????int?i,?j,?result;
????/*
?????*?使用for循環解決本題相對簡單哦~
?????*?小編偷偷的將源碼放在任務“不會了怎么辦”中了哦~
?????*?小編希望童鞋們獨立完成哦~
?????*/
????for(i=9;i>0;i--)
????{????for(j=1;j<=i;j++)
????????????printf("%d?*?%d?=?%d\t",i,j,i*j);
????????printf("\n");
????}
????
????return?0;
}



正在回答

7 回答

用的是什么吃軟件啊? ?想要

0 回復 有任何疑惑可以回復我~

//如果是1月的話,那么day的值是多少,那就是一年中的第多少天,沒必要再去找之前有幾個月
//用month的值減去1,就得到了month的前面有多少個月,代入switch去累加本月的day前面的天數
?switch(month-1)
????{
????????case?11:day+=30;//month是12月,那么前面就有11個月,11月本身是30天
????????case?10:day+=31;//month是12月,那么前面就有10個月,10月本身是31天,以此類推
????????case?9:day+=30;//沒有break;所以程序運行本case之后,下面的所有還會運行一遍,這樣就累加起來了
????????case?8:day+=31;
????????case?7:day+=31;
????????case?6:day+=30;
????????case?5:day+=31;
????????case?4:day+=30;
????????case?3:day+=31;
????????//現在的公歷歷法關于閏年的規定是能被4整除但不能被100整除,或者能被400整除。
????????//最早的公歷歷法關于閏年的規定是能被4整除——了解一下即可,不是本題意思。
????????case?2:if((year%4==0?&&?year%100)?||?year%400==0)
????????????????????????????day+=29;
??????????????????????else
????????????????????????????day+=28;
????????case?1:day+=31;
????}
????printf("2008年8月8日是該年的第%d天",day);


0 回復 有任何疑惑可以回復我~
#1

qq_狗活_twEPQW

唉 我看4-16里沒有for循環就光一個switch然后它也用了break。我就以為switch也是一個循環,break是跳出switch用的,現在明白了,大佬你剛學c嗎,標識符背這么熟
2019-02-22 回復 有任何疑惑可以回復我~
#2

白腿小隼熊貓鳥 提問者 回復 qq_狗活_twEPQW

過獎了,不敢稱大佬,很多年前接觸過C,現在想復習一下,所以還有些印象。一起加油吧!
2019-02-23 回復 有任何疑惑可以回復我~

emm,看運行結果那里的英文好像可以勉強猜出錯誤??梢越心愦罄袉幔幌戮蛯W到6去了,我還在4.可以幫我看看我的代碼哪錯了嗎、(這是4-17求2008年8月8日是這一年的第幾天的代碼,你可以復制幫我看下嗎,為什么我是254。。)


#include <stdio.h>
int main()
{
??? /* 定義需要計算的日期 */
??? int year = 2008;
??? int month = 8;
??? int day = 8;
??? int j;
??? /*
???? * 請使用switch語句,if...else語句完成本題
???? * 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
???? * 小編還是希望大家獨立完成哦~
???? */for(j=1;j<month;j++){
??????? switch(month){
??????? case 1:day=day+31;break;
??????? case 2:break;?
??????? case 3:day=day+31;break;
??????? case 4:day=day+30;break;
??????? case 5:day=day+31;break;
??????? case 6:day=day+30;break;
??????? case 7:day=day+31;break;
??????? case 8:day=day+31;break;
??????? case 9:day=day+30;break;
??????? case 10:day=day+31;break;
??????? case 11:day=day+30;break;
??????? case 12:day=day+31;break;
??????? }
???? }
????
???? int i;
??????? i=year%4==0&&year%100!=0;
????
???? if(i==1) {
???????? printf("是該年中的第%d天",day=day+29);
???? }
??????? else {
??????????? printf("是該年的第%d天",day=day+28);
??????? }
???
?return 0;
}

0 回復 有任何疑惑可以回復我~
#1

qq_狗活_twEPQW

我原來的代碼 的 case2后面沒有加break;結果輸出就是254,我還以為加上break;結果會少31,沒想到加上后輸出還是254沒變啊。。。。
2019-02-22 回復 有任何疑惑可以回復我~
#2

白腿小隼熊貓鳥 提問者

本來最上面的提問是想發發自己的回答和調侃一下的。 你這段代碼里,for()循環沒有必要,也不合適,實際運行的情況,在題目的已知條件下,過程是這樣的: (1)進入for()循環,滿足循環條件,進入switch結構,(2)找到case 8,執行day = day + 31;然后break;跳出switch結構。(3)下一次for()循環。 所以,for()循環總共執行了7次,也就是day加31加了7次,所以最后的結果是8+31*7+29=254天。
2019-02-22 回復 有任何疑惑可以回復我~
#3

白腿小隼熊貓鳥 提問者

要累計某個月份之前的天數,可以手動計算,可以寫出每個月的天數并列成算式,還可以借助switch結構的執行特點。 switch結構的語句執行特點是,只要沒有遇到break;,那么即使找到了case,這個case后面的所有語句還是會順序執行。 所以,你可以把case后面的值改為從12寫到1,后面不加break;,這樣的話,比如8月份,那么程序在直接進入case 8之后,還會繼續順序執行后面的case 7一直到case 1。這樣就把天數累加起來了,還直觀。
2019-02-22 回復 有任何疑惑可以回復我~
#4

白腿小隼熊貓鳥 提問者

把代碼寫在下面了,下面回答允許寫的字多一些,而且有代碼框架,容易看一些。你看看吧。
2019-02-22 回復 有任何疑惑可以回復我~
查看1條回復

找到原因了。原來是自動檢查里,要求輸出的樣式必須是"%d*%d=",數字和*號之間不能有空格。嗯,好吧。

0 回復 有任何疑惑可以回復我~

emm不是說for后面不用分號嗎,分號當執行體又是什么意思。而且你不打{}如果系統把printf("\n");也識別到子循環里面去了,那不就子循環循環一次就換行了,不懂。。。

0 回復 有任何疑惑可以回復我~
#1

白腿小隼熊貓鳥 提問者

用大括號{}的原因是后面有多行語句。如果只有一行語句的話,自然可以省略大括號。 放心吧,C語言的標準就是這樣規定的,編譯器不會把printf("\n");放到子循環里去的,沒有大括號的時候,它就只認后面遇到的第一個分號。 第6-9節多維數組,我又寫了一個類似的,給你參考一下: //使用第二種方式初始化方式聲明并初始化二維數組arr2 int arr2[2][2]; for(int i=0,multiple=1;i<2;i++) for(int j=0;j<2;j++) arr2[i][j] = 10 * multiple++;
2019-02-22 回復 有任何疑惑可以回復我~

誰說for循環后面的代碼必須有大括號{}呢?有代碼就可以了,甚至就算是一個光禿禿的分號也符合語法。

后面的\t是水平制表符,相當于是按一下tab鍵。

0 回復 有任何疑惑可以回復我~

你這第二個for后面沒有{},怎么可能循環printf,而且\t是什么東西,看不懂


0 回復 有任何疑惑可以回復我~
#1

白腿小隼熊貓鳥 提問者

誰說for循環后面的代碼必須有大括號{}呢?有代碼就可以了,甚至就算是一個光禿禿的分號也符合語法。 后面的\t是水平制表符,相當于是按一下tab鍵。
2019-02-21 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

結果沒問題,然而代碼和標準結果不一樣,不讓過,哈哈!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號