c語言程序設計函數
Ⅰ c語言程序設計編求迴文數的函數
#include<stdio.h>
int main(){
int m[16], n, i, t, count=0;
long unsigned a, k;
printf("No. number it's square(palindrome) ");
for( n=1; n<256; n++ ) /*窮舉n的取值范圍*/
{
k=0; t=1; a=n*n; /*計算n的平方*/
for( i=0; a!=0; i++ ) /*從低到高分解數a的每一位存於數組m[1]~m[16]*/
{
m[i] = a % 10;
a /= 10;
}
for(; i>0; i--)
{
k += m[i-1] * t; /*t記錄某一位置對應的權值 */
t *= 10;}
if(k == n*n)printf("%2d%10d%10d ", ++count, n, n*n);
}
return 0;
}
(1)c語言程序設計函數擴展閱讀:
C語言在編寫的時候需要說明的是:
1、一個C語言源程序可以由一個或多個源文件組成。
2、每個源文件可由一個或多個函數組成。
3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。
4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。
5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。(結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」)。
6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
網路-迴文數
Ⅱ 在C語言中程序設計的方法有哪些
程序設計方法:
1.從問題的全局出發,寫出一個概括性的抽象的描述。
2.定義變數,選取函數,確定演算法。演算法這個東西不好說,遇到的問題多了,自然就會形成自己一整套的演算法。
3.按照解決問題的順序把語句和函數在main()裡面堆砌起來。
Ⅲ 設計一個C語言函數(急求)
前面我們說的都是無參數無返回值的函數,實際程序中,我們經常使用到帶參數有返回值的函數。
一、函數參數傳遞
1.形式參數和實際參數
函數的調用值把一些表達式作為參數傳遞給函數。函數定義中的參數是形式參數,函數的調用者提供給函數的參數叫實際參數。在函數調用之前,實際參數的值將被拷貝到這些形式參數中。
2.參數傳遞
先看一個例子:
void a(int); /*注意函數聲明的形式*/
main()
{
int num;
scanf("%d",&num);
a(num); /*注意調用形式*/
}
void a(int num_back) /*注意定義形式*/
{
printf("%d\n",num_back);
}
在主函數中,先定義一個變數,然後輸入一個值,在a()這個函數中輸出。當程序運行a(num);這一步時,把num的值賦值給num_back,在運行程序過程中,把實際參數的值傳給形式參數,這就是函數參數的傳遞。
形參和實參可能不只一個,如果多於一個時,函數聲明、調用、定義的形式都要一一對應,不僅個數要對應,參數的數據類型也要對應。
void a(int,float);
main()
{
int num1;
float num2;
scanf("%d",&num1);
scanf("%f",&num2);
a(num1,num2);
}
void a(int num1_back,float num2_back)
{
printf("%d,%f\n",num1_back,num2_back);
}
上面的例子中,函數有兩個參數,一個是整型,一個是浮點型,那麼在聲明、調用、定義的時候,不僅個數要一樣,類型也要對應。如果不對應,有可能使的編譯錯誤,即使沒錯誤,也有可能讓數據傳遞過程中出現錯誤。
再看一個例子:
void a(int);
main()
{
int num;
scanf("%d",&num);
a(num);
}
void a(int num)
{
printf("%d\n",num);
}
看上面的例子,形式參數和實際參數的標識符都是num,程序把實際參數num的值傳遞給形式參數num。有些人可能就不明白了,既然兩個都是num,為什麼還要傳遞呢?乾脆這樣不就行了嗎:
void a();
main()
{
int num;
scanf("%d",&num);
a();
}
void a()
{
printf("%d\n",num);
}
其實不然,這就要涉及到標識符作用域的問題。作用域的意思就是說,哪些變數在哪些范圍內有效。一個標識符在一個語句塊中聲明,那麼這個標識符僅在當前和更低的語句塊中可見,在函數外部的其實地方不可見,其他地方同名的標識符不受影響,後面我們會系統講解作用域的問題。在這兒你就要知道兩個同名的變數在不同的函數中是互不幹擾的。
前面將的都是變數與變數之間的值傳遞,其實函數也可以傳遞數組之間的值。看下面的例子:
void a(int []);
main()
{
int array[5],i;
for(i=0;i<5;i++) scanf("%d",&array[i]);
a(array);
}
void a(int array[])
{
int i;
for(i=0;i<5;i++) printf("%d\t",array[i]);
printf("\n");
}
Ⅳ 在C語言中函數包括哪些部分
包括返回值,函數名,形參列表和函數體四個部分。
例如 :
int findmin(int a[],int n){
//函數體
return min;
}
以上函數int 是返回值,findmin是函數名, int a[] int n是形參列表
Ⅳ c語言程序設計
#include"stdio.h"
#include"math.h"
intmain(intargc,char*argv[]){
floata,b,c,d;
printf("Pleaseentera,b,c(R:)... ");
scanf("%f%f%f",&a,&b,&c);
if(a){
if((d=b*b-4*a*c)-0.0>1.0E-6){
printf(":");
d=(float)sqrt(d);
printf("%.4fand%.4f ",(-b+d)/2/a,(-b-d)/2/a);
}
elseif(0.0-d>1.0E-6){
printf("Theequationhastwocomplexroots:");
d=(float)sqrt(-d);
printf("%.4f+%.4fiand%.4f-%.4fi ",-b/2/a,d/a/2,-b/2/a,d/a/2);
}
elseif(fabs(d-0.0)<=1.0E-6)
printf("Theequationhastwoequalroots:%.4f ",-b/2/a);
}
else
printf("Theequationisnotquadratic. ");
return0;
}
運行樣例:
Ⅵ C語言程序設計基礎概念
1.1 C語言的特點
C語言是近年來非常流行的語言,很多人寧願放棄已經熟悉的其他語言而改用C語言,其原因是C語言有優於其他語言的一系列特點。下面是C語言的主要特點:
(1)語言簡潔、緊湊,並且使用方便、靈活;
(2)運算符豐富;
(3)數據結構豐富;
(4)具有結構化的控制語句;
(5)語法限制不太嚴格,使程序設計比較自由;
(6)C語言允許用戶直接訪問物理地址,能進行位(bit)操作,可以直接對硬體進行操作。
1.2 源程序的書寫規則
C語言的書寫規則。C語言書寫格式自由,一行內可以寫幾個語句,一個語句也可以分寫在多行上。C程序沒有行號,每個語句和數據定義的最後必須有一個分號。C語言中分號是語句中不可少的.,即使是程序中的最後一個語句也應該包含分號。C語言中的注釋可以用〃/*〃用〃*/〃結束,注釋可以在任何允許插入空格符地方插入。C語言中注釋不允許嵌套,注釋可以用西文,也可以用中文。
1.3 C語言的風格
由於C語言對語法限制不太嚴格,為了保證程序的准確性和可讀性,建議在書寫程序採用階梯縮進格式。也就是按如下格式書寫C語言程序:
**********;
*****()
{
**********;
********;
{
******;
……
}
*********;
}
概括起來,C語言程序具有如下的風格:
①C語言程序的函數具體模塊結構風格,使得程序整體結構清晰、層次清楚,為模塊化程序設計提供了強有力的支持。
②C語言的源程序的擴展名都是.C。
③C語言中的注釋格式為:
/*注釋內容*/
/與*之間不允許有空格,注釋部分允許出現在程序中的任何位置。
④C語言中的所有語句都必須以分號“;”結束。
Ⅶ c語言程序設計 第八章 函數
#include<stdio.h>
#define N 3
void convert(int array[3][3])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
void main()
{
int i,j,a[3][3];
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
convert(a);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}