使用的撰寫程式是微軟visualc++2010.查了百度等,但是依然不能夠解決,反而理解越來越混亂。
問題一:結果是什么也沒輸出,為什么
#include <stdio.h>
#include<stdlib.h>
int main(void)
{
int i,j;
for(i=0; i<4; ++i)
for(j=1; j<4; ++j)
{
break;
printf("aaa\n");
}
system(“pause”)
}
問題二:為什么輸出的是四行aaa
int main(void)
{
int i,j;
for(i=0; i<4; ++i)
for(j=1; j<4; ++j)
{
printf("aaa\n");
break;
}
system(“pause”);
}
問題三:該程式是證明任何一個大于6的偶數可以表示成兩個素數之和,為什么 { printf("%d=%d+%d\n",a,m,a-m);break;}寫成if(flag==1) break; printf("%d=%d+%d\n",a,m,a-m);依然成立
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a,b,c,m,flag;
scanf("%d",&a);
for(m=2;m<a/2;m++)
{
flag=1;
for(b=2;b<m;b++)
{ if(m%b==0) flag=0;}
if(flag==1)
for(c=2;c<a-m;c++)
{if((a-m)%c==0) flag=0;}
if(flag==1)
{ printf("%d=%d+%d\n",a,m,a-m);break;}
}
system("pause");
}
uj5u.com熱心網友回復:
1. 你都break了,肯定不會執行printf. 2.你第二個回圈列印一次就break了第二個回圈只執行一次.uj5u.com熱心網友回復:
第三個沒看懂問題uj5u.com熱心網友回復:
if(flag==1){ printf("%d=%d+%d\n",a,m,a-m);break;}換成
if(flag==1)break;printf(“%d=%d%d\n",a,m,a-m”);
uj5u.com熱心網友回復:
if(flag==1)
{ printf("%d=%d+%d\n",a,m,a-m);break;}換成
if(flag==1)break;printf(“%d=%d%d\n",a,m,a-m”);為什么都成立
uj5u.com熱心網友回復:
我的結果不一樣,我不知道你的輸入是多少,我隨手一個100. 一個列印VS一大堆列印uj5u.com熱心網友回復:
輸入的是12
uj5u.com熱心網友回復:
打出12=5+7
uj5u.com熱心網友回復:
程式表現不一致說明你的代碼有問題,繼續除錯.uj5u.com熱心網友回復:
你確定???我輸入12一個列印一行,一個列印3行????uj5u.com熱心網友回復:
那我再除錯下uj5u.com熱心網友回復:
你確定???我輸入12一個列印一行,一個列印3行????
現在正在學c++,有沒有推薦的相關的書。
uj5u.com熱心網友回復:
就你們教材就行了,代碼多除錯,你那3個問題都簡單,自己一除錯就能發現問題。uj5u.com熱心網友回復:
就你們教材就行了,代碼多除錯,你那3個問題都簡單,自己一除錯就能發現問題。
謝謝指導(*°?°)=3
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/105781.html
標籤:C++ 語言
上一篇:c語言
下一篇:還是關于if陳述句
