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;
本文出自 “轉角度的落音” 博客,請務必保留此出處http://7917260.blog.51cto.com/7907260/1302362