新聞中心
目錄
課外題目
1.計(jì)算1+2+3+4+....+100的和。
2.計(jì)算1+3+5+7+9+..+99的和。
3.從鍵盤輸入一個(gè)數(shù)n,求n!的值。
4.計(jì)算1!+2!+3!+4!+...+15!的和。
5.計(jì)算1!+3!+5!+7!...+15!的和。
6.二進(jìn)制“1111111”轉(zhuǎn)十進(jìn)制。
7.求一個(gè)數(shù)平方根。
8.打印靠左星號(hào)金字塔。
第二章
1.編寫程序,從鍵盤上輸入三個(gè)數(shù),計(jì)算他們的積,并輸出到屏幕上。
2.編寫程序,從鍵盤上輸入一個(gè)實(shí)數(shù),將它強(qiáng)制轉(zhuǎn)換為整型,并輸出到屏幕上。
第三章
1.略
2.使用printf函數(shù)編寫程序,顯示下列圖形。
**************************
Very Good!
**************************
3.略
第四章
1.編寫一個(gè)程序,輸入2個(gè)數(shù),若兩數(shù)異號(hào),則求其和,否則若第一個(gè)數(shù)大于第二個(gè)數(shù),則求其差。
2.從鍵盤上輸入一個(gè)字符,若為大寫字母則轉(zhuǎn)換為小寫,小寫則轉(zhuǎn)換為大寫,不是字母則原樣輸出。
3.輸入三個(gè)數(shù),從小到大輸出。
4.給出以百分制成績,要求輸出成績等級(jí)'A' 'B' 'C' 'D' 'E'。90分以上為A,80-89為B,70-79為C,60-69為D,60以下為E。
5.給一個(gè)不多于5位的正整數(shù),要求:1)求出它是幾位數(shù);2)分別打印出每一位數(shù)字;3)按逆序打印出各位的數(shù)字,例如原是:621,打印出:126。
第五章
1.輸出所有水仙花數(shù),條件:三位數(shù),且各位三次方等于該數(shù),例如153=1^3+5^3+3^3。
1.1(變式)求所有奇數(shù)水仙花數(shù)
2.有一分?jǐn)?shù)列:2/1,3/2,5/3,8/5,13/8...求前20項(xiàng)之和。
3.有一個(gè)球從100米高度落下,每次落地后反彈回原來高度的一半,求它在第十次落地時(shí),共經(jīng)過了多少米,第十次反彈多高?
4.輸入兩個(gè)數(shù),求他們的大公約數(shù)和最小公倍數(shù)
第六章
1.寫兩個(gè)函數(shù),分別求兩個(gè)整數(shù)大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用,并輸出結(jié)果。
2.求a!+b!+c!的值,用一個(gè)函數(shù)fan(n)求n!。a,b,c的值由主函數(shù)輸入,在主函數(shù)輸出。
3.求方程ax^2+bx+c=0的根,用三個(gè)函數(shù)分別求當(dāng)b^2-4ac大于0,等于0,小于0時(shí)的根,并輸出結(jié)果。
4.編寫一函數(shù),求出一組數(shù)據(jù)中的大值和最小值。
課外題目 1.計(jì)算1+2+3+4+....+100的和。
#includeint main()
{
int sum=0,n;
for(n=1;n<=100;n++)
{
sum+=n;
}
printf("sum=%d",sum);
return 0;
}
2.計(jì)算1+3+5+7+9+..+99的和。#includeint main()
{
int sum=0,n;
for(n=1;n<=100;n++)
{
if(n%2==0)//能夠被2整除為偶數(shù),%為取余,即除以2后的余數(shù)
continue;
sum+=n;
}
printf("sum=%d",sum);
return 0;
}
3.從鍵盤輸入一個(gè)數(shù)n,求n!的值。#includeint main()
{
int m,n,ret=1;
scanf("%d",&m);
for(n=1;n<=m;n++)
{
ret=ret*n;
}
printf("%d!=%d",m,ret);
return 0;
}
4.計(jì)算1!+2!+3!+4!+...+15!的和。#includeint main()
{
int n,i;
long int sum=0;
for(i=1;i<=15;i++)
{
long int ret=1;
for(n=1;n<=i;n++)
{
ret=ret*n;
}
sum+=ret;
printf("%d!=%ld\n",i,ret);
}
printf("sum=%ld",sum);
return 0;
}
5.計(jì)算1!+3!+5!+7!...+15!的和。#includeint main()
{
int n,i;
long int sum=0;
for(i=1;i<=15;i++)
{
if(i%2==0)
continue;
long int ret=1;
for(n=1;n<=i;n++)
{
ret=ret*n;
}
sum+=ret;
printf("%d!=%ld\n",i,ret);
}
printf("sum=%ld",sum);
return 0;
}
6.二進(jìn)制“1111111”轉(zhuǎn)十進(jìn)制。#include#include//數(shù)學(xué)頭文件
int main()
{
int n,sum;
for(n=0;n<=7;n++)
{
sum=sum+pow(2,n);
}
printf("%d",sum);
return 0;
}
7.求一個(gè)數(shù)平方根。#include#include//數(shù)學(xué)頭文件
int main()
{
int x=9,n;
n=sqrt(x);
printf("x的平方根為%d",n);
return 0;
}
8.打印靠左星號(hào)金字塔。#includeint main()
{
int n,m;
for(n=1;n<=8;n++)//8層
{for(m=0;m<(2*n-1);m++)
printf("*");
printf("\n");}
return 0;
}
第二章
1.編寫程序,從鍵盤上輸入三個(gè)數(shù),計(jì)算他們的積,并輸出到屏幕上。#includeint main() {
int a,b,c,d;
printf("請(qǐng)輸入三個(gè)數(shù):");
scanf("%d %d %d",&a,&b,&c);
d=a*b*c;
printf("他們的積為:%d\n",d);
return 0;
}
2.編寫程序,從鍵盤上輸入一個(gè)實(shí)數(shù),將它強(qiáng)制轉(zhuǎn)換為整型,并輸出到屏幕上。#includeint main() {
float a;
int b;
printf("請(qǐng)輸入一個(gè)實(shí)數(shù):");
scanf("%f",&a);
b=(int)a;
printf("%d\n",b);
return 0;
}
第三章
1.略
2.使用printf函數(shù)編寫程序,顯示下列圖形。
**************************
????? Very Good!
**************************#includeint main() {
printf("**************************\n");
printf(" Very Good! \n");
printf("**************************\n");
return 0;
}
3.略
第四章
1.編寫一個(gè)程序,輸入2個(gè)數(shù),若兩數(shù)異號(hào),則求其和,否則若第一個(gè)數(shù)大于第二個(gè)數(shù),則求其差。#includeint main() {
int a,b;
printf("請(qǐng)輸入兩個(gè)數(shù):");
scanf("%d %d",&a,&b);
if(a*b<0)//判斷是否兩數(shù)異號(hào)
printf("他們的和為:%d",(a+b));
else if(a>b)//判斷是否第一個(gè)數(shù)大于第二個(gè)數(shù)
printf("他們的差為:%d",(a-b));
return 0;
}
2.從鍵盤上輸入一個(gè)字符,若為大寫字母則轉(zhuǎn)換為小寫,小寫則轉(zhuǎn)換為大寫,不是字母則原樣輸出。#includeint main() {
char a;
printf("請(qǐng)輸入一個(gè)字符:");
scanf("%c",&a);
if(a>=65&&a<=90)//判斷該字符的ascii碼是否對(duì)應(yīng)大寫A至Z
printf("它的小寫為:%c",(a+32));//ascii碼中,大寫字母與小寫字母差為32
else if(a>=95&&a<=122)//判斷是否對(duì)應(yīng)小寫a至z的ascii碼
printf("它的大寫為:%c",(a-32));
else//若輸入的不為字母
printf("%c",a);
return 0;
}
3.輸入三個(gè)數(shù),從小到大輸出。#includeint main() {
int a,b,c;
printf("請(qǐng)輸入三個(gè)數(shù),以空格分開:");
scanf("%d %d %d",&a,&b,&c);
if(a>b)//若a比b大
{
if(a>c)//判斷a是否也比c大
printf("max=%d",a);
else//說明c比a大
printf("max=%d",c);
}
else//若b比a大
{
if(b>c)//判斷b是否也大于c
printf("max=%d",b);
else//說明c大于b
printf("max=%d",c);
}
return 0;
}
4.給出以百分制成績,要求輸出成績等級(jí)'A' 'B' 'C' 'D' 'E'。90分以上為A,80-89為B,70-79為C,60-69為D,60以下為E。(1) switch-case語句做法:
#includeint main() {
int a,b;
printf("請(qǐng)輸入您的成績:");
scanf("%d",&a);
b=a/10;//根據(jù)需求,可直接用十位判斷條件
switch(b)
{
case 9:printf("您的等級(jí)為:A");break;
case 8:printf("您的等級(jí)為:B");break;
case 7:printf("您的等級(jí)為:C");break;
case 6:printf("您的等級(jí)為:D");break;
case 5://switch語句如果不寫break,會(huì)一直往下執(zhí)行,因此59分往下可以通用
case 4:
case 3:
case 2:
case 1:
case 0:printf("您的等級(jí)為:E");break;
default:printf("輸入錯(cuò)誤\n");break;
}
return 0;
}
(2)if-else語句做法:
#includeint main() {
int a,b;
printf("請(qǐng)輸入您的成績:");
scanf("%d",&a);
b=a/10;//根據(jù)需求,可直接用十位判斷條件
if(b==9)
printf("您的等級(jí)為:A");
if(b==8)
printf("您的等級(jí)為:B");
if(b==7)
printf("您的等級(jí)為:C");
if(b==6)
printf("您的等級(jí)為:D");
if(b<=5)
printf("您的等級(jí)為:E");
return 0;
}
5.給一個(gè)不多于5位的正整數(shù),要求:1)求出它是幾位數(shù);2)分別打印出每一位數(shù)字;3)按逆序打印出各位的數(shù)字,例如原是:621,打印出:126。#includeint main() {
int a,n=0,m;
int g,s,b,q,w;
printf("請(qǐng)一個(gè)不大于五位的正整數(shù):");
scanf("%d",&a);
//求位數(shù):
m=a;
while(m!=0)
{
m=m/10;
n++;
}
printf("這是一個(gè)%d位數(shù)\n",n);
//打印出每一位數(shù)
switch(n)
{
case 5:w=a/10000;printf("萬位:%d ",w);
case 4:q=a/1000%10;printf("千位:%d ",q);
case 3:b=a/100%10;printf("百位:%d ",b);
case 2:s=a/10%10;printf("十位:%d ",s);
case 1:g=a%10;printf("個(gè)位:%d\n",g);
}
//逆序輸出
switch(n)
{
case 5:printf("%d%d%d%d%d",g,s,b,q,w);break;
case 4:printf("%d%d%d%d",g,s,b,q);break;
case 3:printf("%d%d%d",g,s,b);break;
case 2:printf("%d%d",g,s);break;
case 1:printf("%d",g);break;
}
return 0;
}
第五章
1.輸出所有水仙花數(shù),條件:三位數(shù),且各位三次方等于該數(shù),例如153=1^3+5^3+3^3。#includeint main() {
int n;
int a,b,c;
for(n=100;n<=999;n++)
{
a=n/100;
b=n/10%10;
c=n%10;
if(n==(a*a*a+b*b*b+c*c*c))
printf("%d\n",n);
}
return 0;
}
1.1(變式)求所有奇數(shù)水仙花數(shù)#includeint main() {
int n;
int a,b,c;
for(n=100;n<=999;n++)
{
if(n%2==0)//如果n是偶數(shù)
continue;//跳過此次循環(huán)
a=n/100;
b=n/10%10;
c=n%10;
if(n==(a*a*a+b*b*b+c*c*c))
printf("%d\n",n);
}
return 0;
}
2.有一分?jǐn)?shù)列:2/1,3/2,5/3,8/5,13/8...求前20項(xiàng)之和。#includeint main() {
double m=2,n=1,i,sum=0,z;//涉及分式,且用double型定義
for(i=1;i<=20;i++)
{
sum+=m/n;
z=m;
m=m+n;
n=z;
}
printf("前20項(xiàng)和為:%lf\n",sum);
return 0;
}
3.有一個(gè)球從100米高度落下,每次落地后反彈回原來高度的一半,求它在第十次落地時(shí),共經(jīng)過了多少米,第十次反彈多高?#includeint main() {
double m=100,n,g=100;//初始高度為100,記錄開始下落高度為100
for(n=1;n<=10;n++)
{
m=m/2;//每次高度減半
if(n==10)//第10次下落不需要記錄彈跳高度
break;
g+=m*2;
}
printf("第10次的高度為:%lf\n",m);
printf("總經(jīng)過的高度為:%lf\n",g);
return 0;
}
4.輸入兩個(gè)數(shù),求他們的大公約數(shù)和最小公倍數(shù) #includeint main() {
int a,b,t,i;
printf("請(qǐng)輸入兩個(gè)數(shù):");
scanf("%d %d",&a,&b);
if(a0;i--)
{
if(a%i==0&&b%i==0)
{
printf("大公約數(shù)為:%d\n",i);
break;
}
}
for(i=a;i>0;i++)
{
if(i%a==0&&i%b==0)
{
printf("最小公倍數(shù)為:%d\n",i);
break;
}
}
return 0;
}
第六章
1.寫兩個(gè)函數(shù),分別求兩個(gè)整數(shù)大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用,并輸出結(jié)果。#includeint max(int a,int b)//定義實(shí)現(xiàn)大公約數(shù)的函數(shù)
{
int i;
for(i=b;i>0;i--)
{
if(a%i==0&&b%i==0)
{
return i;
}
}
}
int min(int a, int b)
{
int i;
for(i=a;i>0;i++)
{
if(i%a==0&&i%b==0)
{
return i;
}
}
}
int main()
{
int a,b,t;
printf("請(qǐng)輸入兩個(gè)數(shù):");
scanf("%d %d",&a,&b);
if(a
2.求a!+b!+c!的值,用一個(gè)函數(shù)fan(n)求n!。a,b,c的值由主函數(shù)輸入,在主函數(shù)輸出。#includeint fan(int n)
{
int i,ret=1;
for(i=1;i<=n;i++)
{
ret*=i;
}
return ret;
}
int main() {
int a,b,c;
printf("請(qǐng)輸入三個(gè)數(shù):");
scanf("%d %d %d",&a,&b,&c);
printf("%d!+%d!+%d!=%d",a,b,c,(fan(a)+fan(b)+fan(c)));
return 0;
}
3.求方程ax^2+bx+c=0的根,用三個(gè)函數(shù)分別求當(dāng)b^2-4ac大于0,等于0,小于0時(shí)的根,并輸出結(jié)果。#include#includeint dayu(int a,int b,int c, int n)
{
int x1,x2;
x1=(-b+sqrt(n))/(2*a);
x2=(-b-sqrt(n))/(2*a);
printf("方程有兩個(gè)實(shí)數(shù)根,x1=%d,x2=%d\n",x1,x2);
}
int dengyu(int a,int b,int c,int n)
{
int x;
x=-b/2*a;
printf("方程有兩個(gè)相等的實(shí)數(shù)根,x1=x2=%d",x);
}
int xiaoyu(int a,int b,int c,int n)
{
float x1,x2;
x1=(-b)/(2*a);
x2=(sqrt(-n))/(2*a);
printf("方程有虛根,為%f+%fi\n%f-%fi",x1,x2,x1,x2);
}
int main()
{
int a,b,c,n;
printf("請(qǐng)輸入三個(gè)數(shù):");
scanf("%d %d %d",&a,&b,&c);
n=(b*b)-(4*a*c);
if(n>0)
dayu(a,b,c,n);
if(n==0)
dengyu(a,b,c,n);
if(n<0)
xiaoyu(a,b,c,n);
return 0;
}
4.編寫一函數(shù),求出一組數(shù)據(jù)中的大值和最小值。
#includeint get_max(int a[],int n)
{
int i,m=a[0];
for(i=1;ia[i])
{
m=a[i];
}
if(a[0]
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前標(biāo)題:【自用】c語言復(fù)習(xí)題-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.ef60e0e.cn/article/dpgpcs.html