/*
*Author:Biechuyangwang(心理咨詢木木)
*QQ群:218484263(18王道計算機群)
*/
由於題目比較簡單直接給出了代碼,就不用分析了。
目前暫時做了前兩周的題,后面的內容有時間會補上。
第一周
1 hello world!(3分)
#include
int main(){
printf("hello world!\n");
return 0;
}
2 在屏幕上輸出多行信息
#include
int main(){
printf("hello world!\n");
printf("hello hit!\n");
printf("hello everyone!\n");
return 0;
}
3 計算半圓弧長及半圓面積
題目描述:編程並輸出半徑r=5.3的半圓弧長(提示:半圓弧長不應該加直徑的長度。)及該半圓弧與直經圍成的半圓的面積,π的取值為3.14159。要求半徑r和必須π利用宏常量表示。
輸入格式:無
輸出格式:
半圓的面積輸出格式: “Area=%.5f\n”
半圓弧長輸出格式: “circumference=%.5f\n”
輸出樣例:
Area=44.12363
circumference=16.65043
#include
#define r 5.3
#define PI 3.14159
int main(){
printf( "Area=%.5f\n",PI*r*r/2);
printf("circumference=%.5f\n",PI*r);
return 0;
}
4 計算長方體體積
題目描述:編程並輸出長1.2、寬4.3、高6.4的長方體的體積。要求長方體的長、寬、高必須利用const常量表示。程序中用到的數據類型均為為 double類型。
輸入格式:無
輸出格式:”volume=%.3f\n”
#include
int main(){
const double a=1.2,b=4.3,c=6.4;
printf("volume=%.3f\n",a*b*c);
return 0;
}
第二周
1 輸出逆序數
題目描述:從鍵盤任意輸入一個3位整數,編程計算並輸出它的逆序數(忽略整數前的正負號)。例如,輸入-123,則忽略負號,由123分離出其百位1、十位2、個位3,然后計算3*100+2*10+1 = 321,並輸出321。
提示:
1. 從鍵盤輸入數據可以使用函數scanf()。例如,scanf(“%d”, &x); 表示從鍵盤輸入整數並存入整形變量x中。
2. 利用取絕對值函數 fabs()忽略輸入數據的負號。fabs(x)表示計算變量x的絕對值。
3.使用數學函數,需要在程序開頭加上編譯預處理指令 #include
#include
#include
int main(){
int x;
printf("Input x:\n");
scanf("%d",&x);
x=abs(x);
x=x%10*100+x/10%10*10+x/100;
printf("y=%d\n",x);
return 0;
}
2 計算總分和平均數
題目描述:小明本學期共有5門課程,分別是英語、語文、數學、歷史和音樂。5科的期中考試成績分別是86分、74分、92分、77分、82分,期末考試成績分別是81分、87分、90分、62分、88分。已知期中和期末考試成績分別占總成績的30%和70%。定義相應的變量存放各科成績,並計算出小明5門課程的總分和平均分。要求平均分輸出兩種形式:帶2位小數的浮點數形式和不帶小數的整數形式。要求總分輸出帶2位小數的浮點數形式。程序中浮點數的數據類型均為float類型。
提示:
輸出不帶小數的平均分的整數形式可以使用強制類型轉換。
示例:
total=408.90
average=81.78
average=81
輸入格式:無
輸出格式:
輸出總分的格式:
“total=%.2f\n”
輸出平均分的格式:
“average=%.2f\n”
“average=%d\n”
#include
int main(){
int a[5]={86,74,92,77,82};
int b[5]={81,87,90,62,88};
float t1=0,t2=0,t=0;
for(int i=0;i<5;i++){
t1+=a[i];
t2+=b[i];
}
t=t1*0.3+t2*0.7;
printf("total=%.2f\n",t);
printf("average=%.2f\n",t/5.0);
printf("average=%d\n",(int)t/5);
return 0;
}
3 存款利率計算器V1.0
題目描述:設銀行定期存款的年利率rate為2.25%,已知存款期為n年,存款本金為capital元,試編程計算並輸出n年后的本利之和deposit。程序中所有浮點數的數據類型均為double類型。
提示:
1. 從鍵盤輸入數據可以使用函數scanf()。本例中為scanf(“%lf,%d,%lf”, &rate, &n, &capital);
2. 本程序最終計算的是復利。
3. 計算冪的數學函數為pow(a,n), 代表a的n次冪。
4. 使用數學函數,需要在程序開頭加上編譯預處理指令 #include
#include
#include
int main(){
double rate,capital,deposit;
int year;
printf("Please enter rate, year, capital:\n");
scanf("%lf,%d,%lf",&rate,&year,&capital);
deposit=capital*pow(1+rate,1.0*year);
printf("deposit=%.3f\n",deposit);
return 0;
}
4 數位拆分v1.0
題目描述:現有一個4位數的正整數n=4321(即n是一個已知的數,固定為4321),編寫程序將其拆分為兩個2位數的正整數43和21,計算並輸出拆分后的兩個數的加、減、乘、除和求余的結果。例如n=4321,設拆分后的兩個整數為a,b,則a=43,b=21。除法運算結果要求精確到小數點后2位,數據類型為float。
示例:
a=43,b=21
a+b=64
a-b=22
a*b=903
a/b=2.05
a%b=1
輸入格式: 無
輸出格式:
數位拆分的輸出格式:”a=%d,b=%d\n”
加法運算的輸出格式:”a+b=%d\n”
減法運算的輸出格式:”a-b=%d\n”
乘法運算的輸出格式:”a*b=%d\n”
除法運算的輸出格式:”a/b=%.2f\n”
求余運算的輸出格式:”a%%b=%d\n”
#include
int main(){
int x=4321,a,b;
a=x/100;
b=x%100;
printf("a=%d,b=%d\n",a,b);
printf("a+b=%d\n",a+b);
printf("a-b=%d\n",a-b);
printf("a*b=%d\n",a*b);
printf("a/b=%.2f\n",a/(b*1.0));
printf("a%%b=%d\n",a%b);
return 0;
}
5 求正/負余數
題目描述:在C語言中,如果被除數為負值,則對一個正數求余的時候,求出的余數也是一個負數。在某些場合下,我們需要求出它的正余數,例如:在C語言中有(-11)%5=-1,但是有時我們希望得到的余數不是-1,而是4。請編寫程序計算(-11)%5的負余數和正余數。
示例:
negative: -1
positive: 4
輸入格式:無
輸出格式:
負余數的輸出格式:”negative: %d\n”
正余數的輸出格式:”positive: %d\n”
#include
int main(){
printf("negative: %d\n",-11%5);
printf("positive: %d\n",-11%5+5);
return 0;
}
6 身高預測
題目描述:已知小明(男孩)爸爸的身高是175厘米,媽媽的身高是162厘米。小紅(女孩)爸爸的身高是169厘米,媽媽的身高是153厘米,按照下面公式,預測並輸出小明和小紅的遺傳身高(不考慮后天因素)。
男性成人時身高=(faHeight+moHeight)×0.54cm
女性成人時身高=(faHeight×0.923+moHeight)/2cm
示例:
Height of xiao ming:181
Height of xiao hong:154
輸入格式: 無
輸出格式:
小明身高的輸出格式:”Height of xiao ming:%d\n”
小紅身高的輸出格式:”Height of xiao hong:%d\n”
#include
int main(){
int mf=175,mm=162,hf=169,hm=153;
printf("Height of xiao ming:%d\n",(int)((mf + mm)*0.54));
printf("Height of xiao hong:%d\n",(int)((hf*0.923 + hm)/2));
return 0;
}
7 求一元二次方程的根
題目描述:計算並輸出一元二次方程2x2+3x+1=0的兩個實根,要求精確到小數點后4位。程序中所有浮點數的數據類型均為float.
提示:
計算平方根的數學函數為sqrt()。
使用數學函數,需要在程序開頭加上編譯預處理指令 #include
示例:
x1=-0.5000
x2=-1.0000
輸入格式: 無
重點內容輸出格式:
“x1=%.4f\n”
“x2=%.4f\n”
#include
#include
int main(){
int a=2,b=3,c=1;
double t1,t2;
t1=-b/2.0/a;
t2=sqrt(b*b-4*a*c)/2.0/a;
printf("x1=%.4f\n",t1+t2);
printf("x2=%.4f\n",t1-t2);
return 0;
}