導航:首頁 > 編程語言 > 函數編程實現計算

函數編程實現計算

發布時間:2022-05-09 04:57:36

A. C語言函數編程實現計算10個數的最大值,要求如下:

#include<stdio.h>
#include<conio.h>

voidarray_input(intarray[],intn);
intmax(intarray[],intn);

intmain(void){
intarray[10];

printf("請輸入10個數據:");
array_input(array,10);

printf("10個元素最大值:%d ",max(array,10));

getch();/*屏幕暫留*/
return0;
}

/*輸入數組*/
voidarray_input(intarray[],intn){
inti;
for(i=0;i<n;i++)
scanf("%d",&array[i]);
putchar(' ');
}

/*計算數組最大值*/
intmax(intarray[],intn){
inti;
intmax=array[0];
for(i=0;i<n;i++){
if(array[i]>max)
max=array[i];
}
returnmax;
}

B. 從鍵盤輸入10個整數,用函數編程實現計算其最大值和最小值,並互換它們在數組中的位置

這應該是C++的代碼,我個人覺得你寫的很混亂,按題目所要求的第一個函數為什麼要後面兩個參數呢,還有交換函數以及全篇用太多的指針我覺得沒有必要,交換函數那裡輸入是數組類型拿一個int類型去接得到的是數組的第一個元素。我下面給你一個實現的代碼參考:

#include<iostream>

using namespace std;


void FindMinMaxAndSwap(int*& nums){

int minID=-1,minValue=nums[0];

int maxID=-1,maxValue=nums[0];

for(int i=0;i<10;i++){

if(nums[i]>=maxValue){

maxValue=nums[i];

maxID=i;

}

if(nums[i]<=minValue){

minValue=nums[i];

minID=i;

}

}

int temp=nums[minID];

nums[minID]=nums[maxID];

nums[maxID]=temp;

}


int main(){

int* a=new int(10);

for(int i=0;i<10;i++)

cin >> a[i];

for(int i=0;i<10;i++)

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

cout << endl;//列印數組顯示一下

FindMinMaxAndSwap(a);

for(int i=0;i<10;i++)

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

cout << endl;

return 0;

}

運行結果如下,親測有效

C. 用函數編程實現計算兩個正整數的最小公倍數(Least Common Multiple,LCM)的函數,在主函數中調用該函數計

int LCM(int a,int b)
{
int c;
if(b>a)
{
c=a;
a=b;
b=c;
}
for(int i=1;;i++)
{
c=i*a;
if(c%b==0)
{
break;
}
}
return c;
}
基礎思想大概是這樣,還有很大的修改空間。因為習慣用for寫,所以寫成這樣,當然用while也可以。。

D. 利用自定義函數編程實現計算一個三位數各位上的數字之積

#include<stdio.h>
#include<stdlib.h>
int main()
{
int number=456,a,b,c;
a=number/100;
b=(number%100)/10;
c=number%10;
printf("%d\n",a*b*c);
system("pause");
return 0;
}

如果寫成函數就是:
int f(int x)
{
int a,b,c;
a=x/100;
b=(x%100)/10;
c=x%10;
return a*b*c;
}

E. 編寫函數實現簡易計算器的功能(C語言)

#include
void
main()
{
float
a,b;
char
d;
do
{
printf("Please
enter
the
two
Numbers,
separated
by
Spaces:\n");
scanf("%f
%f",&a,&b);
printf("Please
select
operation
way:
(-,*,/,^,s,!)\n");
scanf("%s",&d);
switch(d)
{
case'+':
printf("a+b=%f\n",a+b);
break;
case'-':
printf("a-b=%f\n",a-b);
break;
case'*':
printf("a*b=%f\n",a*b);
break;
case'/':
printf("a/b=%f\n",a/b);
break;
default:
printf("input
error\n");
}
printf("Do
you
want
to
continue(Y/N
or
y/n)");
fflush(stdin);
}
while(toupper(getchar())=='Y');
}
可以運行,不知道滿不滿足你的要求,你自己可以試試

F. 如何用C語言編寫程序:調用函數,計算 n!/m!(n-m)!

參考代碼:

#include <stdio.h>
double fact(int num)//定義一個求階乘函數
{
double result = 1.0;
for (int i = 2; i <= num; i++)
{
result *= i;
}
return result;//返回階乘結果
}
int main()
{
int m, n;
double result;

scanf("%d %d", &m, &n);
result = fact(n) / (fact(m) * fact(n-m));
printf("result = %.0f\n", result);

return 0;
}

G. 3. 編寫函數實現任意兩個整數求和,在主函數中輸出計算結果

#include<stdio.h>

int sum(int a,int b)

{return a+b;

}

int main(void)

{ int a,b;

scanf("%d%d",&a,&b);

printf("%d ", sum(a,b));

return 0;

}

===============================

#include<stdio.h>

#include<math.h>

double fun(double x)

{return x*x-6*x+2;

}

int main()

{ double a;

scanf("%lf",&a);

printf("%f ", fun(cos(a)));

return 0;

}

H. 輸入m*n階矩陣A和B,用函數編程實現兩個函數相加和相乘

輸入m*n階矩陣A和B,用C語言編程實現兩個函數相加和相乘:

一、矩陣相乘。程序中先初始化矩陣,然後判斷第一個矩陣的列數和第二個矩陣的行數是否相等,如果不相等則直接提示錯誤後退出程序。相等的話則利用公式計算乘積,結果賦給matrix二維數組。最後用for循環列印出結果驗證。

#include<stdio.h>

#include<stdlib.h>

#define M 100

int main(void)

{

int i,j,k,matrix1[M][M],matrix2[M][M],row1,col1,row2,col2,matrix[M][M];

printf("輸入第一個矩陣的行數和列數:");

scanf("%d%d",&row1,&col1);

printf("輸入第一個矩陣: ");

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

for(j=0;j<col1;j++){

scanf("%d",&matrix1[i][j]);

}

}

printf("輸入第二個矩陣的行數和列數:");

scanf("%d%d",&row2,&col2);

printf("輸入第二個矩陣: ");

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

for(j=0;j<col2;j++){

scanf("%d",&matrix2[i][j]);

}}

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

for(j=0;j<col2;j++){

matrix[i][j]=0;

} }

if(col1!=row2){

fprintf(stderr,"enput error!");

exit(EXIT_FAILURE);

}

printf("The result: ");

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

for(j=0;j<col2;j++){

for(k=0;k<col1;k++){

matrix[i][j]=matrix[i][j]+matrix1[i][k]*matrix2[k][j];

} } }

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

for(j=0;j<col2;j++){

printf("%d ",matrix[i][j]); }

printf(" "); }

return 0;}



二、矩陣相加:

#include<stdio.h>

#define M 20

#define N 20

float A[M][N];

float B[M][N];

float C[M][N];

int i,j,m,n,p,q;

float y=1.0;

void main()

{

scanf("%d,%d",&i,&j);

printf("請輸入矩陣B的行數和列數(用逗號隔開):");

scanf("%d,%d",&m,&n);

if(i!=m||j!=n)

printf("***對不起,您輸入的兩個矩陣不能相加,請重試.*** ");

else printf("請輸入矩陣A: ");

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

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

scanf("%f",&A[p][q]);

printf("輸出矩陣A: ");

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

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

{

printf("%10.2f",A[p][q]);

if((q+1)%j==0)

printf(" ");

}

printf("請輸入矩陣B: ");

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

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

scanf("%f",&B[p][q]);

printf("輸出矩陣B: ");

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

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

{

printf("%10.2f",B[p][q]);

if((q+1)%j==0)

printf(" ");

}

printf("矩陣A+矩陣B為: "); //計算兩個矩陣相加

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

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

C[p][q]=A[p][q]+B[p][q];

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

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

{

printf("%10.2f",C[p][q]);

if((q+1)%j==0)

printf(" ");

}

};

I. 使用c語言編程,用函數實現一個計算器,在主函數中調用函數,包括加減乘除,乘方,絕對值和sin函數。

#include<stdio.h>
#include<stdlib.h>
double jia(double a,double b)
{
return a+b;
}
double jian(double a,double b)
{
return a-b;
}
double cheng(double a,double b)
{
return a*b;
}
double chu(double a,double b)
{
return a/b;
}
double juei(double a)
{
return a>0 ? a : -a;
}
double chengfang(double a,double b)
{
return pow(a,b);
}
double sinx(double a)
{
return sin(a);
}
int main()
{
int m;
double a,b;

while(1)
{
printf("請輸入第一個操作數:");
scanf("%lf",&a);
printf("0、退出\n1、加\n2、減\n3、乘\n4、除\n5、絕對值\n6、乘方\n7sin、\n請選擇一個:");
scanf("%d",&m);
if(1==m || 2==m || 3==m || 4==m || 6==m)
{
printf("請輸入第二個操作數:");
scanf("%lf",&b);
}
switch(m)
{
case 0:
exit(0);
break;
case 1:
printf("%lf+%lf=%lf\n",a,b,jia(a,b));
break;
case 2:
printf("%lf-%lf=%lf\n",a,b,jian(a,b));
break;
case 3:
printf("%lf*%lf=%lf\n",a,b,cheng(a,b));
break;
case 4:
if(0.0==b)
{
printf("除數不能為0。\n");
}
else
{
printf("%lf/%lf=%lf\n",a,b,chu(a,b));
}
break;
case 5:
printf("|%lf|=%lf\n",a,juei(a));
break;
case 6:
printf("%lf的%lf方=%lf\n",a,b,chengfang(a,b));
break;
case 7:
printf("sin(%lf)=%lf\n",a,sinx(a));
break;
default:
printf("無法處理的命令。\n");
break;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}

J. 從鍵盤輸入10個整數,用函數編程實現計算其最大值和最小值,並互換他們

#include"stdio.h"voidmain(){inta[10];inti;intmax,min;for(i=0;i<10;i++)scanf("%d",&a[i]);max=min=a[0];for(i=1;i<10;i++){if(maxa[i])min=a[i];}printf("max=%d,min=%d\n",max,min);}

閱讀全文

與函數編程實現計算相關的資料

熱點內容
天正建築批量刪除命令 瀏覽:94
cad最下面的一排命令都什麼意思 瀏覽:456
pythonimportcpp 瀏覽:850
W10的系統怎麼給U盤加密 瀏覽:370
華為手機代碼編程教學入門 瀏覽:762
和彩雲沒會員怎樣解壓 瀏覽:634
androidimageview保存 瀏覽:387
新買店鋪什麼伺服器 瀏覽:883
文件夾能直接刻錄嗎 瀏覽:493
androidxmpp刪除好友 瀏覽:969
javac哪個前景好 瀏覽:427
中華英才網app為什麼不能搜索了 瀏覽:660
伺服器域名是什麼意思 瀏覽:52
Linux導出mysql命令 瀏覽:159
無詐建鄴是什麼app 瀏覽:228
python中的雙色球 瀏覽:167
python解釋器里如何換行 瀏覽:412
python編寫格式 瀏覽:576
用python做出來的軟體 瀏覽:469
伺服器指示燈代表什麼 瀏覽:702