思路:用數(shù)組操作,將自然數(shù)先求出他的長度,再將它換成對應(yīng)位的權(quán)積存入數(shù)組中,然后累加得到結(jié)果。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蘇尼特右企業(yè)網(wǎng)站建設(shè),蘇尼特右品牌網(wǎng)站建設(shè),網(wǎng)站定制,蘇尼特右網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,蘇尼特右網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
#includeiostream
using
namespace
std;
#includemath.h
int
fun(int
n)
{
int
a[10],cnt(1),m(n),k(0);
while(m10)
//while循環(huán)求數(shù)字的長度,看是幾位數(shù)
{
cnt++;
m/=10;
}
for(int
i=0;icnt;i++)
//將每一位和點到循序后的位權(quán)乘積存入數(shù)組中,并球累加和
{
int
s=pow(10,i+1);
int
t=pow(10,i);
int
r=pow(10,cnt-i-1);
a[i]=(n%s)/t*r;
k+=a[i];
}
return
k;
}
int
main()
{
coutfun(23456);
//用了多組數(shù)測試均成功!??!
return
0;
}
在C語言中,一個標準的函數(shù)定義語句塊必須包含函數(shù)返回值的類型標識符、函數(shù)名、形參類型及數(shù)量、函數(shù)體、返回值表達式。如果函數(shù)返回值類型為 void (即無返回值),則在兩個大括號之間不能寫帶有返回值表達式的 return 語句,否則編譯器就會報錯。你寫的 test 函數(shù)返回值類型為 void,而你在函數(shù)定義語句塊內(nèi)寫下了 return 語句,編譯器自然會報錯了。
你可以將這個函數(shù)修改為以下形式:
int test(int n)
{
int m = n / 2;
return m;
}
1、編寫函數(shù)func1,實現(xiàn)求兩個數(shù)的最大公約數(shù)。
1:
int
fuc1(int
a,int
b)
{
if(a%b==0)
return
b;
return
fuc(b,a%b);
}
int
t=fuc1(a,b);//t為a,b最大公約數(shù)。
2、編寫函數(shù)func2,實現(xiàn)求兩個自然數(shù)之間的奇數(shù)的和。
2
int
fuc2(int
a,int
b)
{
int
sum=0;
int
i;
for(i=a;i=b;i++)
if(i%2==1)
sum+=i;
return
sum;
}
int
t=fuc2(a,b);//t為a,b間所有奇數(shù)之和。
3、編寫函數(shù)func1,實現(xiàn)求一個自然數(shù)的階乘(要求用遞歸的方法)。
int
fuc1(int
k)
{
if(k==1)
return
1;
return
k*fuc(k-1);
}
int
t=fuc1(a);//t為a的階乘.
4、編寫函數(shù)func2,實現(xiàn)求兩個自然數(shù)之間的偶數(shù)的和。
int
fuc2(int
a,int
b)
{
int
sum=0;
int
i;
for(i=a;i=b;i++)
if(i%2==0)
sum+=i;
return
sum;
}
int
t=fuc2(a,b);//t為a,b間所有偶數(shù)之和。
#include stdio.h
void paixu(int a[], int n);
int main()
{
int a[10];
int i, j, t;
int x;
printf("請輸入10個數(shù)據(jù):\n");
for (i = 0; i 10; i++)
scanf("%d", a[i]);
paixu(a, 10);
}
void paixu(int a[], int n)
{
int i, j, t;
for (i = 0; i n; i++)
for (j = 0; j n - 1 - i; j++)
if (a[j] a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
for (i = 0; i n; i++)
printf("%-4d", a[i]);
printf("\n");
}