程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

c++

編輯:關於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;

本文出自 “轉角度的落音” 博客,請務必保留此出處http://7917260.blog.51cto.com/7907260/1302362

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved