『壹』 電腦c語言編程多邊形內角和
輸入是邊的個數么,利用公式 內角和=180*(邊個數-2) 就可以了
代碼的話(無輸入檢測,無輸入提示的簡單代碼):
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d\n",180*(a-2) );
return 1;
}
『貳』 用c語言寫計算多邊形面積怎麽寫啊,在線等待
對於凸對邊形,可以切分成n-2個三角形,每個三角形的面積用如下公式求得:
求三角形面積:給出三角形的三個邊長為a,b,c,求三角形的面積。
根據海倫公式來計算三角形的面積: S= ;Area=
1.輸入的三角形三邊長a,b,c要滿足「任意兩邊長的和大於第三邊長」。
2.按海倫公式計算:s=(a+b+c)/2;x=s*(s-a)*(s-b)*(s-c) 這時若x>=0,則求面積:area= ,並輸出area的值。
C++代碼如下:
#include <cmath>
#include <iostream>
using namespace std;
double point[1000000][2],A;
int m;
double det(double x1,double y1,double x2,double y2)
{
return x1*y2-x2*y1;
}
double area()
{
int i;
float temp=0;
for(i=0;i<m-1;i++)
{
temp+=det(point[i][0],point[i][1],point[i+1][0],point[i+1][1]);
}
temp+=det(point[i][0],point[i][1],point[0][0],point[0][1]);
return temp/2;
}
int main()
{
int i;
while (scanf("%d",&m)!=EOF)
{
if (m==0)break;
for (i=0;i<m;i++)
{
cin>>point[i][0]>>point[i][1];
}
printf("%.1f\n",area());
}
return 0;
}
『叄』 什麼是C語言
C語言是Combined Language(組合語言)的中英混合簡稱。是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。因此,它的應用范圍廣泛,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,具體應用比如單片機以及嵌入式系統開發。
[編輯本段]應用實例
1.功能:求三個整數的平均值。程序如下: #include <stdio.h> /*載入頭文件stdio.h*/ void main() /*主函數main*/ { int a,b,c,d; /*定義a,b,c,d為整型變數*/ a=105; b=75; c=85; d=(a+b+c)/3; printf("d=%d\n",d); /*顯示"d=某數"並換行,某數是d的值*/ getchar(); /*等待用戶,按任意鍵退出*/ return 0; } 2.功能:由鍵盤輸入多邊形的邊數,求其內角和。程序如下: #include <stdio.h> int main() { /*辨別多邊形是否成立,不成立重新執行do-while語句間的命令*/ do { int x; printf("n="); scanf("%d",&x); /*由鍵盤輸入x的值*/ printf("%d\n",(x-2)*180); /*顯示內角和,公式為(x-2)*180*/ /*辨別多邊形是否成立,不成立顯示「Error」,成立顯示「Right」*/ if (x<=2) printf("Error\n"); else printf("Right\n"); } while (x<=2); /*do-while語句*/ getchar(); return 0; } 3.功能:由鍵盤輸入兩個數,顯示器上顯示較大數。程序如下: #include <stdio.h> int big(int,int); /*創建整型變數函數big*/ void main() { int x,y; scanf("%d,%d",&x,&y); printf("big is %d\n",big(x,y)); /*輸出big函數的值,因為main函數與用戶自定義函數big無關系,所以printf後的輸出項表是big(x,y),而不是big(n1,n2)*/ getchar(); return 0; } int big(int n1,int n2) /*用戶自定義函數big*/ { if (n1>n2) return n1; /*返回n1值*/ else return n2; /*返回n2值*/ } 4.功能:由鍵盤輸入一個等腰三角形的層數,畫一個這樣的三角形。程序如下: #include <stdio.h> void main() { int i,j,n; printf("n:"); scanf("%d",&n); for (i=1;i<=n;i++) /*循環n次,每次輸出一行*/ { for (j=i;j<=n-i;j++) /*輸出該行前面的空格*/ printf(" "); for (j=1;j<=2*i-1;j++) /*輸出該行中的星號*/ printf("*"); printf("\n"); } getchar(); return 0; } 注釋:不能輸入太多的行數,如10000。 5.功能:由鍵盤輸入一個最大值,求2到這個最大值中的所有質數(素數)。程序如下: #include <stdio.h> #include <math.h> /*數學文件*/ void main() { int n,m,flag,i,j,num=1; printf("n:"); scanf("%d",&n); printf("2~%d:\n",n); for (i=2;i<=n;i++) /*循環查找質數*/ { flag=1; m=(int)sqrt(i); for (j=2;j<=m;j++) if (i%j==0) /*條件為真時表示不是質數,退出for循環*/ { flag=0; break; } if (flag==1) /*條件為真時表示i是質數*/ { printf("M",i); if (num++==10) /*每行最多輸出10個數*/ { printf("\n"); num=1; } } } printf("\n"); getchar(); return 0; } 6.功能:顯示保護屏幕。程序如下:(此程序只能在TC下編譯,在其他編譯器編譯會報錯) #include <stdlib.h> /*綜合庫*/ #include <graphics.h> /*繪圖庫*/ void main() { int gdriver=DETECT; /*定義圖象驅動器為DETECT*/ int gmode=DETECT; /*定義圖象模式為DETECT*/ long n; /*定義長型變數n*/ initgraph(&gdriver,&gmode,"E:\TC\bgi"); /*進入圖象狀態(警告:""之間的是圖象驅動器的路徑,建議網友們設置為空,即只有"",或設為編程系統的路徑,例路徑是C:\TC,那麼就是輸入C:\TC\bgi)*/ sleep(1); /*暫停一秒,以保證無誤差進入圖象狀態*/ for (n=1;n<=40000000;n++) /*畫40000000個圓*/ { setcolor(rand()); /*作圖顏色隨機*/ circle(random(639),random(639),25); /*畫圓,位置隨機,半徑為25*/ } getchar(); return 0; } 7.功能:讀取一個文件,並以16進制顯示。以下為程序源代碼(改天再寫注釋,大家自己理解吧): /* Program 12.6 Viewing the contents of a file */ #include <stdio.h> #include <ctype.h> #include <string.h> #define DISPLAY 80 #define PAGE_LENGTH 20 int main(int argc, char *argv[]) { char filename[80]; FILE *pfile; unsigned char buffer[DISPLAY - 1]; int count = 0, lines = 0, i = 0; if(argc == 1) { printf("Please enter a filename: "); gets(filename); } else strcpy(filename, argv[1]); if((pfile = fopen(filename, "rb")) == NULL) { printf("Sorry, can't open %s", filename); return -1; } while(!feof(pfile)) { if(count < sizeof buffer) buffer[count++] = (unsigned char)fgetc(pfile); else { for(count = 0;count < sizeof buffer;count++) printf("%02X ", buffer[count]); printf("| "); for(count = 0;count < sizeof buffer;count++) printf("%c", isprint(buffer[count]) ? buffer[count]:'.'); printf("\n"); count = 0; if(!(++lines%PAGE_LENGTH)) if(getchar() == 'E') return 0; } } for(i = 0;i < sizeof buffer;i++) if(i < count) printf("02X ", buffer[i]); else printf(" "); printf("| "); for(i = 0;i < count;i++) printf("%c", isprint(buffer[i]) ? buffer[i]:'.'); printf("\n"); fclose(pfile); pause(); return 0; }
『肆』 C語言中的每個符號分別是什麼意思
1.功能:求三個整數的平均值。程序如下:
#include <stdio.h> /*載入頭文件stdio.h*/
void main() /*主函數main*/
{
int a,b,c,d; /*定義a,b,c,d為整型變數*/
a=105;
b=75;
c=85;
d=(a+b+c)/3;
printf("d=%d\n",d); /*顯示"d=某數"並換行,某數是d的值*/
getchar(); /*等待用戶,按任意鍵退出*/
return 0;
}
2.功能:由鍵盤輸入多邊形的邊數,求其內角和。程序如下:
#include <stdio.h>
void main()
{
/*辨別多邊形是否成立,不成立重新執行do-while語句間的命令*/
do
{
int x;
printf("n=");
scanf("%d",&x); /*由鍵盤輸入x的值*/
printf("%d\n",(x-2)*180); /*顯示內角和,公式為(x-2)*180*/
/*辨別多邊形是否成立,不成立顯示「Error」,成立顯示「Right」*/
if (x<=2)
printf("Error\n");
else
printf("Right\n");
}
while (x<=2); /*do-while語句*/
getchar();
return 0;
}
3.功能:由鍵盤輸入兩個數,顯示器上顯示較大數。程序如下:
#include <stdio.h>
int big(int,int); /*創建整型變數函數big*/
void main()
{
int x,y;
scanf("%d,%d",&x,&y);
printf("big is %d\n",big(x,y));
/*輸出big函數的值,因為main函數與用戶自定義函數big無關系,所以printf後的輸出項表是big(x,y),而不是big(n1,n2)*/
getchar();
return 0;
}
int big(int n1,int n2) /*用戶自定義函數big*/
{
if (n1>n2)
return n1; /*返回n1值*/
else
return n2; /*返回n2值*/
}
4.功能:由鍵盤輸入一個等腰三角形的層數,畫一個這樣的三角形。程序如下:
#include <stdio.h>
void main()
{
int i,j,n;
printf("n:");
scanf("%d",&n);
for (i=1;i<=n;i++) /*循環n次,每次輸出一行*/
{
for (j=1;j<=n-i;j++) /*輸出該行前面的空格*/
printf(" ");
for (j=1;j<=2*i-1;j++) /*輸出該行中的星號*/
printf("*");
printf("\n");
}
getchar();
return 0;
}
注釋:不能輸入太多的行數,如10000。
5.功能:由鍵盤輸入一個最大值,求2到這個最大值中的所有質數(素數)。程序如下:
#include <stdio.h>
#include <math.h> /*數學文件*/
void main()
{
int n,m,flag,i,j,num=1;
printf("n:");
scanf("%d",&n);
printf("2~%d:\n",n);
for (i=2;i<=n;i++) /*循環查找質數*/
{
flag=1;
m=(int)sqrt(i);
for (j=2;j<=m;j++)
if (i%j==0) /*條件為真時表示不是質數,退出for循環*/
{
flag=0;
break;
}
if (flag==1) /*條件為真時表示i是質數*/
{
printf("%4d",i);
if (num++%10==0) /*每行最多輸出10個數*/
printf("\n");
}
}
printf("\n");
getchar();
return 0;
}
6.功能:顯示保護屏幕。程序如下:
#include <stdlib.h> /*綜合庫*/
#include <graphics.h> /*繪圖庫*/
int main()
{
int gdriver=DETECT; /*定義圖象驅動器為DETECT*/
int gmode=DETECT; /*定義圖象模式為DETECT*/
long n; /*定義長型變數n*/
initgraph(&gdriver,&gmode,"E:\TC\bgi");
/*進入圖象狀態(警告:""之間的是圖象驅動器的路徑,建議網友們設置為空,即只有"",或設為編程系統的路徑,例路徑是C:\TC,那麼就是輸入C:\TC\bgi)*/
sleep(1); /*暫停一秒,以保證無誤差進入圖象狀態*/
for (n=1;n<=40000000;n++) /*畫40000000個圓*/
{
setcolor(rand()); /*作圖顏色隨機*/
circle(random(639),random(639),25); /*畫圓,位置隨機,半徑為25*/
}
getchar();
return 0;
}
『伍』 c語言中的函數問題,幫幫忙
/*解一元二次方程*/
#include<stdio.h>
#include<math.h>
void main()
{
int a,b,c,i=1;
float x1,x2,dlt;
do
{
printf("Please input three numbers:");
scanf("%d%d%d",&a,&b,&c);
do
{ i++;
if(a==0)
{
printf("Input error.Please input again:");
scanf("%d%d%d",&a,&b,&c);
}
else
{
dlt=b*b-4*a*c;
if(dlt<0)
printf("該方程無實根。\n\n");
else
{
x1=(-1*b+sqrt(dlt))/(2*a);
x2=(-1*b-sqrt(dlt))/(2*a);
}
}
}while(a==0);
if(dlt<0)
printf("");
else
printf("x1=%f\nx2=%f\n\n",x1,x2);
}while(i<=3); /*循環三次*/
}
一定要用函數嗎?這個沒必要用函數,用函數還更復雜。一定要的話,自己稍微改一改就行了!