PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   請問一下C++程式的問題= =||| (https://www.pcdvd.com.tw/showthread.php?t=410437)

oiu 2004-11-14 01:48 AM

請問一下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階層的程式,但是我如果要讓它輸出的數不能大於你輸入的數要怎麼寫啊?
想破頭了還想不出來 :cry:
我有用while試過但它會一直重複印1......
麻煩各位高手教一下了THANK。

小稜 2004-11-14 01:54 AM

你用的語法是C不是C++喔...
什麼叫做輸出的數不大於輸入的數??
不太懂意思.....

maxwiser 2004-11-14 02:00 AM

引用:
作者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階層的程式,但是我如果要讓它輸出的數不能大於你輸入的數要怎麼寫啊?
想破頭了還想不出來 :cry:
我有用while試過但它會一直重複印1......
麻煩各位高手教一下了THANK。


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

這是我一點小小的看法~希望能幫助你 :)

alanzx 2004-11-14 02:00 AM

引用:
作者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階層的程式,但是我如果要讓它輸出的數不能大於你輸入的數要怎麼寫啊?
想破頭了還想不出來 :cry:
我有用while試過但它會一直重複印1......
麻煩各位高手教一下了THANK。


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


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

改這樣應該可以吧...

oiu 2004-11-14 04:47 AM

引用:
作者alanzx
這應該是c唷...
不是c++...


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

改這樣應該可以吧...

謝謝各位幫忙^^,可是還是不行...它還是會印出n階層...
另外請問C++跟C是差在哪裡啊?

oiu 2004-11-14 04:50 AM

可以了,謝謝大家~~
終於稿懂了^^|||

oiu 2004-11-14 05:08 AM

那再請教各位一個問題..
#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列後要再跳到下一列,
我只能想出這種方法 :jolin: ,請問各位有更好的寫法嗎?
小弟我因為讀夜間部每個禮拜只有2堂課,所以程度不是很好...
只能用休假時間想問題,所以在這裡先謝謝大家不厭煩的教小弟程式 :)

CMT 2004-11-14 07:16 AM

#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很像


所有的時間均為GMT +8。 現在的時間是10:56 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。