![C語(yǔ)言編程題庫(kù)_第1頁(yè)](http://file4.renrendoc.com/view6/M00/1E/00/wKhkGWd_N9aAKlCuAAEU7-sAuQY819.jpg)
![C語(yǔ)言編程題庫(kù)_第2頁(yè)](http://file4.renrendoc.com/view6/M00/1E/00/wKhkGWd_N9aAKlCuAAEU7-sAuQY8192.jpg)
![C語(yǔ)言編程題庫(kù)_第3頁(yè)](http://file4.renrendoc.com/view6/M00/1E/00/wKhkGWd_N9aAKlCuAAEU7-sAuQY8193.jpg)
![C語(yǔ)言編程題庫(kù)_第4頁(yè)](http://file4.renrendoc.com/view6/M00/1E/00/wKhkGWd_N9aAKlCuAAEU7-sAuQY8194.jpg)
![C語(yǔ)言編程題庫(kù)_第5頁(yè)](http://file4.renrendoc.com/view6/M00/1E/00/wKhkGWd_N9aAKlCuAAEU7-sAuQY8195.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言編程題庫(kù)
1、用選擇法對(duì)n個(gè)數(shù)由小到大排序。
#include<stdio.h>
voidmain()
{
int
scanf("%d",&n);
for(i=0;ivn;i++)
scanf("%d",&a[i]);
for(i=l;i<n;i++)
for(j=i;j<n;j++)
if(a[i-l]>aO])
{t=a[i-l];a[i-l]=a[j];a[j]=t;}
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
}
2、將鍵盤輸入的12個(gè)數(shù)據(jù)存放到一個(gè)4行3列的二維數(shù)組中,分別求出各行、各列以及表
中所有數(shù)之和。
#include<stdio.h>
voidmain()
(
inta[5][4]={0}JJ;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d"z&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<3;j++)
(
a[i][3]+=a[i]U];
a[4]U]+=a[i][j];
a(4][3]+=a[i]U];
)
for(i=0;i<5;i++)
{for(j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
)
)
3、判斷一個(gè)字符串是否為同文串(回文串指正讀反讀都一樣的字符串,如:字符串
"abcl21cba")o
#include<stdio.h>
#include<string.h>
voidmain()
(
chara[3O],b[3O];
intij;
scanf("%s"za);
i=strlen(a)-l;
j=0;
while(i>=0)
b[j++]=a[i-];
bUl='\O';
if(strcmp(azb)==O)
printf("%s是一個(gè)叵文串\n”,a);
else
printf("%s不是一個(gè)回文串\n",a);
)
#include<stdio.h>
#include<string.h>
voidmain()
(
chara[30];
intij;
scanf("%s",a);
i=strlen(a)-l;
j=0;
while(i>j)
if(a(i—]!=a[j++])break;
printf("%s是一個(gè)叵文串\n",a);
else
printf("%s不是一個(gè)回文串\n",a);
)
4、輸出楊輝三角形的前10行。。
#include<stdio.h>
voidmain()
(
inta[10][10]JJ;
for(i=0;i<10;i++)
a[i][0]=a[i](i]=l;
for(i=2;i<10;i++)
for(j=l;j<i;j++)
a[i]U]=a[i-l]U]+a[i-l]U-l];
for(i=0;i<10;i++)
{for(j=0;j<=i;j++)
printf("%d\t",a[i][j]):
printf("\n");
)
}
5、把輸入的卜進(jìn)制數(shù)以卜六進(jìn)制數(shù)的形式輸出。
#include<stdio.h>
voidmain()
(
inta[100],xzi=0;
scanf("%d",&x);
while(x)
{
a[i++]=x%16;
x/=16;
)
i--;
while(i>=0)
(
if(a[i]>9)printf("%c";A'+a[i]-10);
elseprintf("%d"za[i]);
i-;
)
printf("\n");
}
6、刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,
函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。例如,
若一維數(shù)組中的數(shù)據(jù)是:2223445666677899101010刪除后,數(shù)組中的內(nèi)
容應(yīng)該是:2345678910。
#include<stdio.h>
voidmain()
(
inta[19]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},n,i,j;
n=19;
for(i=17;i>=0;i--)
if(a(i]==a[i+l])
(
for(j=i+l;j<n;j++)
a[j-l]=a[j];
n--;
)
for{i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
7、求一個(gè)3*3矩陣對(duì)角線元素之和。
if(a[i]>9)printf("%c";A'+a[i]-10);
elseprintf(”%d,a[i]);
i-;
)
printf("\n");
)
10、不使用strcmp函數(shù),編程實(shí)現(xiàn)2個(gè)字符串的比較。*/
#include<stdio.h>
voidmain()
(
chara[30],b[30];
inti=0;
scanf("%s%s”,a,b);
while(a[i]==b[i]&&a[i]&&b[i])
i++;
if(a[i]==b[i])
printf("%s等于%s\n”,a,b);
elseif(a[i]<b[i])
printf("%s小于%六n”,a,b);
else
printf("%s大于%s\n",a,b);
)
*1、通過(guò)鍵盤輸入3個(gè)整數(shù),輸出最大值和最小值
#include<stdio.h>
voidmain()
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b/&c);
max=min=a;
if(b>max)max=b;
if(c>max)max=c;
if(b<min)min=b;
if(c<min)min=b;
printf("最大值為%d,最小值為%d\n",max,min);
)
2、從鍵盤輸入圓的半徑r和一個(gè)整型數(shù)k,當(dāng)k=l時(shí),計(jì)算并輸出圓的面積;當(dāng)k=2時(shí),
計(jì)算并輸出圓的周長(zhǎng)。編程實(shí)現(xiàn)以上功能
#include<stdio.h>
voidmain()
|
intrzk;
scanf("%d%d"/&r,&k);
if(k==l)
printf(”圓的面積為%租”,3.1415926*產(chǎn)r);
if(k==2)
printf("圓的周長(zhǎng)為%下吃3.1415926*2*■
)
3、編程實(shí)現(xiàn):輸入整數(shù)a和b,若a2+b2大于100,則輸出a2+b2百位以上的數(shù)字,否則
輸出兩數(shù)之和。
#include<stdio.h>
voidmain()
(
inta,b;
scanf("%d%d",&a/&b);
if(a*a+b*b>100)
printf("%d\n"/(a*a+b*b)/100);
else
printf("%d\n",a+b);
)
4、從鍵盤上輸入兩個(gè)整數(shù),判斷其大小關(guān)系并將結(jié)果輸出。
#include<stdio.h>
voidmain()
{
intazb;
scanf("%d%d",&a/&b);
if(a>b)
printf("a>b\n");
elseif(a<b)
printf("a<b\n");
else
printf("a==b\n");
)
5、猜數(shù)游戲。先將要猜的整數(shù)存放在變量num中,當(dāng)程序運(yùn)行時(shí),提示游戲者通過(guò)鍵盤
輸入自己所猜的數(shù)cai,若猜對(duì)了,即cai==num,
屏幕顯示“**恭喜你猜中了!**“,然后結(jié)束程序運(yùn)行;如果猜錯(cuò)了,屏幕除了顯示”*?對(duì)不
起,你猜錯(cuò)了!**”外,還顯示是猜大了或猜小了的信息,以幫助游戲者繼續(xù)往正確處猜。
#include<stdio.h>
voidmain()
{
intnum=100,cai;
scanf("%d",&cai);
if(cai==num)
prints**恭喜你猜中了!
elseif(cai<num)
printf=**對(duì)不起,你猜錯(cuò)了!**\n**你猜小了!**\n");
else
printf「*對(duì)不起,你猜錯(cuò)了!**\n**你猜大了!**\n");
6、將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。
#include<stdio.h>
voidmain()
(
inti,a,f=l;
scanf("%d"z&a);
printf("%d=l",a);
for(i=2;i<=a;i++)
while(a%i==0)
{a/=i;
printf("*%d"J);
)
)
7、求輸入的十個(gè)整數(shù)中正數(shù)的個(gè)數(shù)及其平均值。
#include<stdio.h>
voidmain()
{
inti,a,n=0;floatsum=0;
for(i=l;i<=10;i++)
{scanf("%d"z&a);
if(a>0)
{sum+=a;n++;}
}
printf("正整數(shù)的個(gè)數(shù)為%d,正整數(shù)的平均值為%f\n",n,sum/n);
)
8、某旅行團(tuán)有男人、女人和小孩共30人,在紐約一家小飯館里吃飯,該飯館按人頭收費(fèi),
每個(gè)男人收3美元,每個(gè)女人收2美元,
每個(gè)小孩收1美元,共收取50美元。共有多少組解?
#include<stdio.h>
voidmain()
(
inti,j,k;
for(i=l;i<=10;i++)
for(j=l;j<=15;j++)
if(i*3+2*j+30-i-j==50)
printf("男人%d人,女人%d人,小孩%d人\n",i,j,30-i-j);
)
9、在輸入的一批正整數(shù)中求出最大者,輸入0結(jié)束循環(huán)。
#include<stdio.h>
voidmain()
intx,max;
scanf(”%d”,&x);
max=x;
while(x!=O)
{scanf("%d"z&x);
if(x>max)max=x;
)
printf("最大值為%d\n,mdx);
)
10、輸出所有的"水仙花數(shù)「所謂的“水仙花數(shù)”是指一個(gè)3位數(shù),其各位數(shù)字的立方和
等于該數(shù)本身。例如,153是一個(gè)水仙花數(shù),
因?yàn)?53=13+53+33
#include<stdio.h>
voidmain()
(
inti,nl,n2,n3;
for(i=100;i<1000;i++)
{nl=i/100;n2=i/10%10;n3=i%10;
if(nl*nl*nl+n2*n2*n2+n3*n3*n3==i)
printf("%d\n"zi);
}
}
11、將從鍵盤輸入的一對(duì)數(shù),由小到大排序輸出,當(dāng)輸入一對(duì)相等數(shù)時(shí)結(jié)束循環(huán)。
#include<stdio.h>
voidmain()
{
intnl,n2;
scanf("%d%d",&nlz&n2);
while(nl!=n2)
(
if(nl>n2)
printf("%d,%d\n",n2,nl);
else
printf("%d,%d\n",nl,r)2);
',
scanf(%d%d"/&nlz&n2);
)
}12、使用循環(huán)語(yǔ)句實(shí)現(xiàn)如下圖形的輸出
1
123
12345
1234567
123456789*/
#include<stdio.h>
voidmain()
inti,j;
for(i=l;i<=5;i++)
{for(j=l;j<=5-i;j++)
printf("");
for(j=l;j<=2*i-l;j++)
printf("%d",j);
printf("\n");
}
/*1、輸入某年某月某日,判斷這一天是這一年的第幾天?
#include<stdio.h>
voidmain()
{
inty/m/d,sum=0;
scanf("%d%d%d"/&y,&mJ&d);
if(y%4==0&&y%100!=0||y%400==0)
sum=l;
switch(m)
(
casel:sum=d;
case2:sum=d+31;
case3:sum+=d+31+28;
case4:sum+=d+31+28+31;
case5:sum+=d+31+28+31+30;
case6:sum+=d+31+28+31+30+31;
case7:sum+=d+31+28+31+30+31+30;
case8:sum+=d+31+28+31+30+31+30+31;
case9:sum+=d+31+28+31+30+31+30+31+31;
case10:sum+=d+31+28+31+30+31+30+31+31+30;
casell:sum+=d+31+28+31+30+31+30+31+31+30+31;
case12:sum+=d+31+28+31+30+31+30+31+31+30+31+30:
)
printf("%d年:%dJl%d日是這一年的第%~天\n”,y,m,d,sum);
)
#include<stdio.h>
voidmain()
inty,m,d,sum=0;
scanf("%d%d%d",&y,&m,&d);
switch(m)
case12:sum+=30;
casell:sum+=31;
case10:sum+=30;
case9:sum+=31;
case8:sum+=31;
case7:sum+=30;
case6:sum+=31;
case5:sum+=30;
case4:sum+=31;
case3:sum+=28;
case2:sum+=31;
casel:sum+=d;
}
if((y%4==0&&y%100!=01|y%400==0)&&m>2)
sum+=l;
printf("%d年%(1月%~日是這一年的第%€1天\rT,y,m,d,sum);
)
2、編程判斷輸入的正整數(shù)是是否既是5乂是7的整倍數(shù)。若是,則輸出yes;否則輸出noo
#include<stdio.h>
voidmain()
(
inty;
scanf("%d",&y);
if(y%5==0&&y%7==0)
printf("yes\n");
else
printf("no\n");
}
3、簡(jiǎn)單計(jì)算器程序。用戶從鍵盤輸入兩個(gè)整數(shù)和一個(gè)字符,字符必須是中、」、*、/其
中的一個(gè),然后程序輸出兩數(shù)作相應(yīng)運(yùn)算的結(jié)果。
輸出計(jì)算結(jié)果。
#include<stdio.h>
voidmain()
|
intazb;
charc;
scanf("%d%c%d"/&a,&c/&b);
switch(c)
(
"
case+':printf("%d%c%d=%d\n"/a,c,b,a+b);break;
,
case'-:printf("%d%c%d=%d\n"/a/c,b,a-b);break;
'
case*':printf("%d%c%d=%d\n"/a/c/bza*b);break;
case7':printf("%d%c%d=%f\n"/a,c/b/(float)a/b);break;
}
4、從鍵盤輸入3個(gè)整數(shù),按由小到大的順序輸出。
#include<stdio.h>
voidmain()
{
inta,b,c,t;
scanf("%d%d%d",&a/&b,&c);
if(a>b)
{t=a;a=b;b=t;}
if(b>c)
{t=c;c=b;b=t;}
if(a>b)
{t=a;a=b;b=t;}
printf("%d%d%d\n"za,b,c);
5、一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10
次落地時(shí),共經(jīng)過(guò)多少米?第10次反彈多高?
#include<stdio.h>
voidmain()
{
inti;floatt=100,sum=10C;
for(i=l;i<10;i++)
(
t=t/2;sum+=t*2;
)
printf("%f%f\n",sum,t/2);
)
6、百錢買百雞:一百個(gè)銅錢買了一百只雞,其中公雞一只5錢、母雞一只3錢,小雞一錢
3只,問(wèn)一百只雞中公雞、母雞、小雞各多少?
#include<stdio.h>
voidmain()
|
intijk;
for(i=l;i<=20;i++)
for(j=l;j<=33;j++)
for(k=3;k<100;k+=3)
if(5*i+3*j+k/3==100&&i+j+k==100)
printf("%d%d%d\n",i,j,k);
)
7、輸出半徑為1到10的圓的面積,當(dāng)面積大于100時(shí)停止輸出。
#include<stdio.h>
voidmain()
inti;floatarea;
for(i=l;i<=10;i++)
{area=3.1415926*i*i;
if(area>100)break;
("半徑:,圓的面積:
printf%d%f\n"J/area);
)
)
8、猜數(shù)游戲:任意設(shè)置一個(gè)整數(shù),請(qǐng)用戶從鍵盤上輸入數(shù)據(jù)猜測(cè)設(shè)置的數(shù)是什么,告訴用
戶是猜大了還是小了。如果10次以內(nèi)猜對(duì)答案,
用戶獲勝。否則,告訴用戶設(shè)置的數(shù)據(jù)是什么。
#include<stdio.h>
voidmain()
{
int1,5=100,031;
for(i=l;i<=10;i++)
{scanf("%d"z&cai);
if(cai==s)break;
if(cai<s)printf("猜小了\n“);
else
printf("猜大了\n)
)
if(i<=10)
printf("恭喜你,猜對(duì)了!\n");
else
printf(“不好意思,你猜錯(cuò)了,正確答案是%d\n”,s);
}
9、計(jì)算:s=l+12+123+1234+12345o
#include<stdio.h>
voidmain()
(
inti,s=O,t=O;
for(i=l;i<=5;i++)
{t=t*10+i;
s+=t;
)
printf("%d\n",s);
)
10、輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù)
#include<stdio.h>
voidmain()
inti,t=0;
for(i=0;i<=9;i++)
{t=i*10+6;
if(t%3==0)
printf("%d\n",t);
11、鍵盤上輸入若干個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)
束輸入
#include<stdio.h>
voidmain()
(
inti,score,max,min;
scanf(”%d”,&score);
max=min=score;
while(score>=0)
{scanf(”%d”,&score);
if(score>max)max=score;
if(score<min&&score>=0)min=score;
)
("最高成績(jī)?yōu)?最低成績(jī)?yōu)椋?/p>
printf%d,%d\n",max/min);
12、自然常數(shù)e的計(jì)算公式為e=l+l/l!+l/2!+l/3!+…+l/n!+...。請(qǐng)編制程序計(jì)算e的近
似值,要求被舍棄的首項(xiàng)1/n!<0.000001o*/
#include<stdio.h>
voidmain()
(
floatn=l,e=l,t;
t=l/n;
while(t>=0.000001)
(
e+=t;
n++;
t*=l/n;
)
printf(”%.10f\n”,e);
)
例2.1
include<stdio.h>
main()
{doublea,b,area;
a=1.2;/*將矩形的兩條邊長(zhǎng)分別賦給a和b*/
b=3.6;
area=a*b;/*計(jì)算矩形的面積并存儲(chǔ)到變量area中*/
/*輸出矩形的兩條邊長(zhǎng)和面積*/
printf("a=%f,b=%f,area=%f\n"za,b,area);
例2.2
^include"stdio.h"
#definePI3.14159/*定義符號(hào)名PI為3.14159*/
main()
{doubler,s;
r=5.0;
s=PI*r*r;
printff's=%f\n",s);
)
2.24
#includestdio.h;
main();/*mainfunction*/
floatr,s;/*/*risradius*/,/*sisareaofcircular*/*/
r=5.0;
s=3.14159*r*r;
printf("%f\n",s)
printf("%f\n",s)
2.25
main/*mainfunction*/
{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/
a=2.0;b=3.0;c=4.0
v=a*b*c;
printf("%f\n",v)
}
3.2.1
#include<stdio.h>
main()
{inti=2518;
doublea=3.1415;
printf("i=%d,a=%f,a*10=%e\n",i,a,a*10);
例3.1
#include<stdio.h>
main()
{intx,y,t;
printf("Enterx&y:\n");
scanf("%d%d",&x,&y);
printf("x=%dy=%d\n",x,y);
t=x;x=y;y=t;
printf("x=%dy=%d\n",x,y);
}
例3.2
ttinclude<stdio.h>
main()
{doublex;
printf("Enterx:\n");
,,
scanf("%lf,&x);
printf("(l)x=x);
x=x*100;
x=x+0.5;
x=(int)x;
x=x/100;
printf("(2)x=x);
}
3.4
include<stdio.h>
main()
{intx=10,y=3;
printf("%d\n",y=x/y);
)
3.16
main
{doublea,b,c,s,v;
printf(inputa,b,c:\n);
scanf("%d%d%d”,a,b,c);
s=a*b;/*計(jì)算長(zhǎng)方形面積*/
v=a*b*c;/*計(jì)算長(zhǎng)方體體積*/
printf("%d%d%d”,a,b,c|;
printf("s=%f\n”,s,"v=%d\n,?;
例4.1
#include<stdio.h>
main()
{intx,y;
printf("Enterx&y:\n");
scanf("%d%d",&x,&y);printf("x,y:%d%d\n”,x,y);
if(x>y)printf("x=%d\n",x);
iffy>x)printf("y=%d\n",y);
if(x==y)printf("x==y%d:\n",x);
)
例4.2
^include<stdio.h>
main()
{inta,b,c,t;
printf("inputa,b,c:");scanf("%d%d%d",&a,&b,&c);
printf("a=%dzb=%d,c=%d\n",a,b,c);
if(a>b)/*如果a比b大,則進(jìn)行交換,把小的數(shù)放入a中*/
{t=a;a=b;b=t;)
if(a>c)/*如果a比c大,則進(jìn)行交換,,把小的數(shù)放入a中*/
{t=a;a=c;c=t;}/*至此a、b、c中最小的數(shù)已放入a中*/
if(b>c)/*如果b比c大,則進(jìn)行交換,把小的數(shù)放入b中*/
{t=b;b=c;c=t;}/*至比a、b、c中的數(shù)已按由小到大順序放好*/
printf("%d,%d,%d\rT,a,b,c);
)
例4.3
#indude<stdio.h>
main()
{intx,y;
printf("Enterx&y:");
scanf("%d%d",&x/&y);printf("x,y:%d%d\n”,x,y);
if(x>y)
printf("max=x=%d\n",x);
else
printf("max=y=%d\n",y);
printf("**end**\n");
)
例4.4
^include<stdio.h>
main()
{intn;
printff'inputn:");
scanf("%d",&n);
if(n%3==0)/*判斷n能否被3整除*/
printf("n=%dYES\n",n);
else
printf("n=%dNO\n",n);
例4.5
ttinclude<stdio.h>
main()
{intg;
printff'Enterg:");
scanf("%d",&g);
printf("g=%d:",g);
if(g>=90)printf("A\n");
elseif(g>=80)printf(
elseif(g>=70)printf("C\n");
elseif(g>=60)printf("D\n");
elseprintf("E\n");
)
例4.6
#include<stdio.h>
main()
{intg;
printf("Enteramark:");scanf("%d",&g);/*g中存放學(xué)生的成績(jī)*/
printff'g=%d:,g);
switch(g/10)
{case10:
case9:printf("A\n");
case8:printf("B\n");
case7:printf("C\n");
case6:printf("D\n");
default:printf("E\n");
}
)
^include<stdio.h>
main()
{intg;
printf("Enteramark:");scanf("%d",&g);/*g中存放學(xué)生的成績(jī)*/
printf("g=%d:,g);
switch(g/IO)
{case10:
case9:printf("A\n");break;
case8:printf("B\n");break;
case7:printf("C\n");break;
case6:printf("D\n");break;
default:printf("E\n");
)
}
4.5
#include<stdio.h>
main()
{inta=2,b=-l,c=2;
if(a<b)
if(b<0)c=0;
elsec+=1;
printf("%d\n",c);
)
4.6
ttinclude<stdio.h>
main()
{intw=4,x=3,y=2,z=l;
printf("%d\n〃,(w<x?w:z<y?z:x));
)
4.7
//include<stdio.h>
main()
{inta,b,s;
scanf("%d%d”,&a,&b);
s=a;
if(a<b)s=b;
s*=s;
printf("%d\n",s);
4.9
#include<stdio.h>
main()
{intk=-3;
if(k<=O)printf(//****\nw|
elseprintf("&&&&\n");
}
4.17
//include<stdio.h>
main()
{inta=100;
if(a>100)printf("%d\n”,a>100);
elseprintf("%d\n",a<=100);
)
例5.1
ttinclude<stdio.h>
main()
{inti,sum;
i=0;sum=0;/*i和sum的初值為0*/
while(sum<10000)/*當(dāng)sum小于10000時(shí)執(zhí)行循環(huán)體*/
{sum+=i*i;/*sum累加i的平方*/
i++;/*在循環(huán)體中每累加一次后,i增1*/
)
printf("n=%dsum=%d\n"/i-1,sum);
例5.2
//include<stdio.h>
#include<math.h>/*調(diào)用fabs函數(shù)時(shí)要求包含math.h文件*/
main()
{ints;
floatn,t,pi;
t=1.0;/*t中存放每項(xiàng)的值,初值為1*/
pi=0;/*pi中存放所求兀的值,初值為0*/
n=1.0;/*n中存放每項(xiàng)分母*/
s=l;/*s為符號(hào)位,其值在1和-1之間變億*/
while(fabs(t)>=le-6)
{pi=pi+1;
n+=2.0;
S=-S,/*改變符號(hào)*/
t=s/n;
}
pi=pi*4;
printf("pi=%f\n",pi);
例5.3
//include<stdio.h>
ttinclude<math.h>
main()
{doublexl,x2;
xl=0.0;
x2=cos(xl);
while(fabs(x2-xl)>le-6)
{xl=x2;
x2=cos(xl);
)
printf("x=%f\n",x2);
例5.4
#include<stdio.h>
main()
{intfl,f2,f;
fl=0;f2=l;
do
{f=fl+f2;fl=f2;f2=f;
}while(f2<=1000);
printff'F=%d\n",f2);
)
例5.5
#include<stdio.h>
main()
{inti,sum;
sum=0;/*sum的初值為0*/
for(i=l;i<=100;i++)/*當(dāng)i小于或等于100時(shí)執(zhí)行循環(huán)體*/
sum+=i;/*在循環(huán)體中累加i一次*/
printf("sum=%d\n",sum);
例5.6
ttinclude<stdio.h>
main()
{doubler,s,Pi=3.1416;
for(r=0.5;r<=2.5;r+=0.5)
{s=Pi*r*r;/*計(jì)算圓面積s的值*/
printf("r=%3.1fs=%f\n"zr,s);
)
)
例5.7
ttinclude<stdio.h>
main()
{intk,i,j;
for(i=0;i<4;i++)
{for(k=1;k<=i;k++)printf("");
for(j=0;j<7-i*2;j++)printf("*");
printf("\n");
)
例5.8
#include<stdio.h>
main()
{intk,i,tag;
for(i=2;i<=100;i++)
{tag=0;
for(k=2;k<i;k++)
if(i%k==0)tag=l;
if(tag==0)printf("%d,"zi);
)
)
#include<stdio.h>
//include<math.h>
main()
{intk,i,tag;
printf("2,");
for(i=3;i<=100;i+=2)
{tag=0;
for(k=2;tag==0&&k<sqrt(i);k++)
if(i%k==0)tag=l;
if(tag==0)printf("%d,i);
)
例5.9
//include<stdio.h>
main()
{inti,s;
s=0;
for(i=1;;i++)
{s=s+i;
if(s>5000)break;
}
printff's=%d,i=%d\n"/s,i);
)
例5.10
#include<stdio.h>
main()
{intk=0,s=0,i;
for(i=1;i<=5;i++)
{s=s+i;
if(s>5)
{printf("****i=%d,s=%d,k=%d\n",i,s,k);/*1#輸出語(yǔ)句*/
continue;
)
k=k+s;
printf("i=%d,s=%d,k=%d\n",i,s,k);/*2#輸出語(yǔ)句*/
}
例5.11
#include<stdio.h>
main()
{intx,max;
printf("Enter-1toend:\n");
do
{printf("Enterx:");scanf("%d"z&x);
}while(x<0&&x!=-1);
max=x;
while(x!=-1)
{printf("Enterx:");scanf("%d",&x);
if(x>0&&x>max)max=x;/*max始終存放大于零的最大值*/
)
iffmax!=-1)printf("max=%d\n",max);
)
例5.12
#include<stdio.h>
ttinclude<math.h>
main()
{floata,xO,xl;
printf("\nlnputa:");scanf("%f",&a);
if(a<0)
printf("error!\n“);/*不能求負(fù)數(shù)的平方根*/
else
{x0=a/2;
xl=(x0+a/xO)/2;
do
{xO=xl;
xl=(x0+a/xO)/2;
)
while(fabs(xO-xl)>le-6);
printf("sqrt(%f)=%f標(biāo)準(zhǔn)sqrt(%f)=%f\n",a,xl,a,sq-t(a));
5.5
#include<stdio.h>
main()
{inti,sum;
for(i=1;i<6;i++)sum+=sum;
printf("%d\n",sum);
)
5.6
//include<stdio.h>
main()
{inty=10;
for{;y>0;y-)
if(y%3==0)
{printf("%d”,-y);continue;
)
)
5.8
ttinclude<stdio.h>
main()
{inti;
for(i=1;i<=5;i++)
{if(i%2)printf("*〃);
elsecontinue;
printf(〃#");
)
printf(w$\nw);
)
5.10
#include<stdio.h>
main()
{intx,i;
for(i=l;i<=100;i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf("%d",x);
}
printf(Qn〃);
)
5.13
#include<stdio.h>
main()
{intx=2;
while(x--);
printf("%d\n",x);
5.16
//include<stdio.h>
main()
{floatx,amax,amin;
scanf("%f",&x);
amax=x;amin=x;
while([1])
{if(x>amax)amax=x;
if([2])amin=x;
scanf("%f",&x);
)
printf(/z\namax=%f\namin=%f\rT,amax,amin);
)
例6.1
ttinclude<stdio.h>
main()
{charch;inti;
for(i=0;i<26;i++)
{ch=i+65;
if(i%2==0)printf("\n"?;
printf("c=%cASCII=%d",ch,ch);
}
putchar(\n);
)
例6.2
#include<stdio.h>
main()
{
printf("PressEntertocortinue\n");
while(getchar()!='\n');
)
例6.3
#include<stdio.h>
main()
{chare;
while((c=getchar())!='\n')
{if(c>=,a,&&c<='z')c=c-"a'+'A';
putchar{c);
)
putchar('\n');
例6.4
ttinclude<stdio.h>
#include<ctype.h>
main()
{longn=O;charch;
while((ch=getchar())!='!')/*未遇到結(jié)束標(biāo)志時(shí)循環(huán)繼續(xù)*/
if(isspace(ch))n++;
printf("n=%ld\n",n);
)
例6.5
#include<stdio.h>
//include<ctype.h>
main()
{charc;
c=getchar();
while(c未遇到結(jié)束標(biāo)志時(shí)循環(huán)繼續(xù)*/
{if(isalpha(c))/*調(diào)用函數(shù)判斷c中是否為字母*/
{c=tolower(c);/*調(diào)用函數(shù)把大寫字母轉(zhuǎn)換成小寫字母*/
c=(c-'a,+l)%26+,a,;
)
putcharfc);
c=getchar();
)
printf("\n");
)
6.7
//include<stdio.h>
main()
{charcl=A,c2=Y;
printf("%d,%d\n”,cl,c2);
)
6.8
//include<stdio.h>
main()
{charx=A;
x=(x>=A&&x<=Z)?(x+32):x;
printf("%c\n”,x);
6.9
ttinclude<stdio.h>
main()
{charch;
ch=A+5-3;
printf("%d,%c\n”,ch,ch);
)
6.10
#include<stdio.h>
main()
{intc;
while((c=getchar())!=\n)
{switch(c-2)
{case0:
case1:putchar(c+4);
case2:putchar(c+4);break;
case3:putchar(c+3);
default:putchar(c+2);break;
)
}printf(Qn〃);
)
例7.2
ttinclude<stdio.h>
voidtry(int,int,int);/*說(shuō)明函數(shù)try為無(wú)值型,含有3個(gè)int類型的形參*/
main()
{intx=2,y=3,z=0;
printf("⑴x=%dy=%dz=%d\n",x,y,z);
try(x,y,z);
printf("(4)x=%dy=%dz=%d\n'\x,y,z);
)
voidtryfintx,intyzintz)
{printf("(2)x=%dy=%dz=%d\n",x,y,z);
z=x+y;
x=x*x;
y=yy;
printf("⑶x=%dy=%dz=%d\n",x,y,z);
例7.3
ttinclude<stdio.h>
voidsw叩(int,int);/*函數(shù)說(shuō)明語(yǔ)句*/
main()
{intx=10,y=20;
printf("⑴x=%dy=%d\n",x,y);
swap(x,y);
printf("⑷x=%dy=%d\n",x,y);
)
voidswap(inta,intb)
{intt;
printf("⑵a=%db=%d\n",a,b);
t=a;a=b;b=t;
printfn3)a=%db=%d\n",a,b);
}
例7.4
#include<stdio.h>
intisprime(int);/*isprime函數(shù)的說(shuō)明語(yǔ)句*/
main()
{intx;
printf("Enteraintegernumber:");
scanf("%d”,&x);"從鍵盤輸入一個(gè)整數(shù)*/
if(isprime(x))
printf("%disprimeXn",x);/*當(dāng)函數(shù)返回1時(shí),輸出“是素?cái)?shù)”*/
else
/*當(dāng)函數(shù)返回時(shí),輸出”不是素?cái)?shù)“*/
printf("%disnotprime\n"zx);0
intisprime(inta)/*定義isprime函數(shù)*/
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)return0;/*a一旦能被某個(gè)數(shù)整除,印不是素?cái)?shù),返回0*/
return1;/*a不能被2到a/2之間任何一個(gè)數(shù)整除,返回1*/
例7.5
#include<stdio.h>
Intisprime(int);/*isprime函數(shù)的說(shuō)明語(yǔ)句*/
voideven(int);/*even函數(shù)的說(shuō)明語(yǔ)句*/
main()
{inta;
printf("Enteraevennumber:");scanf("%d",&a);
if(a%2==0)even(a);
elseprintf("The%disntevennumberXn",a);
}
voideven(intx)/*定義even函數(shù)*/
{inti;
for(i=2;i<=x/2;i++)
if(isprime(i))
if(isprime(x-i))
{printf("%d=%d+%d\n",x,i,x-i);return;}
)
intisprime(inta)/*isprime函數(shù)定義與例7.4同,在此省略*/
{……}
例7.6
//include<stdio.h>
intsum(int);/*sum函數(shù)的說(shuō)明語(yǔ)句*/
intf(int);/*f函數(shù)的說(shuō)明語(yǔ)句*/
main()
{inta,b;
printf("tnteraintegernumber:");//輸入一個(gè)整數(shù)*7
scanf(”%d”,&a);
b=sum(a);/*調(diào)用sum函數(shù)求f(x)的累加和*/
printf("a=%dsum=%d\n",a,b);
)
intsum(intn)/*定義sum函數(shù)*/
{intx,s=0;
for(x=0;x<=n;x++)s+=f(x);
returns;/*返回累加和*/
)
intf(intx)/*定義f(x)函數(shù)*/
{returnx*x+l;}
例7.7
^include<stdio.h>
ttinclude<math.h>
doubleinteg(doublea,doubleb)
{doubles,x,h;
intn=100,i;
h=fabs(b-a)/n;/*fabs()為求絕對(duì)值函數(shù)*/
s=(sin(a)+sin(b))/2.0;
for(i=1;i<=n-1;i++)
{x=a+i*h;s=s+sin(x);}
s=s*h;
returns;
)
main()
{doubles;
s=integ(0.0z1.5);
printf("s=%f\n",s);
)
例7.8
^include<stdio.h>
#include<ctype.h>
charmyupper(charch)
{if(ch>=a&&ch<=z)ch=ch-32;
returnch;
)
main()
{charc;
while((c=getcharf))!='@')
{c=myupper(c);
putchar(c);
)
}
例7.9
#include<stdio.h>
Longcountchf);/*countch函數(shù)說(shuō)明語(yǔ)句*/
main()
{longn;
n=countch();
printf("n=%ld\n",n);
longcountch()
{longcn;
for(cn=0;getchar()cn++);
returncn;
例7.10
//include<stdio.h>
#defineIN1/*標(biāo)志在一個(gè)單詞的內(nèi)部*/
#defineOUT0/*標(biāo)志在一個(gè)單詞的外部*/
intcountwordf);/*函數(shù)說(shuō)明語(yǔ)句*/
main()
{intn;
n=countword();
printf("n=%d\n"zn);
}
intcountword()
{intc,nw,state;
state=OUT;/*在單詞的外部*/
nw=0;
while((c=getchar())
{if(c=="||c=='\n'||c=='\t,)
state=OUT;/*讀入的字符是分隔符,在一個(gè)單詞的外部*/
elseinstate==OUT)/+如果遇到單詞的第一個(gè)字符*7
{state=IN;/*狀態(tài)變量置成IN:在單詞的內(nèi)部*/
nw++;/*單詞個(gè)數(shù)增1*/
)
}
returnnw;
)
7.4
ttinclude<stdio.h>
intfunc(inta,intb)
{intc;
c=a+b;returnc;
)
main()
{intx=6,y=7,z=8,r;
r=func{(x-,y++,x+y),z-);printf("%d\n",r)
7.5
ttinclude<stdio.h>
intf(intzint);
main()
{inti=2,p;
p=f(i,i+1);printf("%d\n”,p);
}intf
(
inta,intb
)
{intc;
c=a;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-l;
return(c);
)
7.6
#include<stdio.h>
intfun(inta,intb,intc)
{c=a*b;}
main()
{intc;
fun(2,3,c);printf("%d\n",c);
7.7
#include<stdio.h>
doublef(intn)
{inti;doubles;
s=1.0;
for(i=1;i<=n;i++)s+=1.0/i;
returns;
)
main()
{inti,m=3;doublea=0.0;
for{i=0;i<m;i++)a+=f(i);
printfa);
7.8
ttinclude<stdio.h>
unsignedfun6(unsignedmm)
{unsignedk=1;
do
{k*=num%10;num/=10;}
while(num);
returnk;
)
main()
{unsignedn=26;
printf("%d\n",fun6(n));
}
7.9
//include<stdio.h>
doublesub(doublex,doubley,doublez)
{y-=1.0;z=z+x;returnz;}
main()
{doublea=2.5,b=9.0;
printfsub(b-a,a,a));
)
7.10
ttinclude<stdio.h>
intfun2(inta,intb)
{intc;
c=(a*b)%3;returnc;
}intfunl(
inta,intb
)
{intc;
a+=a;b+=b;c=fun2(a,b);
returnc*c;
)
main()
{intx=11,y=19;
printf("%d\n”,funl(x,y));
)
例8.1
#include<stdio.h>
main()
{inta,b,min,*pa,*pb,*pmin;
pa=&a;pb=&b;pmin=&min;
scanf("%d%d",pa,pb);/*輸入的值依次放入pa、pb所指存儲(chǔ)單元中*/
printf("a=%db=%d\n",a,b);/*通過(guò)輸出,驗(yàn)證a、b中的值*/
*pmin=*pa;/*假定a中的值最小,將其賦給min*/
if(*pa>*pb)*pmin=*pb;/*若b中的值比a小,將其賦給min*/
/*輸出小值*/
printf("min=%d\n"zmin);
)
例8.2
//include<stdio.h>
intmyadd(int*a,int*b)
{intsum;
sum=*a+*b;
returnsum;
)
main()
{intx,y,z;
printfC'Enterx.y:");
scanf("%d%d",&x,&y);
z=myadd(&x,&y);
printf("%d+%d=%d\n"/x,y,z);
}
例8.3
//include<stdio.h>
voidswap(int*,int*);
main()
{intx=30,y=20;
printf("(l)x=%dy=%d\nx,y);
swap(&x,&y);
printf("(4)x=%dy=%d\nx,y);
)
voidswap(int*a,int*b)
{intt;
。)
print"a=%db=%d\n"z*az*b);
t=*a;*a=*b;*b=t;
printf("(3)a=%db=%d\n",*a,*b);
例8.4
#include<stdio.h>
voidswap(int*xl,int*x2)
{intt;
t=*xl;*xl=*x2;*x2=t;
)
voidorder(int*a,int*b)
{if(*a>*b)swap(a,b);}
main()
{intx,y;
printf("Enterx,y:");
scanf("%d%d",&x,&y);
printff'x=%dy=%d\n“,x,y);
order(&xz&y);
printf("x=%dy=%d\n",x,y);
例8.5
#include<stdio.h>
int*fun(int*,int*);/*函數(shù)說(shuō)明語(yǔ)句*/
main()
{int*p,i,j;
printf("Entertwonumbe-:");
scanf("%d%d",&i,&j);
p=fun(&i,&j);/*p將得到i或j的地址“/
printf("i=%d,j=%d,*p=%d\n"/\,j,*p);
)
int*fun(int*a,int*b)
{if(*a>*b)returna;
returnb;
)
8.2
include<stdio.h>
main()
{printf("%d\n”,NULL);)
8.3
ttinclude<stdio.h>
voidsub(intx,inty,int*z)
{*z=y-x;}
main()
{inta,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d\n”,a,b,c);
)
8.4
ttinclude<stdio.h>
main()
{intk=2,m=4,n=6,*pk=&k,*pm=&m,*p;
*(p=&n)=*pk*(*pm);printf("%d\n",n);
)
8.8
#include<stdio.h>
voidprtv(int*x)
{printf("%d\n〃,++*x);}
main()
{inta=25;
prtv(&a);
)
8.9
#include<stdio.h>
main()
{int**kz*a,b=100;
a=&b;k=&a;printf("%d\n”,**k);
)
8.10
#include<stdio.h>
voidfun(float*a,float*b)
{floatw;
*a=*a+*a;w=*a;*a=*b;*b=w;
)
main()
{floatx=2.0,y=3.0,*px=&K,*py=&y;
fun(px,py);printf("%2.U£%2.0f\n”,x,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Ginisortamab-Mouse-IgG1-生命科學(xué)試劑-MCE-5731
- CDDP-PEG-Cy3-生命科學(xué)試劑-MCE-6481
- 20-Hydroxylucidenic-acid-E2-生命科學(xué)試劑-MCE-8519
- 2-Dodecylfuran-生命科學(xué)試劑-MCE-5142
- 二零二五年度綠色建筑物業(yè)費(fèi)減免執(zhí)行合同
- 二零二五年度校園教師聘用與管理合作協(xié)議
- 二零二五年度股權(quán)贈(zèng)與合同:公司股東權(quán)益轉(zhuǎn)移與公司股權(quán)結(jié)構(gòu)調(diào)整
- 2025年度籃球運(yùn)動(dòng)員與俱樂(lè)部傷病賠償合同
- 2025年度影視基地裝修半包工程合同
- 二零二五年度電影演員片酬結(jié)算聘用協(xié)議
- 2025年生物安全年度工作計(jì)劃
- 通用電子嘉賓禮薄
- 兒童編程課件
- (完整word版)英語(yǔ)四級(jí)單詞大全
- 武裝押運(yùn)操作規(guī)程完整
- 混合動(dòng)力汽車構(gòu)造與檢修(高職新能源汽車專業(yè))PPT完整全套教學(xué)課件
- 薪酬專員崗位月度KPI績(jī)效考核表
- 技能大賽題庫(kù)(空分)
- 污水處理廠設(shè)備的操作規(guī)程(完整版)
- GB/T 28419-2012風(fēng)沙源區(qū)草原沙化遙感監(jiān)測(cè)技術(shù)導(dǎo)則
- GB/T 22077-2008架空導(dǎo)線蠕變?cè)囼?yàn)方法
評(píng)論
0/150
提交評(píng)論