版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
信息科學(xué)與工程學(xué)院C語言上機(jī)150道題參考答案
001.某一門課程考試之后,需要統(tǒng)計(jì)考生(10人)的平均成績(jī),并找出其中的最高分和最低分。
#include<stdio.h>
#include<conio.h>
main()
(
floata[10]tave,max,min,sum=0;
inti;
printf(”請(qǐng)輸入10個(gè)考生的成績(jī):\n");
for(i=0;i<10;i++)
scanf("%f',&a[i]);
for(i=0;i<10;i++)
sum+=a[i];
ave=sum/10;
max=a[0];
for(i=1;i<10;i++)
if(a[i]>max)
max=a[i];
min=a[0];
for(i=1;i<10;i++)
if(a[i]<min)
max=a[i];
printf("平均成績(jī):%f,最高分:%f,最低分:%f',ave,max,min);
getch();
)
003.用while循環(huán)結(jié)構(gòu)編寫程序打印ASCII碼為33-127的字符。#include<stdio.h>
#include<conio.h>
main()
(
inti=33;
while(i<=127)
(
printf("%c",i);
i++;
)
getch();
)
004用do-while,for循環(huán)結(jié)構(gòu)編寫程序打印ASCII碼為33-127的字符。
#include<stdio.h>
#include<conio.h>
main()
(
inti=33;
do
(
printf("%c",i);
i++;
}while(i<=127);
getch();
)
006.在1?500中,找出能同時(shí)滿足用3除余2,用5除余3,用7除余4的所有整數(shù),用循環(huán)結(jié)構(gòu)。
#include<stdio.h>
#include<conio.h>
main()
(
inti;
for(i=1;j<=500;i++)
(
if(i%3==2&ai%5==3&&i%7==5)
printf("%d\n",i);
)
getch();
)
007.輸入一個(gè)整數(shù)將其倒著輸出,如54321——12345o
(方法一)
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
(
chara[100];
intlen,i;
printf("請(qǐng)輸入一個(gè)整數(shù):\n");
scanf("%s",a);
len=strlen(a);
for(i=len-1;i>=0;i-)
printf("%c",a[i]);
getch();
)
007(方法二)
#include<stdio.h>
#include<conio.h>
main()
(
intnum,t;
printf("請(qǐng)輸入一個(gè)整數(shù):\rT);
scanf(n%d",&num);
while(num>0)
(
t=num%10;
num=num/10;
printf(”%d”,t);
)
getch();
OO8.i+Ms=1+1/3+1/5+...+1/n,截止到1/n<10-4o
#include<stdio.h>
#include<conio.h>
main()
(
intn;
floatt=1,s=0;
for(n=1;t>0.0001;n+=2)
(
t=(float)1/n;
s=s+t;
)
printf("s=%r,s);
getch();
)
009.從鍵盤輸入一整數(shù)n,計(jì)算1*1+2*2+...+n*n的值。
#include<stdio.h>
#include<conio.h>
main()
(
intn,i,s=0;
printf("請(qǐng)輸入一個(gè)整數(shù):\rT);
scanf(n%d",&n);
for(i=1;i<=n;i++)
s=s+i*i;
printf("%d",s);
getch();
)
010.用while循環(huán)計(jì)算1+2+……+100的和。
#include<stdio.h>
#include<conio.h>
main()
(
ints=0,i=1;
while(i<=100)
(
s=s+i;
i++;
)
printf("%d",s);
getch();
)
11.用dowhile循環(huán)計(jì)算1+2+……+100的和
#include<stdio.h>
main()
(
inti,result;
i=1;result=0;
while(i<=100)
result=i+result;
i++;
)
+2+...+100=%d”,result);
while(1);
)
12.用for循環(huán)計(jì)算1+2+……+100的和。
#include<stdio.h>
main()
(
inti,result;
for(i=1,result=0;i<=100;i++)
(
result=i+result;
)
printf("1+2+...+100=%d'\result);
while(1);
)
13.輸入一個(gè)小于等于10的整數(shù)n,計(jì)算n!。
#include<stdio.h>
longfac(intn)
(
longresult;
if(n==0||n==1){result=1;}
else{result=n*fac(n-1);}
returnresult;
)
main()
(
intn;longresult;
printf("請(qǐng)輸入一個(gè)小于等于10的整數(shù)\n");
scanf(n%d",&n);
if(n>=0&&n<=10)
(
result=fac(n);
printf("%d!=%ld',,n,result);
)
elseprintf("輸入數(shù)據(jù)錯(cuò)誤");
while(1);
)
14.輸入兩個(gè)正整數(shù)m和n,計(jì)算m!+n!,m和n的值均小于10。
#include<stdio.h>
longfac(intn)
(
longresult;
if(n==0||n==1){result=1;}
else{result=n*fac(n-1);}
returnresult;
)
main()
(
intn,m;longresult;
printf(”請(qǐng)輸入兩個(gè)小于等于10的整數(shù)\n)
scanf(',%d%d",&n,&m);
if(n>=0&&n<=10&&m>=0&&n<=10)
(
result=fac(n)+fac(m);
printf("%d!+%d!=%ld",n,m,result);
)
elseprintf("輸入數(shù)據(jù)錯(cuò)誤");
while(1);
)
15.用循環(huán)語句,計(jì)算1~100之間的所有3的倍數(shù)之和。
#include<stdio.h>
main()
(
inti,result;
for(i=1,result=0;i<=100;i++)
(
if(i%3==0)
result=result+i;
)
printf(M1-100之間的所有3的倍數(shù)之和為%d”,result);
while(1);
)
16.用循環(huán)語句,計(jì)算100-200之間的所有7的倍數(shù)之和。
#include<stdio.h>
main()
(
inti,result;
for(i=100,result=0;i<=200;i++)
(
if(i%7==0)
result=result+i;
)
printf("100-200之間的所有7的倍數(shù)之和為%d",result);
while(1);
)
17.輸出1-100之間,7的整數(shù)倍數(shù)或數(shù)字尾數(shù)為7的數(shù)字,統(tǒng)計(jì)出這些數(shù)字個(gè)數(shù)。
#include<stdio.h>
main()
inti,num;
for(i=1,num=O;i<=100;i++)
(
if(i%7==0||i%10==7)
num++;
}
printf("1-100之間,7的整數(shù)倍數(shù)或數(shù)字尾數(shù)為7的數(shù)字個(gè)數(shù)為%d”,num);
while(1);
)
18.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母,空格,數(shù)字和其他字符的個(gè)數(shù)。
include<stdio.h>
intmain()
(
inti=0,space=O,num=O,n=0,ch=O;
chars[1000000];
p「intf("請(qǐng)輸入一串字符");
gets(s);
while(s[i]!='\0')
(
if(s[i]=,)
space++;
elseif(s[i]<='9,&&s[i]>='0')
num++;
elseif(s[i]<='z'&&s[i]>='a'||s[i]<='Z'&&s[i]>='A')
ch++;
else
n++;
i++;
)
printf("剛才輸入的字符中英文字符個(gè)數(shù)為%d\n",ch);
printf("剛才輸入的字符中空格個(gè)數(shù)為%d\n",space);
printf("剛才輸入的字符中數(shù)字個(gè)數(shù)為%d\n",num);
printf("剛才輸入的字符中其他個(gè)數(shù)為%d\n",n);
while(1);
}
19.輸入一個(gè)整數(shù),統(tǒng)計(jì)它有幾位數(shù)。如輸入367,則該數(shù)有3位數(shù)。
#include<stdio.h>
main()
(
intn,i,j;
i=1;j=0;
printf("請(qǐng)輸入一個(gè)整數(shù)\n“);
scanf("%d",&n);
if(n==0)printf("這個(gè)數(shù)是1位數(shù)”,j);
else{
while(n>=i)
i=10*i;
j=j+1;
)
printf("這個(gè)數(shù)是%d位數(shù)",j);
}
while(1);
)
20.編寫程序,輸出1到50中間所有能被3整除的正整數(shù)。
#include<stdio.h>
main()
(
printf("1到50中間所有能被3整除的正整數(shù)如下\n");
intn;
for(n=1;n<=50;n++)
(
if(n%3==0)
)
while(1);
)
21.把100~200之間不能被3整除的輸出。
#include<stdio.h>
main()
(
printf("100~200之間不能被3整除的正整數(shù)如下\n");
intn;
for(n=100;n<=200;n++)
(
if(n%3!=0)
printf("%d\t",n);
)
while(1);
)
22.編程Y=1+3+5+7+...111o
#include<stdio.h>
main()
(
printf(,,Y=M);
intn,result;
for(n=1,result=0;n<=111;n=n+2)
(
printf(“%d+”,n);
result=result+n;
}
printf("=%d\n",result);
while(1);
23.編程y=1*1/2*1/3*1/4*1/5*1/6*...前十項(xiàng)之積。
#include<stdio.h>
#include<conio.h>
main()
(
inti;
longinty;
y=1;
for(i=1;i<=10;i++)
(
y=y*i;
)
printf("y=1/%ldn,y);
getch();
)
24.編程輸出九九乘法表。
#include<stdio.h>
#include<conio.h>
main()
(
intij;
for(i=i;j<=9;i++)
(
forG=1;j<=i;j++)
printf("%d*%d=%d\t",j,i,i*j);
p「intf(“\n”);
)
getch();
)
25.求1到100奇數(shù)和。
#include<stdio.h>
#include<conio.h>
main()
(
inti=0,n;
for(n=1;(2*n-1)<100;n++)
i=i+(2*n-1);
printf("1到100以內(nèi)的奇數(shù)之和為:%d\n”,i);
getch();
)
26.求1到100偶數(shù)和。
#include<stdio.h>
#include<conio.h>
main()
inti,s;
s=0;
for(i=2;i<=100;i=i+2)
s=s+i;
printffl到100的偶數(shù)和是:");
printf("s=%d\n",s);
getch();
)
27.編程求200以內(nèi)所有質(zhì)數(shù)(素?cái)?shù)卜
#include<stdio.h>
#include<math.h>
#include<conio.h>
intisprime(intm)
{inti;
for(i=2;i<=sqrt(m);i++)
if(m%i==0)
{returnO;break;}
if(i>=(int)sqrt(m)+1)
return1;
)
main()
{intn.flag;
for(n=1;n<=200;n++)
(
flag=isprime(n);
if(flag)
printf("%d\t",n);}
getch();
)
28.從鍵盤輸入一個(gè)整數(shù),求該數(shù)的絕對(duì)值。
#include<stdio.h>
#include<conio.h>
main()
(
floata,t;
printf("Pleaseinputthevalue\t");
scanf("%f',&a);
if(a<0)
t=-a;
else
t=a;
printf("Theabsolutevalueis:\t%f',t);
getch();
)
29.從鍵盤輸入+、-、*、/中的任一個(gè),輸出對(duì)應(yīng)的英文單詞:plus、minus、mutiply、divide,如輸入的
不是這4個(gè)字符中的任一個(gè),則輸出“sorry,youarewrong;
#include<stdio.h>
#include<stdlib.h>
main()
charch;
ch=getchar();
if(ch=='+')
printf("plus\nu);
elseif(ch==,J)
printf(nminus\n");
elseif(ch=='*')
printf(,,multiply\nH);
elseif(ch==7')
printfC'divideVn");
else
printf("youarewrong'*);
systemCpause*');
)
30.從鍵盤輸入一個(gè)字符,判斷其是否為a,r,或f,并輸出相應(yīng)的信息(不區(qū)分大小寫卜
#include<stdio.h>
#include<conio.h>
main()
(
charn1='a',n2='r',n3=T,n4;
charm1='A;m2='R',m3=,F,;
printf("請(qǐng)輸入一個(gè)字符:");
scanf("%c",&n4);
if(n4==n1||n4==m1)
{printf(Hyouareright!\n");
printf(*,n4=%c\n",n4);
)
elseif(n4==n2||n4==m2)
{printf("youareright!\n");
printf("n4=%c\n",n4);
)
elseif(n4==n3||n4==m3)
{printf("youareright!\n");
printf("n4=%c\n",n4);
)
else
printf("youputintoawrongchar!\n");
getch();
)
31.求解一元二次方程ax2+bx+c=0的跟(a不等于0),a,b,c均為實(shí)數(shù),其值由鍵盤輸入。
#include<math.h>
#include<stdio.h>
#include<conio.h>
main()
(
doublea,b,c;
doubles,x1,x2;
printf("pleaseentera,b,c:\n");
scanf("%lf%lf%lf',&a,&b,&c);
if(8>--(16-6)&&a<—(16-6))
printf("sorry!youhaveawrongnumberaAn");
else
(
s=b*b-4*a*c;
if(s>(1e-6))
(
x1=(-b+sqrt(s))/(2*a);
x2=(-b-sqrt(s))/(2*a);
printfftherearetwodifferentreal:\nx1=%5.2f,x2=%5.2f\n",x1,x2);}
else
if(s>=-(1e-6)&&s<=(1e-6))
(
x1=x2=-b/(2*a);
printf(ntherearetwoequalreal:\nx1=x2=%5.2f\n",x1);
)
else
(
s=-s;
x1=-b/(2*a);
x2=fabs(sqrt(s)/(2*a));
printff'therearetwodifferentcomplex:\n");
printf("x1=%5.2f+%5.2fi,x2=%5.2f-%5.2fi\nH,x1,x2,x1,x2);
)
)
getch();
)
32.編一程序,對(duì)于給定的一個(gè)百分制成績(jī),輸出用像TV,JCJD二吧表示的等級(jí)成績(jī)。設(shè):90分以
上為'A',80~89分為舊',70~79分為C,60~69分'D',60分以下為E'。(要求用switch語句編程卜
#include<stdio.h>
#include<stdlib.h>
main()
(
intscore,temp,logic;
chargrade;
logic=1;
while(logic)
(
printf(Hinputscore:\n");
scanf("%d",&score);
if((score>100)||(score<0))
printf("\nerror,inputagain!\n");
else
logic=0;
printf("\rT);
)
if(score==100)
temp=9;
else
temp=(score-score%10)/10;
switch(temp)
(
case9:grade='A';break;
case8:grade-B';break;
case7:grade='C';break;
case6:grade='d';break;
case5:
case4:
case3:
case2:
case1:
case0:grade='e';break;
)
printf("scoreis:%d,thegradeis:%c.\n",score,grade);
system("pause");
)
33.輸入一個(gè)整數(shù),判斷它能否被3,5,7整除。
#include<stdio.h>
#include<conio.h>
main()
(
intx;
printf("Pleaseenterx:");
if((x%3==0)&&(x%5==0)&&(x%7==0))
printf("%d能被3,5,7整除”,x);
else
printf("%d不能被3,5,7整除",x);
getch();
)
34.用整數(shù)1~12依次表示1~12月,由鍵盤輸入一個(gè)月份數(shù),輸出對(duì)應(yīng)的季節(jié)英文名稱(12~2月為冬季;
3~5月為春季;6~8月為夏季;9-11月為秋季。要求用if嵌套實(shí)現(xiàn)\
#include<stdio.h>
#include<conio.h>
main()
(
intmonth,i;
loop:printf("enteraninteger。~12):\n");
scanf("%d”,&month);
if(month<1||>12)
gotoloop;
r=month%12;
r=r/3;
if(r==O)
printf("winter\n");
elseif(r==1)
printf("spring\n");
elseif(r==2)
printf("summer\n");
else
printf("autumn\n");
getch();
)
35.編寫輸入整數(shù)a,b,c,當(dāng)a為1時(shí)顯示b和c之和,a為2時(shí)顯示b與c之差,a為3時(shí)顯示b*c之
積,a為4時(shí)取b/c之商,a為其他數(shù)值時(shí)不做任何操作的程序。
#include<stdio.h>
#include<conio.h>
main()
(
inta,b,c;
printff'pleaseentera,b,c:\n");
scanf(n%d%d%d",&a,&b,&c);
switch(a)
(
case1:printf(',%d+%d=%d\n",b,c,b+c);
break;
case2:printf("%d-%d=%d\n",b,c,b-c);
break;
,
case3:printf('%d*%d=%d\n",b1c,b*C);
break;
case4:printf("%d/%d=%d\n",b,c,b/c);
break;
default:break;
)
getch();
)
36.編寫輸入一個(gè)整數(shù),將其數(shù)值按小于10,10~99,100-999,1000以上分類并顯示。
#include<stdio.h>
#include<conio.h>
main()
(
inta;
printf("請(qǐng)輸入整數(shù)A:\n");
scanf("%d",&a);
if(a<10)
printf("整數(shù)%d小于10o",a);
elseif((a>=10)&&(a<99))
printf("整數(shù)%d大于等于10且小于100?!?a);
elseif((a>=100)&&(a<999))
printf("整數(shù)%d大于等于100且小于1000。",a);
else
printf("整數(shù)%d大于等于1000。",a);
getch();
}
37.編寫輸入一個(gè)按數(shù),當(dāng)為65時(shí)顯示A,66時(shí)顯示B,67時(shí)顯示C,其他值時(shí)顯示END的程序。
#include<stdio.h>
#include<conio.h>
main()
(
inta;
printf("請(qǐng)輸入整數(shù)a:\n");
scanf("%dH,&a);
switch(a)
(
case65:printf("A");break;
case66:printf("B");break;
case67:printf("C");break;
default^rintfC'END1');
)
getch();}
38.編程實(shí)現(xiàn):輸入4個(gè)整數(shù),要求按由小到大輸出。
#include<stdio.h>
#include<conio.h>
main()
(
inta,b,c,d,t;
printf(”請(qǐng)輸入4個(gè)整數(shù):a,b,c,d:\rT);
scanf("%d%d%d%dH,&a,&b,&c,&d);
if(a>b)
(
t=a;
a=b;
b=t;
)
if(c>d)
(
t=d;
d=c;
c=t;
)
if(a>c)
(
t=c;
c=a;
a=t;
)
if(b>d)
(
t=b;
b=d;
d=t;
)
if(b>c)
(
t=b;
b=c;
c=t;
)
printf("排序后:%d<%d<%d<%d",a,b,c,d);
getch();
)
39.企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)的提成,利潤(rùn)I低于或等于10萬元的,獎(jiǎng)金可提10%;利潤(rùn)高于10萬元低
于20萬時(shí),低于10萬的部分按10%提成,高于10萬元的部分,可提成7.5%;20萬元<1<=40萬元時(shí),
低于20萬的部分仍按上述辦法,高于20萬元部分按5%提成;利潤(rùn)超過40萬元時(shí),低于40萬元的部分
按上述辦法,高于40萬元部分按1%提成。從鍵盤輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)獎(jiǎng)金部分。
#include<stdio.h>
#include<conio.h>
main()
(
ints,p;
floattax;
printf("enterincome:*');
scanf(n%d",&s);
printfOn");
if(s>800)
(
if((s-800)%100!=0)
p=(s-800)/100+1;
else
p=(s-800)/100;
switch(p)
case0:
case1:
case2:
case3:
case4:tax=(s-800)*0.05;
break;
case5:tax=400*0.05+(s-1200)*0.08;
break;
default:tax=400*0.05+800*0.08+(s-2000)*0.2;
break;
)
)
elsetax=0;
printf("Tax=%.2f',tax);
getch();
)
40.給出一百分制成績(jī),要求輸出成績(jī)等級(jí)90分以上為'A',80-89分為'B',70-79分為C,
60?69分為'D',60分以下為'EI,
#include<stdio.h>
#include<conio.h>
main()
(
intscore,temp,logic;
chargrade;
logic=1;
while(logic)
(
printf(Hinputscore:");
scanf("%d",&score;);
if((score>100||score<0)
printf("\nerror,inputagain!\nH);
else
logic=0;
printf(H\n");
)
if(score==100)
temp=9;
else
temp=(score-score%10)/10;
switch(temp)
(
case9:grade='A,;
break;
case8:grade=,B';
break;
case7:grade='C;
break;
case6:grade='D';
break;
case5:
case4:
case3:
case2:
case1:
case0:grade='E';
)
printf("scoreis:%d,thegradeis:5c.\n",score,grade);
getch();
)
41.給出一個(gè)不多于5位的正整數(shù),分別打印出每一位數(shù)字。
#include<stdio.h>
intmain(void)
(
intx,i=0;
do{
printf("請(qǐng)輸入數(shù)字:");
scanf(',%d",&x);
if(x>99999||x<0)printf("輸入的數(shù)據(jù)不合法.請(qǐng)重新輸入!\n“);
}while(x>99999||x<0);
while(x!=O)
(
printf("%d\t",x%10);
x=x/10;
i++;
)
printf(,r\n這個(gè)數(shù)共有%d位\n”,i);
return0;
)
42.從鍵盤輸入三個(gè)正整數(shù),判斷這三個(gè)數(shù)能否構(gòu)成三角形。
#include<stdio.h>
#include<conio.h>
doublesquare(intajntbjntc);
main()
(
intx,y,z;
floatS;
printff'pleaseenterx,y,andz(x,y,z>0)\nn);
scanf(,,%d%d%d",&x,&y,&z);
if((x+y<=z)||(x-y>=z)||(x+z<=y)||(x-z>=y)||(y+z<=x)||(y-z>=x))
printf("sorry,youarewrong!\nH);
Else
Printf("yes!\nn);
43.編寫輸入兩個(gè)整數(shù)a和b,若azb時(shí),求其積c并顯示,若a〈b時(shí),求其商c并顯示的程序。
#include<stdio.h>
#include<conio.h>
main()
(
inta,b,c;
printff'pleaseenter:\n");
scanf(n%d%d",&a,&b);
if(a>=b)
(
c=a*b;
printf(H%d*%d=%d\n",a,b,c);
)
else
(
c=b/a;
printf("%d/%d=%d",a,b,c);
)
getch();
)
45.編程實(shí)現(xiàn):從鍵盤輸入三個(gè)正整數(shù),判斷它們是否構(gòu)成直角三角形。
#include<stdio.h>
#include<math.h>
voidmain()
(
inta,b,c;
printf("請(qǐng)輸入三角形的三條邊用逗號(hào)隔開a,b,c:");
scanf(,,%d,%d,%d",&a,&b,&c);
if((a>0)&&(b>0)&&(c>0)&&((a+b)>c)&&((b+c)>a)&&((a+c)>b))
(
if((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b))
printf("直角三角形\己);
else
printf("不是直角三角形\n");
}
else
printf("不能組成三角形\n");
)
46.編程實(shí)現(xiàn):從鍵盤輸入三個(gè)正整數(shù),判斷它們是否構(gòu)成等腰三角形。
#include<stdio.h>
main()
(
inta,b,c;
printf("請(qǐng)輸入三角形的三條邊用逗號(hào)隔開a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
if((a+b)>c&&(a-b)<c)
if(a==b||b==c||c==a)
printf("這是個(gè)等腰三角形\n“);
else
printf(“這不是等腰三角形\n”);
else
printf(“這三條邊不能構(gòu)成三角形\n”);
)
49.從鍵盤輸入一個(gè)整數(shù),判斷其是否素?cái)?shù)。
#include<stdio.h>
main()
(
inti,j=O,a;
printf("請(qǐng)輸入一個(gè)整數(shù)\己);
scanf(H%d",&a);
if(a>0&&a!=1)
(
for(i=1;i<=a;i++)
(
if(a%i==O)
j++;
)
if(j>2)
printf("這不是素?cái)?shù)\n");
)
else
(
printf("這是素?cái)?shù)\n“);
)
)
if(a<0)
printf(“輸入錯(cuò)誤】
if(a==1||a==0)
printf("這不是素?cái)?shù))
)
50.兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出3人。甲隊(duì)為A,B,C3人,已隊(duì)為X.Y,Z3人。已抽簽決定比賽名單。有
人向隊(duì)員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請(qǐng)蝙程找出3對(duì)賽手的名單。
#include<stdio.h>
#include<conio.h>
main()
(
chari,j,k;
for(i=,X';i<='Z';i++)
forO='X';j<=,Z,;j++)
if(i!=j)
for(k='X";k<='Z';k++)
if(i!=k&&j!=k)
if(i!='X,&&k!='X,&&k!=,Z')
printf(,,A-%c\tB-%c\tC-%c\t",i,j,k);
getchQ;
51.編寫程序從鍵盤輸入兩個(gè)不等于零的正整數(shù)a,b(a〈b),求它們之間的幾何級(jí)數(shù)的和°#include〈stdio.h>
#include<math.h>
voidmain()
(
inta,b,c,d,e,f,t;
printf("從鍵盤輸入兩個(gè)不等于零的正整數(shù)a,b(a〈b八n");
scanf(',%d,%d",&a,&b);
printf("\n從鍵盤輸入兩個(gè)不等于零的正整數(shù)c,d■使數(shù)據(jù)以c的d次方增長(zhǎng)\n");
scanf("%d,%d",&c,&d);
e=a*pow(c,d);
f=b*pow(c,d);
t=e+f;
printf("\n%d的幾何級(jí)數(shù)=%d\n”,a,e);
printf("%d的幾何級(jí)數(shù)
printf("%d,%d之間的幾何級(jí)數(shù)的和二%d\n",a,b,t);
52.編寫程序,統(tǒng)計(jì)從鍵盤輸入的字符的個(gè)數(shù)(回車換行符也是一個(gè)字符),當(dāng)遇到結(jié)束標(biāo)志時(shí)程序結(jié)束。
#include<stdio.h>
main()
(
charch;
unsignedcount=0;
printf("Pleaseenteryourwords:\n");
while((ch=getchar())!=EOF)
count=count+1;
p^ntf(,'count=%u\n',,count);
)
53.編寫程序,求面積在100平方米以內(nèi)的半徑,輸出所有滿足條件的半徑值和圓的面積的值。
#include<stdio.h>
voidmain()
(
intr,s;
for(r=1;r<100;r++)
(
s=3.14*r*r;
if(s<100)
printf("半徑為%d,面積為%d\n",r,s);
)
)
54.編寫程序,在屏幕上輸出階梯形式的乘法口訣表。
#include<stdio.h>
voidmain()
(
inti,j;
for(i=1;i<=9;i++)
{for(j=1;j<=i;j++)
printf("%d*%d=%d\t",j,i,i*j);
printf("\n");
)
)
55.求兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)。
#include<stdio.h>
main()
(
intp,r,n,m,temp;
printf("請(qǐng)輸入兩個(gè)正整數(shù),用逗號(hào)隔開:");
scanf("%d,%d',,&n,&m);
if(n<m)
(
temp=n;
n=m;
m=temp;
)
p=n*m;
while(m>=0)
r=n%m;
n=m;
m=r;
)
printf("這兩個(gè)數(shù)的最大公約數(shù)是:%d\n”,n);
printf("這兩個(gè)數(shù)的最小公倍數(shù)是:%小壯》/叫
)
56.某人有5張2角和4張3角的郵票,使用這些郵票能組合出多少種不同面值的郵資。
#include<stdio.h>
voidmain()
(
inti,j,sum=0;
floata[10],b[10];
for(i=0;i<=5;i++)
(
forQ=0;j<=4;j++)
(
if(i==0&&j==0)
;//i=0,j=0時(shí),組合出的面值是0,所以sum不加1,即什么都不執(zhí)行
else
sum++;
)
)
for(i=1;i<=5;i++)〃檢測(cè)可能組合出的相同的面值,并減去
(
a[i]=float(i*0.2);
forO=1;j<=4;j++)
(
bO]=float(j*0.3);
if(a[i]==bO])
sum-;
)
)
printf("5張2角和4張3角的郵票共能組合出%d種不同面值的郵資!\n",sum);
)
57.求不超過1000的回文素?cái)?shù)。
#include<stdio.h>
#include<math.h>
voidprime_number(intn)//判斷整數(shù)n是否為素?cái)?shù)
(
inti,m,t,s=1;//s是一個(gè)標(biāo)志,s=1表示是素?cái)?shù),s=0表示不是素?cái)?shù)
m=sqrt(n);
for(i=2;i<=m;i++)
t=n%i;
if(t==O)
s=0;
}
if(s==1)〃如果s=1,n就是素?cái)?shù)
printf(,,%d\n",n);;
)
voidhuiwen(intn)
(
intj,k,a;
k=n;
a=0;
while(k!=0)〃把整數(shù)n反向表示成a,即如果n=321,反向后a=123
(
j=k%10;
k=k/1O;
a=a*10+j;
)
if(a==n)〃如果a=n,那么n就是回文數(shù),然后再調(diào)用素?cái)?shù)判斷函數(shù)判斷n是否為素?cái)?shù)
prime_number(n);
)
voidmain()
(
inti;
printf(H1OOO以內(nèi)的回文素?cái)?shù)有:\n“);
for(i=1;i<=1000;i++)
huiwen(i);
)
58.自守?cái)?shù)是指一個(gè)數(shù)的平方的尾數(shù)等于該數(shù)自身的自然數(shù)。如:762=5776,求出2000000以內(nèi)的自守
數(shù)。
#include<stdio.h>
intpow(intn)
(
inti,s=1;
for(i=0;i<n;i++)
s*=10;
returns;
)
voidfun(intnum)
(
inti,a[7],b[7],c[7],number,s=0,sum;
number=num;
while(num!=0)
a[s]=num%10;
num/=10;
s++;
)
for(i=1;i<s;i++)
(
b[i]=a[i]*pow(i);
)
for(i=1;i<s;i++)
(
c[i]=number%(pow(i));
)
sum=a[O]*number;
for(i=1;i<s;i++)
(
sum+=b[i]*c[s-i];
}
if(sum%pow(s)==number)
printf("%d\n",number);
)
voidmain()
(
inti,m;
for(i=0;i<2000000;i++)
fun(i);
)
59.輸入自然數(shù)n,將n分解為質(zhì)因子連乘的形式輸出。例如,輸入756,則程序顯示為756=2*2*3*3*3*7。
include<stdio.h>
include<math.h>
intprime_number(intn)〃判斷整數(shù)n是否為素?cái)?shù)
(
inti,m,t,s=1;//s是一個(gè)標(biāo)志,s=1表示是素?cái)?shù),s=0表示不是素?cái)?shù)
m=sqrt(n);
for(i=2;i<=m;i++)
(
t=n%i;
if(t==O)
s=0;
)
returns;
)
voidmain()
(
inti,count=0,n,primes[1000],a[1000];
ints,j=O,k=O;
printf("請(qǐng)輸入一個(gè)數(shù)據(jù)n(n>=1):");
scanf("%d",&n);
while(n<=1)
printf("數(shù)據(jù)不合法,請(qǐng)重新輸入數(shù)據(jù):”);
scanf("%d",&n);
}
for(i=2;i<=n;i++)
(
s=prime_number(i);
if(s==1)
primes[++j]=i;
)
count=j;
printf("%d=",n);
for(i=1;i<=count&&n>=primes[i];i++)
(
while(n%primes[i]==O)
(
a[k]=primes[i];
k++;
n/=primes[i];
)
)
for(i=0;i<k-1;i++)
printf("%d*”,a[i]);
printf("%d\n",a[k-1]);
)
60.從鍵盤上輸入若干個(gè)學(xué)生的成績(jī),當(dāng)成績(jī)小于等于0時(shí)結(jié)束輸入。計(jì)算出平均成績(jī),并輸出不及格的
成績(jī)和人數(shù)。
#include<stdio.h>
voidmain()
(
floata,grade[100],average,sum=0;〃grade[100]存儲(chǔ)不及格成績(jī),average表示平均成績(jī),sum表示
總成績(jī)
inti=O,j,n=O;//i表示不及格人數(shù),n表示總?cè)藬?shù)
printf("請(qǐng)輸入一個(gè)學(xué)生的成績(jī)(0-100):");
scanf("%f\&a);
while(a>0&&a<=100)〃要求輸入成績(jī)?cè)??100之間
(
n++;
sum+=a;
if(a<60)
(
grade[i]=a;
i++;
)
printf("請(qǐng)輸入一個(gè)學(xué)生的成績(jī)(0-100):");
scanf("%f;&a);
);
average=sum/n;
printf("平均成績(jī)是:%4.2f/%d=%4.2f\n",sum,n,average);
printf("共有%d同學(xué)成績(jī)不及格,他們的成績(jī)?nèi)缦?\n”,i);
for(j=0;j<i;j++)
(
printf(n%4.2f\t",grade[j]);
)
printf("\n");
)
61.編一函數(shù),將一個(gè)字符串的字符反向輸出到屏幕。
include<stdio.h>
#include<string.h>
intmain()
(
chara[81];
intsum=O;
gets(a);
for(inti=strlen(a)-1;i>=0;i-)//strlen是統(tǒng)計(jì)字符串長(zhǎng)度的函數(shù),它的頭文件是string.h
printf(n%c",a[i]);
printf("\n");
return0;
)
62.例6-5編一函數(shù),從鍵盤輸入一個(gè)正整數(shù)n,求n!。
63.編一函數(shù),從鍵盤輸入一個(gè)正整數(shù)n,求Xn
#include<stdio.h>
intfun(intn)
(
if(n==0||n==1)
return1;
else
returnn*fun(n-1);
)
voidmain()
(
intn,s;
printf("請(qǐng)輸入一個(gè)正整數(shù):'?);
'
scanf('%d">&n);
s=fun(n);
printf("%d!=%d\n,,,n,s);
)
64.編一函數(shù),從鍵盤輸入2個(gè)正整數(shù),求最小公倍數(shù)。
include<stdio.h>
voidSwap(int&x,int&y)
inttern;
tem=x;
x=y;
y=tem;
)
intmain()
(
intx,y;
printf(”請(qǐng)分別輸入兩個(gè)整數(shù):");
scanf("%d%d,,,&x,&y);
intmax=x*y;
intt;
if(x<y)
Swap(x,y);
t=x%y;
while(t!=O)
(
x=y;y=t;t=x%y;
)
max=max/y;
printf("最小公倍數(shù)為:%d\n",max);
return0;
)
65.輸入1行字符(不超過80個(gè)字符卜編一函數(shù),統(tǒng)計(jì)該行字符中數(shù)字的個(gè)數(shù)。
include<stdio.h>
include<string.h>
voidnumber()
(
chara[81];
inti,sum=0,s;
printf("請(qǐng)輸入一個(gè)字符串:u);
gets(a);
s=strlen(a);
for(i=0;i<s;i++)
(
if(a[i]>=48&&a[i]<=57)
sum++;
)
printf。該字符串中數(shù)字的個(gè)數(shù)為:%d\n'\sum);
)
intmain()
(
number();
return0;
)
66.輸入一個(gè)5行、6列的整數(shù)數(shù)組,先以5行6列的格式輸出該數(shù)組;從鍵盤輸入一個(gè)整數(shù),然后編一函
數(shù),查找該數(shù)是否在數(shù)組中。
/include<stdio.h>
〃此程序,對(duì)于如果要查找的數(shù)據(jù)在數(shù)組里,且此數(shù)據(jù)有重復(fù),只輸出查找的第一個(gè)數(shù)據(jù)的位置。
〃如果要把所有與查找的數(shù)據(jù)都輸出來,將第20行的代碼return0;去掉。
intmain()
(
inta[5][6];
int
p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年粵教版八年級(jí)歷史上冊(cè)月考試卷
- 2025年華東師大版必修3生物下冊(cè)階段測(cè)試試卷含答案
- 2025年湘師大新版必修2物理上冊(cè)月考試卷
- 2025年木材加工與木工承包服務(wù)合同3篇
- 2025年滬科版九年級(jí)科學(xué)上冊(cè)階段測(cè)試試卷
- 2025年度派駐企業(yè)網(wǎng)絡(luò)安全防護(hù)合同范本4篇
- 二零二五年度牛奶飲品行業(yè)數(shù)據(jù)分析與市場(chǎng)預(yù)測(cè)合同2篇
- 二零二五版明企金哨區(qū)塊鏈應(yīng)用開發(fā)合同書4篇
- 二零二五版民間借貸合同糾紛律師代理服務(wù)合同4篇
- 2025年度商業(yè)地產(chǎn)車位租賃與商業(yè)營銷活動(dòng)支持合同4篇
- 習(xí)近平法治思想概論教學(xué)課件緒論
- 寵物會(huì)展策劃設(shè)計(jì)方案
- 孤殘兒童護(hù)理員(四級(jí))試題
- 梁湘潤(rùn)《子平基礎(chǔ)概要》簡(jiǎn)體版
- 醫(yī)院急診醫(yī)學(xué)小講課課件:急診呼吸衰竭的處理
- 腸梗阻導(dǎo)管在臨床中的使用及護(hù)理課件
- 調(diào)料廠工作管理制度
- 小學(xué)英語單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
- GB/T 15114-2023鋁合金壓鑄件
- 貨物驗(yàn)收單表格模板
評(píng)論
0/150
提交評(píng)論