1. (10分) c-lab4-1 求e的近似值
題目描述
自然常數e可以用級數
1+1/1!+1/2!+…+1/n!
來近似計算。從鍵盤輸入精度要求
輸入描述
從鍵盤輸入精度要求(double型)
輸出描述
輸出e的近似值
輸入樣例
0.000001
0.001
輸出樣例
e=2.7182818011
e=2.7182539683
用戶代碼
#include<stdio.h>
int main()
{
double a=1,b,i,j=1,e=1;
scanf("%lf",&b);
while(a>=b)
{
a=1;
for(i=1;i<=j;i++)
{
a=a*1.0/i;
}
e=e+a;
j++;
}
printf("e=%.10f",e);
}
最後保存時間: 2019-11-18 17:56:17
本題得分:10分(2/2)
查看最新評判結果
2. (15分) c-lab4-2 分解質因數
題目描述
將一個正整數分解質因數。例如:輸入90,打印出90=233*5。
提示:對n分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已結束,打印出即可。
(2)如果n!=k,但n能被k整除,則應打印出k的值,並用n除以k的商,作爲新的正整數n,重複執行第一步。
(3)如果n不能被k整除,則用k+1作爲k的值,重複執行第一步。
輸入描述
從鍵盤輸入任意一個合數,如輸入90
輸出描述
輸出90=233*5
輸入樣例
60
輸出樣例
60=223*5
用戶代碼
#include<stdio.h>
int main()
{
int k=2,n;
scanf("%d",&n);
printf("%d=",n);
while(n>=k)
{
if(n==k)
{
printf("%d",k);break;
}
else if(n!=k)
{
if(n%k==0)
{
printf("%d*",k);
n=n/k;
}
else if(n%k!=0)
{
k++;
}
}
}
return 0;
}
最後保存時間: 2019-11-18 19:35:58
本題得分:15分(2/2)
查看最新評判結果
3. (15分) c-lab4-4 分數統計
題目描述
某位老師需要分別統計若干個班某項考試的平均分,但每個班的人數都不相同(人數由鍵盤輸入),請寫個程序輔助他儘快完成任務。如果輸入的成績不在[0,100]範圍內,則重新輸入
要求保留兩位小數。
輸入描述
由鍵盤輸入n+1個數,其中第一個數爲班級學生人數如3,其後n個整數爲這n個學生的成績(如78 89 90)。如果學生成績不在[0,100]範圍,重新輸入。
輸出描述
輸出這個班的平均成績(保留兩位小數)
輸入樣例
//以下爲多組測試數據
3 78 89 90
7 80 76 89 56 95 109 78 94
輸出樣例
//以下爲多組數據對應的輸出
該班的平均分爲:85.67(英文標點)
該班的平均分爲:81.14
用戶代碼
#include<stdio.h>
int main()
{
double i,a,b,s=0,avg;
scanf("%lf",&a);
for(i=1;i<=a;i++)
{
scanf("%lf",&b);
if(b<0||b>100)
{
while(b<0||b>100)
scanf("%lf",&b);
}
s=s+b;
}
avg=s/a;
printf("該班的平均分爲:%.2f",avg);
return 0;
}
最後保存時間: 2019-11-18 20:21:44
本題得分:15分(3/3)
查看最新評判結果
4. (15分) c-lab4-3 空心矩形
題目描述
根據用戶輸入的整數長度和寬度,用星號”*”畫出一個空心矩形。
輸入描述
從鍵盤輸入長度和寬度
輸出描述
空心矩形
輸入樣例
3 6
輸出樣例
用戶代碼
#include<stdio.h>
int main()
{
int a,b,i,j;
scanf("%d%d",&a,&b);
for(i=1;i<=a;i++)
{
if(i==1)//打印第一行
{
for(j=1;j<=b;j++)
printf("*");
printf("\n");
}
if (1<i&&i<a)//打印中間的空心行
{
printf("*");
for(j=1;j<=b-2;j++)
printf(" ");
printf("*\n");
}
if(i==a)//打印最後一行
{
for(j=1;j<=b;j++)
printf("*");
}
}
return 0;
}
最後保存時間: 2019-11-18 20:52:14
本題得分:15分(3/3)
查看最新評判結果
5. (15分) c-lab4-5 迭代法求a的平方根.
題目描述
不使用庫函數sqrt(),用迭代法求a的平方根.(教材P138頁,題13)
迭代公式見教材P138頁,題13
要求前後兩次求出的x的差的絕對值小於10的負6次方。
提示:初始的xn由程序員指定。
輸入描述
從鍵盤輸入一個正整數a
輸出描述
輸出該數的平方根
輸入樣例
100
120
輸出樣例
100.00的平方根爲:10.00
120.00的平方根爲:10.95
用戶代碼
#include<stdio.h>
#include<math.h>
int main()
{
double x1, x2;
double a;
scanf("%lf",&a);
x2=1.0;
for(;;)
{
x1=x2;
x2=(x1+a/x1)/2.0;
if (fabs(x1 - x2)<0.000001)
{
printf("%.2f的平方根爲:%.2f",a,x2);
break;
}
}
return 0 ;
}
最後保存時間: 2019-11-18 21:06:57
本題得分:15分(2/2)
查看最新評判結果
6. (15分) c-lab4-6 求階乘的和
題目描述
從鍵盤輸入一個正整數,求1!+2!+3!+4+…+n!之和
輸入描述
輸入一個正整數n
輸出描述
求1!至n!之和
輸入樣例
//以下爲多組測試數據
3
20
輸出樣例
//以下爲多組數據對應的測試結果
9.000000e+000
2.561327e+018
用戶代碼
#include<stdio.h>
int main()
{
double n,a=1,s=0;
int i,j;
scanf("%lf",&n);
for(i=1;i<=n;i++)
{
a=1;
for(j=1;j<=i;j++)
a=a*j;
s=s+a;
}
printf("%e",s);
return 0 ;
}
最後保存時間: 2019-11-18 21:20:46
本題得分:15分(2/2)
查看最新評判結果
7. (15分) c-lab4-7 判斷素數
題目描述
從鍵盤輸入一個整數,判斷是否爲素數
輸入描述
輸入一個整數
輸出描述
輸出該數是否爲素數
輸入樣例
-10
10
23
輸出樣例
-10<=0
10 is not a prime number
23 is a prime number
用戶代碼
#include<stdio.h>
int main()
{
int a,i,flag;
scanf("%d",&a);
if(a<=0)
printf("%d<=0",a);
else
{
for(i=2;i<=a-1;i++)
{
if(a%i==0)
{
flag=1;break;
}
else
flag=0;
}
if(flag==0)
printf("%d is a prime number",a);
if(flag==1)
printf("%d is not a prime number",a);
}
return 0 ;
}
最後保存時間: 2019-11-18 21:39:45
本題得分:15分(3/3)