1樓:眼眶的濕潤
這裡有3個if條件,要先滿足外層的if條件才能進入下一層if條件,並且每乙個x在經過一判斷條件都會自加1,這個是由於語句++x
所以我們應該知道,最後滿足條件輸出的x,要滿足3個條件:
x能被7整除
x-1能被3整除
x-2能被2整除
28和70都符合這個條件,而在計算出下乙個符合以上三個條件的數之前,i已經大於100了,所以只有28和70
再來看你說的7,能被7整除,7-1能被3整除,但是7-2=5不能被2整除,所以不滿足條件了
2樓:匿名使用者
首先質疑一下,純c語言,x變數在沒有初始化的情況下使用是存在風險的!
你的答案顯示了你使用的系統將區域性變數初始化為0了。
將上面問題轉換成數學問題就是,設x符合條件,x∈【3,300】因為i∈【1,100】,x每次迴圈增加3。
1) x%7 = 0;
2) (x-1)%3 = 0;即x%3 = 1;
3) (x-2)%2 = 0;即x%2 = 0;
7%2 = 1,所以直接就被排除了!
3樓:匿名使用者
3個if語句,x先做自增操作再做取餘操作的。
28的結果這樣來的:
進第乙個if前,x=25
if (++x%2==0):x=26,26%2=0判斷成立,進入判斷語句:
if(++x%3==0):x=27,27%3=0判斷成立,進入判斷語句:
if(++x%7==0):x=28,28%7=0判斷成立,進入列印語句。
70的結果同上分析。
另外,在進入第乙個if語句前,x-1的值一定是3的倍數,因為x初始為1,迴圈有3個++x,加了3次.
4樓:伊·梵
for(i=1;i<100;i++)
if(i%7==0 && i%2!=0 && i%3!=0)printf("%d ", i);
這個比你的簡單
5樓:匿名使用者
這個... 首先不得不說,兄弟你敲得太粗糙了
1. 輸出結果是28 70 112 154 196
2. 再有就是++x的意思就是在執行這條語句之前,先將x加1,所以從26開始,能被2整除,加1,能被3整除,再加1,能被7整除,所以輸出28。後面的也是乙個道理
2. 程式設計判斷輸入的正整數是是否既是5又是7的整倍數。若是,則輸出yes;否則輸出no
6樓:注定是個低調知識分子
一、用c語言/c++:
int main(){
int n;//設輸入的數為n
scanf("%d",&n);//輸入
if(n%5==0&&n%7==0){//判斷n與5和7的關係printf("yes");
else{
printf("no");
printf("\n");
return 0;
二、加上c語言或c++對應的標頭檔案即可執行,下面是我在codeblocks執行玩的截圖。
輸入樣例:9
輸出:no
三、 擴充套件:
1.像這種簡單判斷乙個數的輸入輸出時,用乙個if else操作即可。若是在陣列內查詢某個數並判斷,可以再加乙個for迴圈。
2.c語言對應標頭檔案:#include c++對應標頭檔案:#include;using namespace std。
7樓:
你要用什麼軟體的啊,這是c的
#include "stdio.h"
void main()
else}
8樓:大_匆
int main()
9樓:匿名使用者
#include
void main()
c語言程式設計: 編寫乙個判斷輸入的正整數是否既是5又是7的整倍數。如果是則輸出yes;否則輸出no。
10樓:喵不語
#include "stdio.h"
int main(void)
一道c語言題目,一道C語言題目
include include 標頭檔案 include 標頭檔案 int main int a 111 b 100 c 111 n,m,k 0,t,l 0,s scanf d d n,m srand unsigned time null srand 就是給rand 提供種子 for int i 0...
求教!一道C語言題目,求教一道C語言的題目!
你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。由程式執行結果為8 此時i 3,m 3 1 4,因此返回值為8 17 此時i 3 8...
求教一道C語言的題目,求教一道C語言題目
while 1 你這裡輸入的是 d 所以輸入數字是正常進入了if 字元就進入了else 因為你if後面是加了break,所以能正常跳出while 1 這個死迴圈,而else你是沒有加上break的,所以是一直在while 1 死迴圈。因為你定義輸入的是 d的形式,也就是整形,所以你輸入字元型的時候,...