PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
oiu
Major Member
 
oiu的大頭照
 

加入日期: Dec 2001
文章: 160
請問一下C++程式的問題= =|||

#include<stdio.h>
main()
{
int i,sum=0,n;
printf("請輸入一個數:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=i;
printf("%d\n",sum);
}
}這是一個計算n階層的程式,但是我如果要讓它輸出的數不能大於你輸入的數要怎麼寫啊?
想破頭了還想不出來
我有用while試過但它會一直重複印1......
麻煩各位高手教一下了THANK。
     
      

此文章於 2004-11-14 01:49 AM 被 oiu 編輯.
舊 2004-11-14, 01:48 AM #1
回應時引用此文章
oiu離線中  
小稜
Power Member
 
小稜的大頭照
 

加入日期: Mar 2002
文章: 533
你用的語法是C不是C++喔...
什麼叫做輸出的數不大於輸入的數??
不太懂意思.....
 
舊 2004-11-14, 01:54 AM #2
回應時引用此文章
小稜離線中  
maxwiser
Major Member
 
maxwiser的大頭照
 

加入日期: Sep 2002
您的住址: 第八號當舖
文章: 119
引用:
作者oiu
#include<stdio.h>
main()
{
int i,sum=0,n;
printf("請輸入一個數:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=i;
printf("%d\n",sum);
}
}這是一個計算n階層的程式,但是我如果要讓它輸出的數不能大於你輸入的數要怎麼寫啊?
想破頭了還想不出來
我有用while試過但它會一直重複印1......
麻煩各位高手教一下了THANK。


你的意思是說 最大數不能超過 你輸入的值嗎?
如果是這樣你在FOR裡面加入
IF的判斷式 判斷
SUM如果大過N
那就不輸出結果 就跳出回圈
否則就顯示SUM的值

這是我一點小小的看法~希望能幫助你
舊 2004-11-14, 02:00 AM #3
回應時引用此文章
maxwiser離線中  
alanzx
Major Member
 

加入日期: Jan 2003
文章: 124
引用:
作者oiu
#include<stdio.h>
main()
{
int i,sum=0,n;
printf("請輸入一個數:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=i;
printf("%d\n",sum);
}
}這是一個計算n階層的程式,但是我如果要讓它輸出的數不能大於你輸入的數要怎麼寫啊?
想破頭了還想不出來
我有用while試過但它會一直重複印1......
麻煩各位高手教一下了THANK。


這應該是c唷...
不是c++...


sum+=i;
if(sum<=n)
{
printf("%d\n",sum);
}

改這樣應該可以吧...
舊 2004-11-14, 02:00 AM #4
回應時引用此文章
alanzx離線中  
oiu
Major Member
 
oiu的大頭照
 

加入日期: Dec 2001
文章: 160
引用:
作者alanzx
這應該是c唷...
不是c++...


sum+=i;
if(sum<=n)
{
printf("%d\n",sum);
}

改這樣應該可以吧...

謝謝各位幫忙^^,可是還是不行...它還是會印出n階層...
另外請問C++跟C是差在哪裡啊?
舊 2004-11-14, 04:47 AM #5
回應時引用此文章
oiu離線中  
oiu
Major Member
 
oiu的大頭照
 

加入日期: Dec 2001
文章: 160
可以了,謝謝大家~~
終於稿懂了^^|||
舊 2004-11-14, 04:50 AM #6
回應時引用此文章
oiu離線中  
oiu
Major Member
 
oiu的大頭照
 

加入日期: Dec 2001
文章: 160
那再請教各位一個問題..
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=3;j++)
{
printf("%15dx%d=%2d",j,i,j*i);
}
printf("\n");
}
printf("\n");
printf("\n");
for(i=1;i<=9;i++)
{
for(j=4;j<=6;j++)
{
printf("%15dx%d=%2d",j,i,j*i);
}
printf("\n");
}
printf("\n");
printf("\n");
for(i=1;i<=9;i++)
{
for(j=7;j<=9;j++)
{
printf("%15dx%d=%2d",j,i,j*i);
}
printf("\n");
}
}
這是印出九九乘法表的程式,格式要跟我打的一樣,就是印完3列後要再跳到下一列,
我只能想出這種方法 ,請問各位有更好的寫法嗎?
小弟我因為讀夜間部每個禮拜只有2堂課,所以程度不是很好...
只能用休假時間想問題,所以在這裡先謝謝大家不厭煩的教小弟程式
舊 2004-11-14, 05:08 AM #7
回應時引用此文章
oiu離線中  
CMT
Basic Member
 

加入日期: Jan 2001
您的住址: 遠的要命王國
文章: 26
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++) //這邊改成j<=9
{
printf("%15dx%d=%2d\n",j,i,j*i);
if(j%3==0) //加入換行的條件判斷式
{
printf("\n\n");
}
}
}

改成這樣 試試看吧
C++是物件導向的程式語言
沿用很多C的語法
所以在某種程度上會跟C很像
舊 2004-11-14, 07:16 AM #8
回應時引用此文章
CMT離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是09:23 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。