目录
1001 这是一道签到题
#include<stdio.h>
int main()
{
printf("zhe\nshi\nyi\ndao\nqian\ndao\nti");
return 0;
}
1002 排列式
#include<stdio.h>
int main()
{
printf("4396 = 28 x 157\n5346 = 18 x 297\n5346 = 27 x 198\n5796 = 12 x 483\n5796 = 42 x 138\n6952 = 4 x 1738\n7254 = 39 x 186\n7632 = 48 x 159\n7852 = 4 x 1963");
return 0;
}
1003 小飞机
#include<stdio.h>
int main()
{
printf(" ** \n");
printf(" ** \n");
printf("************\n");
printf("************\n");
printf(" * * \n");
printf(" * * ");
return 0;
}
1004 学姐的"Helloword!"
#include<stdio.h>
int main()
{
printf("Helo word!");
return 0;
}
1005 乘法表
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%2d ",j,i,j*i);
}
printf("\n");
}
return 0;
}
1006 KiKi学程序设计基础
#include<stdio.h>
int main()
{
printf("printf(\"Hello world!\\n\");\n");
printf("cout << \"Hello world!\" << endl;");
return 0;
}
1007 疫情死亡率
解析:在C语言中整数除以整数结果只会显示整数部分,当除数和被除数中存在浮点数时,计算的结果为浮点数
#include<stdio.h>
int main()
{
float a,b;
scanf("%f %f",&a,&b);
printf("%.3f%%",(b/a)*100);
return 0;
}
1008 爱因斯坦的名言
解析:C语言中在引号中输出引号时需要在输出的引号前加一个\,要输出百分号时,需要敲入两个百分号
#include<stdio.h>
int main()
{
printf("\"Genius is 1%% inspiration and 99%% perspiration.\"");
return 0;
}
1009 字符串输出1.0
#include<stdio.h>
int main(){
for(int i=1;i<=3;i++){
printf("Welcome to ACM / ICPC!\n");
}
return 0;
}
1010 牛牛学说话之-整数
#include<stdio.h>
int main()
{
int i;
scanf("%d",&i);
printf("%d",i);
return 0;
}
1011 牛牛学说话之-浮点数
#include<stdio.h>
int main()
{
float a;
scanf("%f",&a);
printf("%.3f",a);
return 0;
}
1012 牛牛学加法
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d",a+b);
return 0;
}
1013 牛牛学除法
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d",a/b);
return 0;
}
1014 牛牛学取余
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d",a%b);
return 0;
}
1015 浮点数除法
#include <stdio.h>
int main()
{
float a,b;
scanf("%f%f",&a,&b);
printf("%.3f",a/b);
return 0;
}
1016 计算带余除法
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d",a/b,a%b);
return 0;
}
1017 水题再次袭来:明天星期几?
#include<stdio.h>
int main()
{
int i;
scanf("%d",&i);
if(i!=7) printf("%d",i+1);
else printf("1");
return 0;
}
1018 开学?
解析:一周有七天所以延迟的天数对7取余,再用原本的开学星期加上取余得到的余数,如果加上余数超过七天,则把前面一周的七天用余数的部分天数填满,而后剩下天数就是下一周的天数,由此得到开学是星期几
#include<stdio.h>
int main()
{
int x,n,i;
scanf("%d%d",&x,&n);
if(x+n%7>7) printf("%d",n%7-(7-x));
else printf("%d",x+n%7);
return 0;
}
1019 helloworld
#include <stdio.h>
int main()
{
printf("%c",'h'+1);
printf("%c",'e'+1);
printf("%c",'l'+1);
printf("%c",'l'+1);
printf("%c",'o'+1);
printf("%c",' '+1);
printf("%c",'w'+1);
printf("%c",'o'+1);
printf("%c",'r'+1);
printf("%c",'l'+1);
printf("%c",'d'+1);
return 0;
}
1020 a+b
解析:printf("%X",a);可以输出a对应的十六进制大写字母表示的形式,printf("%x",a);可以输出a对应的十六进制小写字母表示的形式
#include <stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%x",a+b);
return 0;
}
1021 整数的个位
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d",a%10);
return 0;
}
1022 整数的十位
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d",a/10%10);
return 0;
}
1023 反向输出一个四位数
#include <stdio.h>
int main()
{
int num,a,b,c,d;
scanf("%d",&num);
a=num/1000;
b=num/100%10;
c=num/10%10;
d=num%10;
printf("%d%d%d%d",d,c,b,a);
return 0;
}
1024 总成绩和平均分计算
#include <stdio.h>
int main()
{
float a,b,c,sum,average;
scanf("%f %f %f",&a,&b,&c);
sum=a+b+c;
average=sum/3;
printf("%.2f %.2f",sum,average);
return 0;
}
1025 计算平均成绩
#include <stdio.h>
int main()
{
float a,b,c,d,e,average;
scanf("%f %f %f %f %f",&a,&b,&c,&d,&e);
average=(a+b+c+d+e)/5;
printf("%.1f",average);
return 0;
}
1026 牛牛学梯形
#include <stdio.h>
int main()
{
float up,down,height,area;
scanf("%f%f%f",&up,&down,&height);
printf("%.3f",(up+down)*height/2);
return 0;
}
1027 牛牛学矩形
#include <stdio.h>
int main()
{
float up,down,height,area;
scanf("%f%f%f",&up,&down,&height);
printf("%.3f",(up+down)*height/2);
return 0;
}
1028 牛牛学立体
#include <stdio.h>
int main()
{
int a,b,c,S,V;
scanf("%d%d%d",&a,&b,&c);
V=a*b*c;
S=(a*b+b*c+a*c)*2;
printf("%d\n%d",S,V);
return 0;
}
1029 计算三角形的周长和面积
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
float p=(a+b+c)/2;
printf("circumference=%.2f area=%.2f",a+b+c,sqrt(p*(p-a)*(p-b)*(p-c)));
return 0;
}
1030 你能活多少秒
注意:需要定义为long long 型,否则容易溢出出错
#include <stdio.h>
int main()
{
long long age;
long long m;
scanf("%lld",&age);
m=age*31560000;
printf("%lld",m);
return 0;
}
1031 时间转换
#include <stdio.h>
int main()
{
long long a;
long long hour,minute,second;
scanf("%lld",&a);
hour=a/3600;
minute=a/60%60;
second=a%60;
printf("%lld %lld %lld",hour,minute,second);
return 0;
}
1032 温度转换
注意:需要乘以1.0转换
#include<stdio.h>
int main()
{
double a;
scanf("%lf",&a);
printf("%.3f",1.0*5/9*(a-32));
return 0;
}
1033 计算机内存
#include <stdio.h>
int main()
{
int n;
long long m;
scanf("%d",&n);
m=(n*1024*1024)/4;
printf("%lld",m);
return 0;
}
1034 【NOIP2017】成绩
注意:直接乘以小数会得0
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d",(a*2+b*3+c*5)/10);
return 0;
}
1035 KiKi的最高分
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c,temp;
scanf("%d %d %d",&a,&b,&c);
temp=fmax(a,b);
temp=fmax(temp,c);
printf("%d",temp);
return 0;
}
1036 组队比赛
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c,d,result;
scanf("%d%d%d%d",&a,&b,&c,&d);
int m1=fabs(a+b-c-d);
int m2=fabs(a+c-b-d);
int m3=fabs(a+d-b-c);
result=fminf(m1,m2);
result=fminf(result,m3);
printf("%d",result);
return 0;
}
1037 平方根
将n定义为int型对sqrt(a)取整数
#include<stdio.h>
#include<math.h>
int main()
{
int a;
scanf("%d",&a);
int n=sqrt(a);
printf("%d",n);
return 0;
}
1038 长方体
解析:设三条棱长分别为x,y,z;三个面积为a,b,c;设a=x*y,b=x*z,c=y*z,则a*b/c=x^2,同理可求出其它几条棱长
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
int x=sqrt(a*b/c);
int y=sqrt(a*c/b);
int z=sqrt(b*c/a);
printf("%d",4*(x+y+z));
return 0;
}
1039 使徒来袭
解析:根据不等式:a+b+c>=3*(a*b*c)^1/3可以求得a+b+c的最小值;
注意,要用1.0/3,如果用1/3则得到的商只保留整数,结果会为0,会导致a+b+c的最小值始终为3.000
#include<stdio.h>
#include<math.h>
int main()
{
float n;
scanf("%f",&n);
float msum;
msum=3*pow(n,1.0/3);
printf("%.3f",msum);
return 0;
}
1040 白兔的分身术
解析:根据题意,p^k=n;对于指数函数y=a^x,当x越大,函数增长越快,所以在此当k=1时,p取得最大值,p的最大值为n,所以p+k的最大值为n+1
#include<stdio.h>
int main()
{
long long n;
scanf("%lld",&n);
printf("%lld",n+1);
return 0;
}
1041 纸牌
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a=n/2;
int i=n,j=n;
i=j-a;
j=j-i;
i=i-j;
printf("%d",i+j);
return 0;
}
1042 Tobaku Mokushiroku Kaiji
#include<stdio.h>
int main()
{
int a,b,c,d,e,f;
scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f);
int i,j,k;
if(a-e>=0) i=e;
else i=a;
if(b-f>=0) j=f;
else j=b;
if(c-d>=0) k=d;
else k=c;
int sum=i+j+k;
printf("%d",sum);
return 0;
}
1043 珂朵莉的假动态仙人掌
解析:以1和2的本数交替送
#include<stdio.h>
int main()
{
int n,result,sum;
scanf("%d",&n);
result=n%3;
if(result==0) sum=n/3*2;
else sum=n/3*2+1;
printf("%d",sum);
return 0;
}
1044 旅游观光
解析:(1+n)mod(n+1)=0;(1+n-1)mod(n-1+1)=0....以此类推得到,当n为偶数时总票价为:n/2-1,当n为奇数时,总票价为:n/2;
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n%2==0) printf("%d",n/2-1);
else printf("%d",n/2);
return 0;
}
1045 【NOIP2002】自由落体
解析:计算出小球下落到和小车顶部高度一样时的时间和小车最右端的位置,进而计算出此时可接收到的的小球的位置编号,计算出小球下落到地面时的时间和小车最左端的位置,进而计算出此时可接收到的小球的位置编号,注意:因为小球和小车距离不超过0.00001都可看作能够被小车接到,所以在这里要注意细节处理
#include<stdio.h>
#include<math.h>
int main()
{
double H,S1,V,L,K,n;
scanf("%lf%lf%lf%lf%lf%lf",&H,&S1,&V,&L,&K,&n);
double H2=H-K;
double t1,t2,x1,x2;
t1=sqrt(H2/5);//小球下落到与小车顶部高度相同的时刻
t2=sqrt(H/5);
x1=S1-V*t1+L;//t1时刻小车最右端位置
x2=S1-V*t2;//t2时刻小球最左端位置
int sum,Max,Min;
if(x2>n-1+0.00001||x1<-0.00001)//一个小球都接不住的情况
sum=0;
else
{
if(x1>=n-1-0.00001)//最右端的小球在可接收范围时
Max=n-1;
//floor(x1):对x1向下取整
else if(x1-floor(x1)>=0.9999)//小数部分大于0.9999时,x1位置后面的一个球也会被接收
Max=floor(x1)+1;
else Max=floor(x1);
if(x2<=0.00001)
Min=0;
else if(x2-floor(x2)<=0.00001)
//如果小数部分小于0.00001则x1位置的前一个球也会被接到
//x1位置前一个球的位置编号为floor(x2)
Min=floor(x2);
else Min=floor(x2)+1;//小数部分大于0.00001时,x2位置后一个球被接到,该球位置编号为floor(x2)+1
sum=Max-Min+1;//最大位置编号-(最小位置编号-1)
}
printf("%d",sum);
return 0;
}
1046 挂科
#include<stdio.h>
#include<math.h>
int main()
{
int n,x,y;
scanf("%d%d%d",&n,&x,&y);
int max,min;
if(x>=y) max=y;
else max=x;
if(x+y>=n)
min=x+y-n;
else min=0;
printf("%d %d",max,min);
return 0;
}
1047 得不到的爱情
#include<stdio.h>
int main()
{
long long n,m;
scanf("%lld%lld",&n,&m);
printf("%lld",n*m-n-m);
return 0;
}