c++

1:設計一個菜單程序,選擇數字鍵1~3分別在屏幕中間輸出正三角形、菱形和空心的平行四邊形,選擇數字4結束操作並回到操作系統狀態。

要求:(1)主程序菜單設計(2)每個圖形單獨是一個函數,即三個子函數。

示例代碼:

#include<iostream>
#include<iomanip>
usingnamespacestd;

voidprint1(intn)//輸出一個正三角形
{
for(inti=0;i<=n;i++)//輸出n行,第一行時i=1,第二行時i=2…對應下面每行*的個數
{
cout<<setw(30-i)<<"";//*前打出30-i個空格來佔位置,從而達到使*居中的目的,與for(k=0;k<30-i;k++)cout<<"";一樣的效果。
for(intm=1;m<2*i;m++)//輸出一行*,*的個數由循環次數i決定
{
cout<<"*";
}
cout<<endl;//輸完一行後換行
}
//returnmain();
}

voidprint2(intn)//輸出一個倒三角形
{
for(inti=n-1;i>0;i--)//輸出n行,第一行時i=1,第二行時i=2…對應下面每行*的個數
{
cout<<setw(30-i)<<"";//*前打出30-i個空格來佔位置,從而達到使*居中的目的,與for(k=0;k<30-i;k++)cout<<"";一樣的效果。
for(intm=1;m<2*i;m++)//輸出一行*,*的個數由循環次數i決定
{
cout<<"*";
}
cout<<endl;//輸完一行後換行
}
}


voidmain()
{chark;
intm=5,choice;//m爲三角形邊長或是菱形的短對角線長


while(1)
{

cout<<"請選擇(1/2/3)\n1輸出正三角形\n2輸出菱形\n3退出\n";
cin>>choice;
switch(choice)
{
case1:print1(m);break;
case2:print1(m);print2(m);break;//正三角形和倒三角形拼成的菱形
case3:exit(0);

}
}
}

2:從鍵盤上輸入三個矩陣,輸出三個矩陣主對角線的和及乘積。

要求:除了主函數外,輸入函數輸入三個矩陣,主對角線函數計算主對角線的和,乘積子函數計算主對角線的積。

#include<iostream.h>

#include<stdlib.h>

#defineN9

intadd(intm[N][N],intn)

{

ints=0;

for(inti=0;i<n;i++)

s=s+m[i][i];

returns;

}

longmultiply(intm[N][N],intn)

{

longs=1;

for(inti=0;i<n;i++)

s=s*m[i][i];

returns;

}

voidmain()

{

inti,j,n,a[N][N],b[N][N],c[N][N];

cout<<"

請輸入矩陣階數

:";

cin>>n;

if((n<0)&&(n>N))

{

cout<<"

輸入不合法

!";

exit(1);

}

cout<<"

請輸入數組

a:"<<endl;

for(i=0;i<n;i++)

for(j=0;j<n;j++)

{

cout<<"

輸入第

"<<i+1<<"

行第

"<<j+1<<"

列數據

:";

cin>>a[i][j];

}

cout<<endl;

cout<<"

請輸入數組

b:"<<endl;

for(i=0;i<n;i++)

for(j=0;j<n;j++)

{

cout<<"

輸入第

"<<i+1<<"

行第

"<<j+1<<"

列數據

:";

cin>>b[i][j];

}

cout<<endl;

cout<<"

請輸入數組

c:"<<endl;

for(i=0;i<n;i++)

for(j=0;j<n;j++)

{

cout<<"

輸入第

"<<i+1<<"

行第

"<<j+1<<"

列數據

:";

cin>>c[i][j];

}

cout<<endl;

cout<<"

矩陣

a:"<<endl;

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

cout<<a[i][j]<<"";

cout<<endl;

}

cout<<endl;

cout<<"

矩陣

b:"<<endl;

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

cout<<b[i][j]<<"";

cout<<endl;

}

cout<<endl;

cout<<"

矩陣

c:"<<endl;

for(i=0;i<n;i++){

for(j=0;j<n;j++)

cout<<c[i][j]<<"";

cout<<endl;

}

cout<<endl;

cout<<"

對角線之和

"<<add(a,n)+add(b,n)+add(c,n)<<endl;

cout<<"

對角線之積

"<<multiply(a,n)*multiply(b,n)*multiply(c,n)<<endl;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章