カレンダー

月のカレンダーを出力するプログラム
#include<iostream>
using namespace std;
int main()
{
  int days[] = {31,28,31,30,31,30,31,30,31,31,30,31,30,31};
  int y, m, d, i, k;

  cout<<"y="; cin>>y;
  cout<<"m="; cin>>m;
  if(1582>=y || y>=4000 || 1>m || m>12) return 1;
  cout<<'\n'<<y<<'/'<<m<<"\n\n";

  d = days[m-1];
  if(m==2 && (y%4==0&&y%100!=0||y%400==0)) d++;

  if(m==1 || m==2)
  {
    y--;
    m += 12;
  }
  k = (y+(int)(y/4)-(int)(y/100)+(int)(y/400)+(int)((13*m+8)/5)+1) % 7;

  cout<<" 日 月 火 水 木 金 土\n";
  for(i=0; i<k; i++)cout<<"   ";
  for(i=1; i<=d; i++)
  {
    cout.width(3);
    cout<<i;
    if(++k%7 == 0) cout<<'\n';
  }
  cout<<endl;
  return 0;
}

約数

http://pc10.2ch.net/test/read.cgi/tech/1166969820/677
ある正の数値を読み込み、
その約数をすべて(ただし1と自分自身は除く)出力するプログラムを作成せよ。
約数が複数個ある場合はスペースで区切って出力する。
繰り返し処理できるようにし、-1を読み込むと終了するようにせよ。
なお約数が存在しない場合は”約数はありません”と出力すること。
実行例:
正の整数を入力せよ:50
50の約数は 2 5 10 25 です。
正の整数を入力せよ:53
53の約数はありません。

#include<iostream>
using namespace std;
int main()
{
  int i, n;
  bool f;
  while(true)
  {
    cout << "正の整数を入力せよ:";
    cin >> n;
    if(n < 0) return 0;
    cout << n << "の約数は";
    f = false;
    for(i=2; i<n; i++)
    {
      if(n%i == 0)
      {
        f = true;
        cout << ' ' << i;
      }
    }
    cout << (f?" です。":"ありません。") << endl;
  }
}

タグ:

+ タグ編集
  • タグ:
最終更新:2007年01月09日 20:29