維克斯討論區
如何呼叫前一個函數算出1到n之間的質數+萬年曆(急~)
如題,我只寫出如何算出質數而已,可是不知道如何呼叫前面的函數,請教一下
int prime(int n)
{
for(i=1;i<=n;i++)
{
if(n%i==0)
cout<<"質數="<<i<<endl;
}
}
我只寫得出這個而已,但不知道如何呼較前面的函數算出質數
另外一題是萬年曆,設2008一月一日為星期二,輸入西元年、月、日算出該天為星期幾?
我是看到老師之前的輸入月日求出星期幾的程式碼,可是不知道年份如何弄?
還有一些部份我不太懂,可以請教一下嗎?
就是在函數內的最後if(week==6)回圈內以及else的內容我看不懂是什麼意思,可否請教一下謝謝!
#include <iostream>
#include <iomanip>
using namespace std;
void clendar(int weekday, int month);
int main()
{
int weekday;
int month;
char ans;
while(1)
{
cout << "請輸入一月一日是星期幾 : ";
cin >> weekday;
cout << "輸入要印出的月份 : " ;
cin >> month;
clendar(weekday, month);
do
{
cout << endl;
cout << "Run again?(Y/N)" << endl;
cin >> ans;
}while((ans != 'Y') && (ans != 'y') && (ans != 'N') && (ans != 'n'));
if((ans != 'Y') && (ans != 'y'))
break;
cout << endl;
}
system("pause");
return 0;
}
void clendar(int weekday, int month)
{
int MONTH[12]={31,29,31,30,31,30,31,31,30,31,30,31};
long MonthFD=0;
long week=0;
if(weekday==7)
{
weekday=0;
}
month=month-1;
MonthFD=weekday;
for(int day=0; day<=month-1; day++)
{
MonthFD+=MONTH[day];
}
MonthFD=MonthFD % 7;
cout << endl << " SU MO TU WE TH FR SA " << endl;
for(int DAY=1-MonthFD ; DAY<=MONTH[month]; DAY++)
{
if(DAY<=0)
cout << " " ;
else
cout << setw(3) << DAY;
if(week==6)
{
week=0;
cout << endl;
}
else
week+=1;
}
cout << endl;
return;
}
|