《C語言實(shí)驗(yàn)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語言實(shí)驗(yàn)報(bào)告.doc(57頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
______________________________________________________________________________________________________________
手工打造天然無添加O(∩_∩)O
姓名:陳程潔
學(xué)號(hào):201612203502001
專業(yè)班級(jí):醫(yī)學(xué)信息工程16級(jí)2班
實(shí)驗(yàn)一 熟悉C語言編程環(huán)境
調(diào)試示例:
#include
int main()
{
printf("Welcome to you!\n");
return 0;
}
基礎(chǔ)編程題
(1)輸出短句:在屏幕上顯示一個(gè)短句“Programming in C is fun!”。
#include
int main()
{
printf("Programming in C is fun!\n ");
return 0;
}
(2)輸出三角形:在屏幕上顯示下列三角形圖案。
#include
int main()
{
int i,j;
for(i=0;i<4;i++)
{
for(j=4;j>i;j--)
printf("* ");
printf("\n");
}
return 0;
}
(3)輸出菱形圖案:在屏幕上顯示下列菱形圖案。
#include
int main()
{
printf(" A \n" );
printf("A A\n");
printf(" A \n");
return 0;
}
改錯(cuò)題:輸出帶框文字:在屏幕上輸出以下3行信息。
*************
Welcome
*************
#include
int main()
{
printf("* * * * * * * * * * * * * \n");
printf("Welcome\n");
printf("* * * * * * * * * * * * * \n");
return 0;
}
拓展編程題:
(1) 輸出短句(What is a computer?):在屏幕上顯示一個(gè)短句“What is a computer?”
#include
int main()
{
printf("What is a computer?\n");
return 0;
}
(2) 輸出倒三角形圖案:在屏幕上顯示下列倒三角圖案。
#include
int main()
{
int i,j,k;
for(j=4;j>0;j--)
{
for(i=0;i<4-j;i++)
printf(" ");
for(i=0;i
int main()
{
int celsius,fahr;
fahr=100;
celsius =5*(fahr -32 )/9;
printf("fahr=%d,celsius=%d \n",fahr,celsius);
return 0;
}
基礎(chǔ)編程題
(1) 溫度轉(zhuǎn)換:求華氏溫度150°F對應(yīng)的攝氏溫度。
#include
int main()
{
int celsius,fahr;
fahr=150;
celsius =5*fahr/9-5*32/9;
printf("fahr=%d,celsius=%d \n",fahr,celsius);
return 0;
}
(2) 計(jì)算物體自由下落的距離:一個(gè)物體從100m的高空自由落下,編寫程序,求它在前面3s內(nèi)下落的垂直距離。設(shè)重力加速度為10m/s2。
#include
int main()
{
int h,g,t;
g=10;
t=3;
h=g*t*t/2;
printf("height=%d\n",h);
return 0;
}
(3) 計(jì)算平均分:已知某為學(xué)生的數(shù)學(xué)、英語和計(jì)算機(jī)課程的成績分別是87分、72分和93分,求該生3門課程的平均分。
#include
int main()
{
int Mt,Eg,Cp;
Mt=87;
Eg=72;
Cp=93;
printf("math=%d,end=%d,comp=%d,average=%d",Mt,Eg,Cp,(Mt+Eg+Cp)/3);
return 0;
}
改錯(cuò)題:計(jì)算某個(gè)數(shù)的平方賦值給y;分別以“y=x*x”和“x*x=y”的形式輸出x和y的值。請不要?jiǎng)h除源程序中的任何注釋。
示例:
9=3*3
3*3=9
#include
int main(void)
{
int x,y;
scanf("%d",&x);
y=x*x;
printf("%d = %d * %d\n",y,x,x); /*ê?3?*/
printf("%d * %d = %d\n",x,x,y);
return 0 ;
}
拓展編程題
(1) 計(jì)算華氏溫度:求攝氏溫度26°C對應(yīng)的華氏溫度。計(jì)算公式如下:
f=(9/5)xc+32 其中,c表示攝氏溫度,f表示華氏溫度。
#include
int main(void)
{
int c,f;
c=26;
f=9*c/5+32;
printf("celsius=%d,fahr=%d",c,f);
return 0 ;}
(2) 求一個(gè)三位數(shù)的各位數(shù)字:當(dāng)n為152時(shí),分別求出n的個(gè)位數(shù)字(digit1)、十位數(shù)(digit2)和百位數(shù)字(digit3)的值。
#include
int main(void)
{
int n,digit1,digit2,digit3;
n=152;
digit1=n%10;
digit2=(n/10)%10;
digit3=n/100;
printf("整數(shù)%d的個(gè)位數(shù)字是%d,十位數(shù)字是%d,百位數(shù)字%d\n",n,digit1,digit2,digit3);
return 0 ;
}
2.2 計(jì)算分段函數(shù)
調(diào)試示例
#include
int main(void)
{
double x,y;
printf("Enter x:");
scanf("%lf",&x);
if(x!=0)
{
y=1/x;
}
else
y=0;
printf("f(%.2f)=%.1f\n",x,y);
return 0 ;
}
基礎(chǔ)編程題
(1) 計(jì)算攝氏溫度:輸入華氏溫度,輸出對應(yīng)的攝氏溫度。
#include
int main()
{
int c,f;
scanf("%d",&f);
c=5*(f-32)/9;
printf("fahr = %d\n",c);
return 0;
}
(2)計(jì)算存款利息:輸入存款金額money,存期year和年利率rate,根據(jù)下列公式計(jì)算存款到期時(shí)的利息interest(稅前),輸出時(shí)保留2位小數(shù)。
#include
#include
int main()
{
int m,y;
double r,i;
scanf("%d %d %lf",&m,&y,&r)
printf("money = %d,year = %d,rate = %f\n",m,y,r);
i=m*pow(1+r,y)-m;
printf("interest = %.2f",i);
return 0;
}
(2) 計(jì)算分段函數(shù):輸入x,計(jì)算并輸出下列分段函數(shù)f(x)的值(保留2位小數(shù)),請調(diào)用sqrt函數(shù)求平方根,調(diào)用pow函數(shù)求冪。
#include
#include
int main(void)
{
double x,y;
scanf("%lf",&x);
if(x<0)
y=pow(x+1,2)+2*x+1/x;
else
y=sqrt(x);
printf("f(%.2f)=%.2f",x,y);
return 0 ;
}
改錯(cuò)題:計(jì)算f(x)的值:輸入實(shí)數(shù)x,計(jì)算并輸出下列分段函數(shù)f(x)的值,輸出是保留1位小數(shù)。
#include
int main(void)
{
double x,y;
printf("Enter x:");
scanf("%lf",&x);
if(x==10)
y=1/x;
else
y=x;
printf("f(%.1f)=%.1f",x,y);
return 0 ;
}
拓展編程題
(1) 整數(shù)四則運(yùn)算:輸入兩個(gè)整數(shù)num1和num2,計(jì)算并輸出他們的和、差、積、商與余數(shù)。
#include
int main(void)
{
int num1,num2;
scanf("%d%d",&num1,&num2);
printf("%d+%d=%d\n",num1,num2,num1+num2);
printf("%d-%d=%d\n",num1,num2,num1-num2);
printf("%d*%d=%d\n",num1,num2,num1*num2);
printf("%d/%d=%d\n",num1,num2,num1/num2);
printf("%d%%%d=%d",num1,num2,num1%num2);
return 0 ;
}
(2) 階梯電價(jià)。
#include
int main(void)
{
int x;
double y;
scanf("%d",&x);
if(x<=50)
y=0.53*x;
else
{
y=0.53*50+(x-50)*0.58;
}
printf("cost=%.2f",y);
return 0 ;
}
(3) 計(jì)算火車運(yùn)行時(shí)間:
#include
#include
int main()
{
int a,b,m,n;
scanf("%d %d",&a,&b);
if((b%100-a%100)<0)
{
m=((b-a)/100)%10 ;
n= b%100 + 60 -a%100;
}
if((b%100-a%100)>=0)
{
m=((b-a)/100)%10 ;
n=b%100-a%100;
}
printf("The train journey time is %d hrs %d mins.",m,n);
return 0;
}
2.3指定次數(shù)循環(huán)
調(diào)試示例
#include
int main()
{
int i,sum;
sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum= %d \n",sum);
return 0;
}
基礎(chǔ)編程題
(1) 求給定序列(1+1/2+1/3+…)前n項(xiàng)和:輸入一個(gè)正整數(shù)n,計(jì)算序列1+1/2+1/3+…的前n項(xiàng)和。
#include
int main()
{
int n;
double sum,i;
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
{
sum=sum+1/i;
}
printf("sum=%.6f",sum);
return 0;
}
(2) 求給定序列(1+1/3+1/5+…)的前n項(xiàng)和:入一個(gè)正整數(shù)n,計(jì)算序列1+1/3+1/5+…的前n項(xiàng)和。
#include
int main()
{
int n;
double sum,i;
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
{
sum=sum+1/(i*2-1);
}
printf("sum=%.6f",sum);
return 0;
}
(3) 求給定數(shù)列(1-1/4+1/7-1/10+…)前n項(xiàng)和:入一個(gè)正整數(shù)n,計(jì)算序列1-1/4+1/7-1/10+…的前n項(xiàng)和。
#include
int main()
{
int n,item=1;
double sum,i;
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
{
sum=sum+(1/(3*i-2))*item;
item=-item;
}
printf("sum=%.3f",sum);
return 0;
}
改錯(cuò)題:輸出華氏-攝氏溫度轉(zhuǎn)換表:
#include
int main()
{
int fahr,lower,upper;
double celsius;
printf("Enter lower:");
scanf("%d",&lower);
printf("Enter upper:");
scanf("%d",&upper);
printf("fahr celsius\n");
for(fahr=lower;fahr<=upper;fahr=fahr+2)
{
celsius=(5.0/9.0)*(fahr-32.0);
printf("%d %.1f\n",fahr,celsius);
}
return 0;
}
拓展編程題
(1) 求交錯(cuò)序列前n項(xiàng)和:輸入一個(gè)正整數(shù)n,計(jì)算交錯(cuò)序列1-2/3+3/5-4/7+5/9-6/11…的前n項(xiàng)之和,輸出時(shí)保留3位小數(shù)。
#include
int main()
{
int n,item=1;
double sum=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+(i/(2*i-1))*item;
item=-item;
}
printf("sum=%.3f\n",sum);
return 0;
}
(2) 序列求和(mxm+1/m+(m+1)x(m+1)+…):輸入兩個(gè)正整數(shù)m和n(0
int main()
{
int m,n;
double sum=0,i;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
sum=sum+i*i+1/i;
printf("sum=%.6f\n",sum);
return 0;
}
2.4使用函數(shù)
調(diào)試示例
#include
int is(int number);
int main()
{
int count,i,sum;
count=0;
sum=0;
for(i=100;i<=999;i++)
if(is(i)==1){
count++;
sum=sum+i;
}
printf("count=%d,sum=%d\n",count,sum);
return 0;
}
int is(int number)
{
int a,b,c,result,sum;
a=number/100;
b=(number/10)%10;
c=number%10;
sum=a+b+c;
if(sum==5)
result=1;
else
result=0;
return result;
}
基礎(chǔ)編程題
(1) 生成3的乘方表:輸入一個(gè)正整數(shù)n,生成一張3的乘方表,輸出3^0到3^n的值,可以調(diào)用冪函數(shù)計(jì)算3的成方表。
#include
#include
int main()
{
int n;
scanf("%d",&n);
int i;
for(i=0;i<=n;i++)
{
printf("pow(3,%d)=%.0f\n",i,pow(3,i));
}
return 0;
}
(2) 平方根求和:輸入一個(gè)正整數(shù)n,計(jì)算1+√2+√3+…+√n的值(保留2位小數(shù))。包含頭文件math.h,并調(diào)用sqrt函數(shù)求平方根。
#include
#include
int main()
{
int n,i;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+sqrt(i);
printf("sum=%.2f",sum);
return 0;
}
(3) 求給定序列(1!+2!+…)的前n項(xiàng)和:輸入一個(gè)正整數(shù)n,求e=1!+2!+3!+…+n!的值。要求定義和調(diào)用函數(shù)fact(n)計(jì)算n!,函數(shù)類型是double。
#include
double fact(double n);
int main()
{
int n,sum=0;
double i;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+fact(i);
printf("e=%d",sum);
return 0;
}
double fact(double n)
{
int i;
double sum=1.0;
for(i=1;i<=n;i++)
sum=sum*i;
return sum;
}
改錯(cuò)題:計(jì)算x^n:
#include
double mypow(double x,int n);
int main()
{
int n;
double result,x;
printf("Enter x,n:");
scanf("%lf%d",&x,&n);
result=mypow(x,n);
printf("result=%.6f\n",result);
return 0;
}
double mypow(double x,int n)
{
int i;
double result;
result=1;
for(i=1;i<=n;i++)
result=result*x;
return result;
}
拓展編程題
(1) 求冪之和:輸入一個(gè)正整數(shù)n,求下列式子的和,可以調(diào)用pow函數(shù)求冪。
#include
#include
double fact(double n);
int main()
{
int n,i;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+pow(2,i);
printf("sum=%.0f\n",sum);
return 0;
}
(2) 求組合數(shù):
#include
double fact(double n);
int main()
{
int n,m;
double sum;
scanf("%d%d",&m,&n);
sum=fact(n)/(fact(m)*fact(n-m));
printf("result=%.0f \n",sum);
return 0;
}
double fact(double n)
{
int i;
double sum=1.0;
for(i=1;i<=n;i++)
sum=sum*i;
return sum;
}
實(shí)驗(yàn)三 分支結(jié)構(gòu)程序設(shè)計(jì)
調(diào)試示例:求一元二次方程的根:
#include
#include
int main()
{
double a,b,c,d;
printf("Enter a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;
if(a==0)
{
if(b==0)
{
if(c==0)
printf("參數(shù)都為零,方程無意義!\n");
else
printf("a和b為0,c不為0,方程不成立\n");
}
else
printf("x=%.2f\n",-c/b);
}
else
if(d>0)
{
printf("x1=%.2f\n",(-b+sqrt(d))/(2*a));
printf("x2=%.2f\n",(-b-sqrt(d))/(2*a));
}
else
{
printf("x1=%.2f+%.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
printf("x2=%.2f-%.2fi\n",-b/(2*a),sqrt(-d)/(2*a));
}
return 0;
}
基礎(chǔ)編程題
(1) 計(jì)算符號(hào)函數(shù)的值:輸入x,計(jì)算并輸出下列分段函數(shù)sigh(x)的值。試編寫相應(yīng)程序。
#include
int main()
{
int x,y;
scanf("%d",&x);
if(x<0)
printf("sign(%d)=-1",x);
else if(x==0)
printf("sign(%d)=0",x);
else
printf("sign(%d)=1",x);
return 0;
}
(2) 比較大?。狠斎?個(gè)整數(shù),按從小到大的順序輸出。試編寫相應(yīng)程序。
#include
int main()
{
int a[10];
int i;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
int j;
for(j=2;j>0;j--)
{
for(i=1;i<=j;i++)
{
if(a[i]",a[i]);
printf("%d\n",a[2]);
return 0;
}
(3) 分類統(tǒng)計(jì)字符:輸入15個(gè)字符,統(tǒng)計(jì)其中英文字母、空格或回車、數(shù)字字符和其他字符的個(gè)數(shù)。試編寫相應(yīng)程序。
//無法統(tǒng)計(jì)回車
#include
int main()
{
char a[15];
int i,letter=0,blank=0,digit=0,other=0;
gets(a);
for(i=0;i<15;i++)
{
if(a[i]>47 && a[i]<58)
digit++;
else if( (a[i]>64 && a[i]<91)||(a[i]>96 && a[i]<123))
letter++;
else if( a[i]==32 || a[i]=='\n')
blank++;
else
other++;
}
printf("letter=%d\nblank=%d\ndigit=%d\nother=%d\n",letter,blank,digit,other);
return 0;
}
(4) 查詢水果價(jià)格
#include
int main()
{
double a[5]={0,3.0,2.5,4.1,10.2};
int x;
int k=5;
while(k--)
{
scanf("%d",&x);
if(x==0)
break;
else
printf("price=%.1f\n",a[x]);
}
return 0;}
(5) 計(jì)算個(gè)人所得稅
#include
int main()
{
int gz;
double shui;
scanf("%d",&gz);
if(gz<=1600)
shui=0;
else if(gz>1600 && gz<=2500)
shui=0.05*(gz-1600);
else if(gz>2500 && gz<=3500)
shui=0.1*(gz-1600);
else if(gz>3500 && gz<=4500)
shui=0.15*(gz-1600);
else
shui=0.2*(gz-1600);
printf("%.2f\n",shui);
return 0;
}
(6) 統(tǒng)計(jì)學(xué)生成績
#include
int main()
{
int a=0,b=0,c=0,d=0,e=0;
int n,x;
scanf("%d",&n);
while(n--)
{
scanf("%d",&x);
if(x>=90 &&x<=100)
a++;
else if(x<90 && x>=80)
b++;
else if(x<80 && x>=70)
c++;
else if(x<70 && x>=60)
d++;
else
e++;
}
printf("%d %d %d %d %d\n",a,b,c,d,e);
return 0;
}
改錯(cuò)題:輸出三角形面積和周長
#include
#include
int main()
{
double a,b,c;
double area,perimeter,s;
printf("Enter 3 siders of the triangle:");
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c && b+c>a && a+c>b)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=a+b+c;
printf("area=%.2f;perimeter=%.2f\n",area,perimeter);
}
else
printf("These sides do not correspond to a valid triangle\n");
return 0;
}
拓展編程題
(1) 三天打魚兩天曬網(wǎng):
#include
#include
int main()
{
int day,yu;
scanf("%d",&day);
yu=day%5;
if(yu-3>0 || yu==0)
printf("Drying in day %d\n",day);
else
printf("Fishing in day %d\n",day);
return 0;
}
(2) 高速公路超速處罰:
#include
int main()
{
double v,xian;
scanf("%lf%lf",&v,&xian);
double exceed;
exceed=((v/xian)-1)*100;
if(exceed<50 && exceed>=10)
printf("Exceed %.0f%%.Ticket 200\n",exceed);
else if(exceed>=50)
printf("Exceed %.0f%%.Ticket Revoked\n",exceed);
else
printf("OK\n");
return 0;
}
(3) 計(jì)算油費(fèi)
#include
int main()
{
int a,bi;
double sum=0, b[1000];
char c;
b[90]=6.95;
b[93]=7.44;
b[97]=7.93;
scanf("%d%d %c",&a,&bi,&c);
if(c=='m')
sum=a*b[bi]*0.95;
else
sum=a*b[bi]*0.97;
printf("%.2f\n",sum);
return 0;
}
實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
4.1 基本循環(huán)語句的使用
調(diào)試示例:最大公約數(shù)和最小公倍數(shù)。
#include
double fact(double n);
int main()
{
int m,n,j,k;
do{
printf("Input m:");
scanf("%d",&m);
printf("Input n:");
scanf("%d",&n);
}while(m<0 || n<0);
j=m;
while(j%n!=0)
j=j+m;
k=(m*n)/j;
printf("最大公約數(shù)是%d\n最小公倍數(shù)是%d\n",k,j);
return 0;
}
基礎(chǔ)編程題
(1) 求奇數(shù)和:
#include
int main()
{
int n,sum=0;
while(scanf("%d",&n))
{
if(n<=0)
break;
if(n%2!=0)
sum=sum+n;
}
printf("%d\n",sum);
return 0;
}
(2) 求最小值:輸入一個(gè)正整數(shù)n,再輸入n個(gè)整數(shù),輸出最小值。試編寫相應(yīng)程序。
#include
int main()
{
int n,x[1000],i,j;
scanf("%d",&n);
for(i=0;i0;j--)
{
for(i=1;i
int main()
{
int x,i,n;
scanf("%d",&x);
int k=1,sum=0;
for(i=1;x/10 >1 || x/10 <-1;i++)
{
k++;
sum=sum+x%10;
x=x/10;
}
sum=sum+x;
printf("%d %d",k,sum);
return 0;
}
(4) 韓信點(diǎn)兵:
(5) 求序列前n項(xiàng)和:輸入一個(gè)正整數(shù)n,輸出2/1+3/2+5/3+8/5+…的前n項(xiàng)之和(該序列從第二項(xiàng)起,每一項(xiàng)的分子是前一項(xiàng)的分子與分母的和,分母是前一項(xiàng)的分子),保留2位小數(shù)。試編寫相應(yīng)程序。
#include
int main()
{
int n;
double i;
double sum=0;
scanf("%d",&n);
double a=2.0,b=1.0;
for(i=1;i<=n;i++)
{
sum=sum+a/b;
int k=a;
a=a+b;
b=k;
}
printf("%.2f\n",sum);
return 0;
}
(6) 求a+aa+aaa+aaaa+aaa…a(n個(gè)a):輸入兩個(gè)正整數(shù)a和n,求a+aa+aaa+aaaa+aaa…a(n個(gè)a)之和。試編寫相應(yīng)程序。
#include
#include
int main()
{
int a,j,i,n;
double sum, p;
scanf("%d%d",&a,&n);
sum=0;
for(i=n;i>0;i--)
sum=sum+i*a*pow(10,n-i);
printf("%.0f\n",sum);
return 0;
}
改錯(cuò)題:序列求和:輸入一個(gè)正整數(shù)eps,計(jì)算并輸出下式的值,精確到最后一項(xiàng)的絕對值小于eps(保留6位小數(shù))。請使用do-while語句實(shí)現(xiàn)循環(huán)。
#include
#include
int main()
{
int flag,n;
double eps,item,s;
printf("Input eps:");
scanf("%lf",&eps);
flag=1;
s=0;
n=1;
do{
item=1.0/n;
s=s+item*flag;
flag=-flag;
n=n+3;
}while(fabs(item*flag)>=eps);
printf("s=%.6f\n",s);
return 0;
}
拓展編程題:
(1) 猜數(shù)字游戲:
#include
int main()
{
int x,n;
int a,i;
scanf("%d%d",&x,&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a);
if(a>x)printf("Too big\n");
else if(a1)
{
printf("Lucky You!\n");
break;
}
else if(a==x && i==1)
{
printf("Bingo\n");
break;
}
else
{
printf("Good Guess!\n");
break;
}
}
if(i>n)printf("Game Over\n");
return 0;
}
(2) 兔子繁衍問題:
(3) 高空墜球:皮球從hight米的高度自由落下,觸地后反彈到原高度的一半,再落下,再反彈,如此反復(fù)。皮球在第n次反彈落地時(shí),在空中經(jīng)過的路程是多少米?第n次反彈的高度是多少?試編寫相應(yīng)程序,輸出保留1位小數(shù)。
#include
int main()
{
double hight,sum=0;
int i,n;
scanf("%lf",&hight);
scanf("%d",&n);
sum=hight;
for(i=1;i<=n;i++)
{
hight=hight/2.0;
sum=sum+2*hight;
}
printf("%.1f %.1f",sum,hight);
return 0;
}
(4) 黑洞數(shù):黑洞數(shù)也稱為陷阱數(shù),又稱“Kaprekar問題”,是一類具有奇特轉(zhuǎn)換特性的數(shù)。任何一個(gè)數(shù)字不全相同的三位數(shù),經(jīng)有限次“重拍求差”操作,(即組成該數(shù)的數(shù)字重拍后的最大數(shù)減去重拍后的最小數(shù)),總會(huì)得到495。最后所得495即為三位黑洞數(shù)。(6174為四位黑洞數(shù))。
#include
#include
using namespace std;
int main()
{
int x,i;
int a[3];
scanf("%d",&x);
while(x!=495)
{
a[0]=x%10;
a[1]=(x/10)%10;
a[2]=x/100;
sort(a,a+3);
int max,min;
max=a[2]*100+a[1]*10+a[0];
min=a[0]*100+a[1]*10+a[2];
x=max-min;
printf("%d-%d=%d\n",max,min,x);
}
return 0;
}
4.2 嵌套循環(huán)
調(diào)試示例:求e:輸入一個(gè)正整數(shù)n,計(jì)算下式的和(保留4位小數(shù)),要求使用嵌套循環(huán)。
#include
int main()
{
double e,item;
int i,j,n;
printf("Input n:");
scanf("%d",&n);
e=1;
for(i=1;i<=n;i++)
{
item=1;
for(j=1;j<=i;j++)
item=item*j;
e=e+1.0/item;
}
printf("e=%.4f\n",e);
return 0;
}
基礎(chǔ)編程題
(1) 用兩種方法求e:輸入一個(gè)正整數(shù)n,用兩種方法分別計(jì)算下式的和(保留4位小數(shù))
① 使用一重循環(huán),不使用自定義函數(shù)。
#include
int main()
{
double e,item;
int i,j,n;
printf("Input n:");
scanf("%d",&n);
e=1;
item=1;
for(i=1;i<=n;i++)
{
item=item*i;
if(i==n)
{
i=0;
n=n-1;
鏈接地址:http://m.jqnhouse.com/p-1575083.html