c语言上机.docx
- 文档编号:7578641
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:84
- 大小:39.67KB
c语言上机.docx
《c语言上机.docx》由会员分享,可在线阅读,更多相关《c语言上机.docx(84页珍藏版)》请在冰豆网上搜索。
c语言上机
2400HelloWorld!
——C语言初学者百题大战之一
输出"HelloWorld!
"(不含引号),并换行。
#include
intmain()
{
printf("HelloWorld!
\n");
return0;
}
2401VeryGood!
——C语言初学者百题大战之二
第一行输出15个*,第二行一个空行,知道空行怎么输出吗?
第三行先输出2个空格,然后是VeryGood!
第四行又是一个空行第五行输出15个*,然后换行。
#include
intmain()
{
printf("***************\n");
printf("\n");
printf("VeryGood!
\n");
printf("\n");
printf("***************\n");
return0;
}
2402鹦鹉学舌1——C语言初学者百题大战之三
输入一个整数。
输出刚才输入的那个整数,并换行。
#include
intmain()
{
intn1;
scanf("%d",&n1);
printf("%d\n",n1);
return0;
}
2403a+b——C语言初学者百题大战之四
输入2个整数a和b,中间用一个空格隔开。
输出为三行,第1行输出a=a,其中红色的a代替a的值,第2行输出b=b,其中红色的b代替b的值,第3行输出s=s,其中红色的s代替a+b的和,然后再换行。
#include
intmain()
{
inta,b,s;
scanf("%d%d",&a,&b);
s=a+b;
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("s=%d\n",s);
return0;
}
2404a-b——C语言初学者百题大战之五
输入2个整数a和b,中间用逗号隔开。
输出a-b的值,然后换行。
#include
intmain()
{
inta,b,s;
scanf("%d,%d",&a,&b);
s=a-b;
printf("%d\n",s);
return0;
}
2405Howmanyminutes?
——C语言初学者百题大战之六
Theinputconsistsoftwolines.Thefirstlinecontainstwointegerh1andm1,separatedfromthesymbol:
andh1:
m1isthetimeyoubegintodotheproblem.Thesecondlinecontainstwointegerh2andm2,separatedfromthesymbol:
andh2:
m2isthetimeyoufinishedtheproblem.Youshouldoutputhowmanyminutesyouhavespendedontheproblemononeline.
#include
#include
intmain()
{
inth1,m1,h2,m2,n;
scanf("%d:
%d",&h1,&m1);
scanf("%d:
%d",&h2,&m2);
n=(h2-h1)*60+m2-m1;
printf("%d",n);
return0;
}
2406求较大的数——C语言初学者百题大战之七
输入2个整数a和b,用一个或几个空格隔开。
输出其中较大的数,并换行
#include
intmain()
{
inta,b,x;
scanf("%d%d",&a,&b);
if(a>b)x=a;
elsex=b;
printf("%d",x);
return0;
}
2407再求较大数——C语言初学者百题大战之八
输入三个数,用空格隔开。
输出三个数中最大数
#include
intmain()
{
inta,b,c,x;
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
x=a;
else
x=b;
if(x>=c)
printf("%d",x);
else
printf("%d",c);
return0;
}
2408华氏摄氏温度转换——C语言初学者百题大战之九
输入一个华氏温度,根据公式C=(5/9)(F-32)计算对应的摄氏温度。
注意:
类型只能是float,且表达式必须为5.0/9*(f-32)输出输入的华氏温度和转换后的摄氏温度值。
输出为一行,具体详见示例fahr=100.000000,celsius=37.777779
#include
intmain()
{
floatfahr,celsius;
scanf("%f",&fahr);
celsius=5.0*(fahr-32)/9;
printf("fahr=%f,celsius=%f",fahr,celsius);
return0;
}
2409AA制——C语言初学者百题大战之十
输入分2行,第一行输入1个整数n(n>0),表示共有n个人平摊费用第二行输入3个数,分别是这次去玩的3个项目的开支(单位是元)输出一行,计算出每个人应该承担的费用,精确到分(保留2位小数)
#include
intmain()
{
intn;
scanf("%d",&n);
floata,b,c,x;
scanf("%f%f%f",&a,&b,&c);
x=(a+b+c)/n;
printf("%.2f",x);
return0;
}
2413求三角形面积——C语言初学者百题大战之十四
输入三角形的三边长,求三角形面积。
为简单起见,设输入的三边长a,b,c能构成三角形。
输入为一行,输入三角形的三条边长。
输出为一行,计算出该三角形的面积,精确到小数点后2位
#include
#include
intmain()
{
floata,b,c,p,s;
scanf("%f%f%f",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2f",s);
return0;
}
2414求方程的解——C语言初学者百题大战之十五
求ax2+bx+c=0方程的实根。
解方程要考虑系数a等于零的情况,且解x1、x2必须是float型。
a等于零有两种情况(b==0,b!
=0),a不等于零有三种情况(delta>0、==0、<0),先计算得到x1、x2,再printf输出。
输入三个数a,b,c。
输出方程的实根,如果方程有实根,则输出根;如果方程有2个不等实根,则分2行输出,第一行输出较大根,第二行输出较小根。
其余情况(如无实根等)则输出No
#include
#include
intmain()
{
floata,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(a==0){
if(b==0){
printf("No\n");
}
else
printf("%f\n",-c/b);
}
else
{if(d>0){
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("%f\n%f\n",x1,x2);
}
elseif(d==0)
printf("%f\n",-b/(2*a));
else
printf("No");
}
return0;
}
2415整除——C语言初学者百题大战之十六
输入三个整数,分别为a,b,c(其中b,c均不为0)如果a既是b的整数倍又是c的整数倍,则输出Yes,否则输出No
#include
#include
intmain()
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a%b==0&&a%c==0)
printf("Yes");
else
printf("No");
return0;
}
2416闰年——C语言初学者百题大战之十七
输入一个整数年份,要求判断是否是闰年。
符合以下两种情况都是闰年:
1.能被4整除但是不能被100整除2.能被400整除。
如果是闰年输出Yes,否则输出No
#include
intmain()
{
intyear;
scanf("%d",&year);
if((year%4==0&&year%100!
=0)||(year%400==0))
printf("Yes");
else
printf("No");
return0;
}
2419逆序输出——C语言初学者百题大战之二十
输入一个不多于5位的正整数。
输出分2行,第一行是一个整数,输出是几位数,第2行逆序输出
#include
#include
intmain()
{
intinput,bit,output;
scanf("%d",&input);
bit=1+(int)log10(input);
printf("%d\n",bit);
intx,y;
for(y=input,x=bit-1;x>=0;x--)
{
output=y%10;
printf("%d",output);
y=y/10;
}
printf("\n");
return0;
}
2420回文数——C语言初学者百题大战之二十一
一个5位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。
输入一个5位整数。
如果是回文数,则输出Yes,否则输出No
#include
intmain()
{
intn,a,b,d,e;
scanf("%d",&n);
a=n%10;
b=n/10%10;
d=n/1000%10;
e=n/10000%10;
if(a==e&&b==d)
printf("Yes\n");
else
printf("No\n");
return0;
}
2425判断是否是素数
素数是除了1和它本身之外没有其它因子的自然数。
多组测试数据。
每组数据一行输入一个正整数。
对于每组测试数据判断输入的数是否是素数。
如果是则在一行里输出Yes,否则输出No
#include
intmain()
{
intn,i;
while(scanf("%d",&n)!
=EOF)
{
for(i=2;i<=n/2;i++)
if(n%i==0)
break;
if(i>n/2&&n!
=1)
printf("Yes\n");
else
printf("No\n");
}
return0;
}
2429绝配队伍
水仙花数是指一个 3位数,它的每个位上的数字的3次幂之和等于它本身。
(例如:
1^3+5^3+3^3=153)多组测试数据,每组输入一个3位整数。
每组输出一行,如果是水仙花数则输出"Yes“,否则输出"No"
#include
intmain()
{
intn,i,a,b,c;
while(scanf("%d",&n)!
=EOF)
{
a=n%10;
b=((n-a)%100)/10;
c=(n-a-b*10)/100;
if(n==a*a*a+b*b*b+c*c*c)
printf("Yes\n");
else
printf("No\n");
}
return0;
}
2432猴子吃桃
Firstday,heateahalfofthepeaches,thenateanotheroneoftheleftpeaches.Thenextday,heateahalfoftheleftpeaches,thenanotherone.Untilthen-thday,beforeheatehefoundonlyonepeach.PleasehelpSunWukongtocalculatehowmanypeacheshetookfromthekingdomofheaven.Theinputfilecontainsoneormoretestcases,eachlineisthedaysN(1 #include intmain() { inti,n,s; while(scanf("%d",&n)! =EOF) { s=1; for(i=1;i<=n-1;i++) s=(s+1)*2; printf("%d\n",s); } return0; } 2436百鸡问题 用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。 问各能买多少只? 输出所有的可能,要求一种可能一行,分别输出三个整数,代表公鸡,母鸡及小鸡的个数,中间用一个空格隔开输出的时候要求,先输出公鸡数最少的可能,公鸡数如果相同的几种情况,先输出母鸡数最少的情况 #include intmain() { intx,y,z; for(x=0;x<=12;x++) for(y=0;y<=25;y++) { z=100-x-y; if(5*x+3*y+z/3==100&&z%3==0) printf("%d%d%d\n",x,y,z); } return0; } 2473杨辉三角 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。 对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。 #include intmain() { intb[32],i,j,n; while(scanf("%d",&n)! =EOF) { b[0]=1; printf("%d\n",b[0]); for(i=1;i for(j=i-1;j>0;j--) { b[j]=b[j]+b[j-1]; } for(j=0;j<=i;j++) { printf("%d",b[j]); if(j! =i) printf(""); } printf("\n"); } printf("\n"); } } 2482年龄问题 有n个人坐在一起,问第n个人多少岁? 他说比第n-1个人大m岁。 问第n-1个人岁数,他说比第n-2个人大m岁。 问第n-2个人,又说比第n-3人大m岁。 ......最后问第一个人,他说是K岁。 请问第n个人多大? (可递归函数实现)多组测试数据每组一行分别输入3个整数n,m和k。 输出第n个人的岁数 #include intfn(intm,intn,intk); intmain() { intm,n,k,s; while(scanf("%d%d%d",&n,&m,&k)! =EOF) { s=fn(m,n,k); printf("%d\n",s); } return0; } intfn(intm,intn,intk) { intresult; if(n==1) result=k; else result=fn(m,n-1,k)+m; returnresult; } 3500判断某整数是正整数、负整数还是零 输入一个整数,判断该数是正整数、负整数还是零。 如果是正整数,输出'+';如果是负整数,输出'-';如果是零,输出'0'。 #include intmain() { intn; scanf("%d",&n); if(n>0) printf("+"); if(n<0) printf("-"); if(n==0) printf("0"); return0; } 3501判断某整数是否既是5又是7的整数倍 输入一个正整数,判断该数是否既是5又是7的整数倍。 若是,则输出Yes,否则输出No. #include intmain() { intn; scanf("%d",&n); if(n%5==0&&n%7==0) printf("Yes"); else printf("No"); return0; } 3502输入数字1-7,打印出对应的英文(Monday-Sunday). 输入数字1-7,打印出对应的英文(Monday-Sunday).输出该数字对应的英文单词 #include intmain() { intn; scanf("%d",&n); switch(n) { case1: printf("Monday\n");break; case2: printf("Tuesday\n");break; case3: printf("Wednesday\n");break; case4: printf("Thursday\n");break; case5: printf("Friday\n");break; case6: printf("Saturday\n");break; case7: printf("Sunday\n");break; default: printf("Error\n");break; } return0; } 3503百分制转换五级记分制 输入一个score(0<=score<=100)。 按照以下规则进行转换并输出转换后的成绩。 score: 90-100---->goodscore: 80-89---->nicerscore: 70-79---->mediumscore: 60-69---->passscore: 0-59---->fail #include intmain() { intx; scanf("%d",&x); switch(x/10) { case10: printf("good\n");break; case9: printf("good\n");break; case8: printf("nicer\n");break; case7: printf("medium\n");break; case6: printf("pass\n");break; case5: printf("fail\n");break; case4: printf("fail\n");break; case3: printf("fail\n");break; case2: printf("fail\n");break; case1: printf("fail\n");break; case0: printf("fail\n");break; default: printf("Error\n");break; } return0; } 3504对输入的任意整数x,计算出相应的y值 要求根据以下函数关系,对输入的任意整数x,计算出相应的y(float类型)值。 x的值y的值x<0y=00<=x<10y=x10<=x<20y=10x>=20y=30计算出相应的y值 #include intmain() { intx; floaty; scanf("%d",&x); if(x<0) y=0; elseif(x>=0&&x<10) y=x; elseif(x>=10&&x<20) y=10; else y=30; printf("y=%f",y); return0; } 3505分段式函数计算 输入一个实数x(float),计算并输出下列分段函数的值。 请调用数学函数计算。 y=x^5+2x+1(x≤0)y=e^x-lg(x)(x>0)根据计算公式计算y值并输出(保留3位小数)。 #include #include intmain() { floatx,y; scanf("%f",&x); if(x>0) y=exp(x)-log10(x); if(x<=0) y=pow(x,5)+2*x+1; printf("y=%.3f",y); return0; } 3506求1+2+……+N的和 输入一个正整数N(N≥1)。 输出1+2+……+N的和。 #include intmain() { intN,i,sum; scanf("%d",&N); i=1; sum=0; while(i<=N) { sum=sum+i; i++; } printf("sum=%d\n",sum); retur
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机