//1000 入门测试题目
#include <stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
//1001 Hello,World!
#include <stdio.h>
int main(){
printf("Hello,World!");
return 0;
}
//1002 输出第二个整数
#include <stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d",b);
return 0;
}
//1003 对齐输出
#include <stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%8d %8d %8d",a,b,c);
return 0;
}
//1004 字符三角形
#include <stdio.h>
int main(){
char s[2];
scanf("%s",s);
printf(" %c \n %c%c%c \n%c%c%c%c%c",s[0],s[0],s[0],s[0],s[0],s[0],s[0],s[0],s[0]);
return 0;
}
//1005 地球人口承载力估计
//c+d*a=x*a
//c+d*b=y*b
//d*(b-a)=y*b-x*a
//d=(y*b-x*a)/(b-a)
#include <stdio.h>
int main(){
int x,a,y,b;
scanf("%d%d%d%d",&x,&a,&y,&b);
printf("%.2f",(y*b-x*a)*1.0/(b-a));
return 0;
}
//1006 A+B问题
#include <stdio.h>
int main(){undefined
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
//1007 计算(a+b)*c的值
#include <stdio.h>
int main(){undefined
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d",(a+b)*c);
return 0;
}
//1008 计算(a+b)/c的值
#include <stdio.h>
int main(){undefined
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d",(a+b)/c);
return 0;
}
//1009 带余除法
#include <stdio.h>
int main(){undefined
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d",a/b,a%b);
return 0;
}
//1010 计算分数的浮点数值
#include <stdio.h>
int main(){undefined
int a,b;
scanf("%d%d",&a,&b);
printf("%.9lf",a*1.0/b);
return 0;
}
2017-10-19 21:14 AC该节内容
第二节 常量和变量
//1011 甲流疫情死亡率
//提交 未通过,仔细一看,漏了输出的%号 ,修改,提交AC
#include <stdio.h>
int main(){undefined
int a,b;
scanf("%d%d",&a,&b);
printf("%.3f%%",b*1.0/a*100);
return 0;
}
//1012 计算多项式的值
//提交 未通过,一看,眼花了,读取的时候,少读了一个数,修改,提交AC
#include <stdio.h>
int main(){undefined
double x,a,b,c,d;
scanf("%lf%lf%lf%lf%lf",&x,&a,&b,&c,&d);
printf("%.7lf",a*x*x*x+b*x*x+c*x+d);
return 0;
}
//1013 温度表达转化
#include <stdio.h>
int main(){undefined
double f;
scanf("%lf",&f);
printf("%.5lf",5*(f-32)/9);
return 0;
}
//1014 与圆相关的计算
#include <stdio.h>
#define pi 3.14159
int main(){undefined
double r;
scanf("%lf",&r);
printf("%.4lf %.4lf %.4lf",2*r,2*pi*r,pi*r*r);
}
//1015 计算并联电阻的阻值
#include <stdio.h>
int main(){undefined
double r1,r2;
scanf("%lf%lf",&r1,&r2);
printf("%.2lf",1/(1/r1+1/r2));
return 0;
}
2017-10-19 21:40 AC该节内容
第三节 标准数据类型
//1016 整型数据类型存储空间大小
#include <stdio.h>
int main(){undefined
printf("%d %d",sizeof(int),sizeof(short));
return 0;
}
//1017 浮点型数据类型存储空间大小
#include <stdio.h>
int main(){undefined
printf("%d %d",sizeof(float),sizeof(double));
return 0;
}
//1018 其他数据类型存储空间大小
//请注意,因C语言里无bool变量,故以下代码采用C++方式编译提交
#include <stdio.h>
int main(){undefined
printf("%d %d",sizeof(bool),sizeof(char));
return 0;
}
//1019 浮点数向零舍入
#include <stdio.h>
int main(){undefined
float f;
scanf("%f",&f);
printf("%d",(int)f);
return 0;
}
//1020 打印ASCII码
#include <stdio.h>
int main(){undefined
char s[2];
scanf("%s",s);
printf("%d",s[0]);
return 0;
}
//1021 打印字符
#include <stdio.h>
int main(){undefined
int a;
scanf("%d",&a);
printf("%c",a);
return 0;
}
//1022 整型与布尔型的转换
#include <stdio.h>
int main(){undefined
int a;
scanf("%d",&a);
if(a==0)printf("0");
else printf("1");
return 0;
}
//1023 Hello,World!的大小
//提交,未通过,怎么查都查不出问题,无奈,搜索网络,找到https://zhidao.baidu.com/question/1735639697759366947.html里面提示"Hello, World!"的逗号和'W'中间有个空格
//我的天,看来题目中提供的字符串,自己敲,错误百出,用拷贝粘贴,最理想。
//修改,提交AC
#include <stdio.h>
int main(){undefined
printf("%d",sizeof("Hello, World!"));
return 0;
}
2017-10-19 22:19 AC 该节内容
第四节 数据输入输出
//1024 保留3位小数的浮点数
#include <stdio.h>
int main(){undefined
float f;
scanf("%f",&f);
printf("%.3f",f);
return 0;
}
//1025 保留12位小数的浮点数
#include <stdio.h>
int main(){undefined
double d;
scanf("%lf",&d);
printf("%.12lf",d);
return 0;
}
//1026 空格分隔输出
#include <stdio.h>
int main(){undefined
char a;
int b;
float c;
double d;
scanf("%c%d%f%lf",&a,&b,&c,&d);
printf("%c %d %.6f %.6lf",a,b,c,d);
return 0;
}
//1027 输出浮点数
//提交,未通过,搜索网络https://zhidao.baidu.com/question/2056380868273451467.html
//发现,还是理解的问题,读入的数据是双精度,本人写的是单精度 float f;输出是对双精度进行处理
#include <stdio.h>
int main(){undefined
double f;//float f;
scanf("%lf",&f);
printf("%f\n%.5f\n%e\n%g",f,f,f,f);
return 0;
}
//1028 字符菱形
#include <stdio.h>
int main(){undefined
char c;
scanf("%c",&c);
printf(" %c\n",c);
printf(" %c%c%c\n",c,c,c);
printf("%c%c%c%c%c\n",c,c,c,c,c);
printf(" %c%c%c\n",c,c,c);
printf(" %c\n",c);
return 0;
}
//1029 计算浮点数相除的余
#include <stdio.h>
int main(){undefined
double a,b;
scanf("%lf%lf",&a,&b);
printf("%g",a-(int)(a/b)*b);//此处写成 printf("%.4lf",a-(int)(a/b)*b);
return 0;
}
//1030 计算球的体积
#include <stdio.h>
int main(){undefined
double r;
scanf("%lf",&r);
printf("%.2lf",4*3.14*r*r*r/3);
return 0;
}
//1031 反向输出一个三位数
#include <stdio.h>
int main(){undefined
int n;
scanf("%d",&n);
printf("%d%d%d",n%10,n/10%10,n/100);
return 0;
}
//1032 大象喝水查
#include <stdio.h>
int main(){undefined
int h,r;
scanf("%d%d",&h,&r);
printf("%d",(int)(20*10*10*10/(3.14*r*r*h))+1);//printf("%d",int(20*10*10*10/(3.14*r*r*h))+1);
return 0;
}
//1033 计算线段长度
#include <stdio.h>
#include <math.h>
int main(){undefined
double xa,ya,xb,yb;//float xa,ya,xb,yb;//int xa,ya,xb,yb;
scanf("%lf%lf%lf%lf",&xa,&ya,&xb,&yb);//scanf("%f%f%f%f",&xa,&ya,&xb,&yb);//scanf("%d%d%d%d",&xa,&ya,&xb,&yb);
printf("%.3lf",sqrt((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya)));//printf("%.3f",sqrt((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya)));
return 0;
}
//1034 计算三角形面积
#include <stdio.h>
#include <math.h>
int main(){undefined
double x1,y1,x2,y2,x3,y3,a,b,c,p,s;//float x1,y1,x2,y2,x3,y3,a,b,c,p,s;
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);//scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3);
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2lf",s);//printf("%.2f",s);
return 0;
}
//1035 等差数列末项计算
#include <stdio.h>
int main(){undefined
int a1,a2,n;
scanf("%d%d%d",&a1,&a2,&n);
printf("%d",a1+(n-1)*(a2-a1));
return 0;
}
//1036 A*B问题
#include <stdio.h>
int main(){undefined
long long a,b;
scanf("%lld%lld",&a,&b);
printf("%lld",a*b);
return 0;
}
//1037 计算2的幂
#include <stdio.h>
int main(){undefined
int n,ans=1,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
ans*=2;
printf("%d",ans);
return 0;
}
//1038 苹果和虫子
#include <stdio.h>
int main(){undefined
int n,x,y,ans;
scanf("%d%d%d",&n,&x,&y);
if(y%x==0)ans=n-y/x;
else ans=n-y/x-1;
if(ans<0)
printf("0");
else
printf("%d",ans);
return 0;
}
//1039 判断数正负
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
if(a>0)printf("positive");
else if(a==0)printf("zero");
else if(a<0)printf("negative");
return 0;
}
//1040 输出绝对值
#include <stdio.h>
int main(){
double f;
scanf("%lf",&f);
if(f<0)f=-f;
printf("%.2lf",f);
return 0;
}
//1041 奇偶数判断
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
if(n%2==1)printf("odd");
else printf("even");
return 0;
}
//1042 奇偶ASCII值判断
#include <stdio.h>
int main(){
char c;
scanf("%c",&c);
if(c%2==1)printf("YES");
else printf("NO");
return 0;
}
//1043 整数大小比较
#include <stdio.h>
int main(){
int x,y;
scanf("%d%d",&x,&y);
if(x==y)printf("=");
else if(x>y)printf(">");
else printf("<");
return 0;
}
//1044 判断是否为两位数
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
if(a/100==0&&a/10!=0)printf("1");
else printf("0");
}
//1045 收集瓶盖赢大奖
#include <stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
if(a>=10||b>=20)printf("1");
else printf("0");
return 0;
}
//1046 判断一个数能否同时被3和5整除
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
if(n%3==0&&n%5==0)printf("YES");
else printf("NO");
return 0;
}
//1047 判断能否被3,5,7整除
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
if(a%3==0&&a%5==0&&a%7==0)printf("3 5 7");
else if(a%3==0&&a%5==0)printf("3 5");
else if(a%3==0&&a%7==0)printf("3 7");
else if(a%5==0&&a%7==0)printf("5 7");
else if(a%3==0)printf("3");
else if(a%5==0)printf("5");
else if(a%7==0)printf("7");
else printf("n");
return 0;
}
//1048 有一门课不及格的学生
#include <stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
if((a<60&&b>=60)||(a>=60&&b<60))printf("1");
else printf("0");
return 0;
}
//1049 晶晶赴约会
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
if(a==2||a==4||a==6||a==7)printf("YES");
else printf("NO");
return 0;
}
//1050 骑车与走路
#include <stdio.h>
int main(){
int a,t1,t2;
scanf("%d",&a);
t1=27+23+a/3.0;
t2=a/1.2;
if(t1==t2)printf("All");
else if(t1<t2)printf("Bike");
else if(t1>t2)printf("Walk");
return 0;
}
//1051 分段函数
#include <stdio.h>
int main(){
double x,y;
scanf("%lf",&x);
if(0<=x&&x<5)y=-x+2.5;
else if(5<=x&&x<10)y=2-1.5*(x-3)*(x-3);
else if(10<=x&&x<20)y=x/2-1.5;
printf("%.3lf",y);
return 0;
}
//1052 计算邮资
#include <stdio.h>
int main(){
int a,sum=0;
char s[2];
scanf("%d%s",&a,s);
if(a<=1000)sum+=8;
else if(a>1000){
sum+=8;
a-=1000;
sum+=a/500*4;
if(a%500!=0)
sum+=4;
}
if(s[0]=='y')sum+=5;
printf("%d",sum);
}
//1053 最大数输出
#include <stdio.h>
int main(){
int a,max;
scanf("%d",&a);
max=a;
scanf("%d",&a);
if(a>max)max=a;
scanf("%d",&a);
if(a>max)max=a;
printf("%d",max);
return 0;
}
//1054 三角形判断
#include <stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)printf("yes");
else printf("no");
return 0;
}
//1055 判断闰年
#include <stdio.h>
int main(){
int y;
scanf("%d",&y);
if(y%100==0)
if(y%400==0)printf("Y");
else printf("N");
else if(y%4==0)printf("Y");
else printf("N");
return 0;
}
//1056 点和正方形的关系
#include <stdio.h>
int main(){
int x,y;
scanf("%d%d",&x,&y);
if(-1<=x&&x<=1&&-1<=y&&y<=1)printf("yes");
else printf("no");
return 0;
}
//1057 简单计算器
#include <stdio.h>
int main(){
int a,b;
char s[2];
scanf("%d%d%s",&a,&b,s);
if(s[0]=='+')printf("%d",a+b);
else if(s[0]=='-')printf("%d",a-b);
else if(s[0]=='*')printf("%d",a*b);
else if(s[0]=='/'){
if(b==0)printf("Divided by zero!");//此处写成 if(b==0)printf("Invalid operator!");
else printf("%d",a/b);
}else printf("Invalid operator!");
return 0;
}
//1058 求一元二次方程
#include <stdio.h>
#include <math.h>
#define eps 1e-8
int main(){
double a,b,c,x1,x2,delta,t;
scanf("%lf%lf%lf",&a,&b,&c);//此处写成 scanf("%d%d%d",&a,&b,&c); 低级错误
delta=b*b-4*a*c;
if(fabs(delta)<=eps)printf("x1=x2=%.5lf",-b/2/a);//delta==0 只有一个解
else if(delta<=-eps)printf("No answer!");//delta<0 无解
else{//delta>0有两解
delta=fabs(delta);
x1=(-b-sqrt(delta))/2/a,x2=(-b+sqrt(delta))/2/a;
if(x1>x2)t=x1,x1=x2,x2=t;//注意打印,先小,后大
printf("x1=%.5lf;x2=%.5lf",x1,x2);
}
return 0;
}
//1058 求一元二次方程
#include <stdio.h>
#include <math.h>
#define eps1 1e-10
#define eps2 1e-6
int main(){
double a,b,c,x1,x2,g;//g2表示g的绝对值
scanf("%lf%lf%lf",&a,&b,&c);
g=b*b-4*a*c;
if(g<0&&fabs(g)>eps1)printf("No answer!");
else if(fabs(g)<eps1){
x1=-b/(2*a);
if(fabs(x1)<eps2)//判断是否是0
printf("x1=x2=%.5lf",0);
else
printf("x1=x2=%.5lf",x1);
}
else{
x1=(-b+sqrt(g))/(2*a);
x2=(-b-sqrt(g))/(2*a);
if(fabs(x1)<eps2)x1=fabs(x1);
if(fabs(x2)<eps2)x2=fabs(x2);
if(x1<x2)printf("x1=%.5lf;x2=%.5lf",x1,x2);
else printf("x1=%.5lf;x2=%.5lf",x2,x1);//此处写成 printf("x2=%.5lf;x1=%.5lf",x2,x1);//此处写成 printf("x1=%.5lf;x2=%.5lf",x2,x1);
}
return 0;
}
//1059 求平均年龄
#include <stdio.h>
int main(){
int n,a,i,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
sum+=a;
}
printf("%.2lf",sum*1.0/n);
return 0;
}
//1060 均值
#include <stdio.h>
int main(){
int n,i;
double a,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%lf",&a);
sum+=a;
}
printf("%.4lf",sum/n);
return 0;
}
//1061 求整数的和与均值
#include <stdio.h>
int main(){
int n,a,i,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
sum+=a;
}
printf("%d %.5lf",sum,sum*1.0/n);
return 0;
}
//1062 最高的分数
#include <stdio.h>
int main(){
int n,i,a,max=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
if(a>max)max=a;
}
printf("%d",max);
return 0;
}
//1063 最大跨度值
#include <stdio.h>
int main(){
int max=0,min=9999,n,a,i;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
if(a>max)max=a;
if(a<min)min=a;
}
printf("%d",max-min);
return 0;
}
//1064 奥运奖牌计数
#include <stdio.h>
int main(){
int n,x,y,z,i,sum1=0,sum2=0,sum3=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d%d%d",&x,&y,&z);
sum1+=x,sum2+=y,sum3+=z;
}
printf("%d %d %d %d\n",sum1,sum2,sum3,sum1+sum2+sum3);
return 0;
}
//1065 奇数求和
#include <stdio.h>
int main(){
int m,n,i,sum=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++){
if(i%2==1)sum+=i;
}
printf("%d",sum);
return 0;
}
//1066 满足条件的数累加
#include <stdio.h>
int main(){
int m,n,i,sum=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
if(i%17==0)
sum+=i;
printf("%d",sum);
return 0;
}
//1067 整数的个数
#include <stdio.h>
int main(){
int n,i,a,cnt1=0,cnt2=0,cnt3=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
if(a==1)cnt1++;
else if(a==5)cnt2++;
else if(a==10)cnt3++;
}
printf("%d\n%d\n%d",cnt1,cnt2,cnt3);
return 0;
}
//1068 与指定数字相同的数的个数
#include <stdio.h>
int main(){
int n,m,a,i,cnt=0;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++){
scanf("%d",&a);
if(a==m)cnt++;
}
printf("%d",cnt);
return 0;
}
//1069 乘方计算
#include <stdio.h>
int main(){
int a,n,i,ans=1;
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
ans*=a;
printf("%d",ans);
return 0;
}
//1070 人口增长
#include <stdio.h>
int main(){
int x,n,i;
double ans;
scanf("%d%d",&x,&n);
ans=x;
for(i=1;i<=n;i++)
ans*=(1+0.001);
printf("%.4lf",ans);
return 0;
}
//1071 菲波那契数
#include <stdio.h>
int main(){
int k,f1=1,f2=1,f3=1,i;// f3
scanf("%d",&k);
for(i=3;i<=k;i++){
f3=f1+f2;
f1=f2,f2=f3;
}
printf("%d",f3);
return 0;
}
//1072 鸡尾酒疗法
#include <stdio.h>
int main(){
int n,a,b,i;
double ans1,ans2;
scanf("%d",&n);
scanf("%d%d",&a,&b);
ans1=b*1.0/a;//ans1=b*1.0/a*100;
for(i=2;i<=n;i++){
scanf("%d%d",&a,&b);
ans2=b*1.0/a;// ans2=b*1.0/a*100;
if(ans1-ans2>0.05)printf("worse\n");//if(ans1-ans2>5)
else if(ans2-ans1>0.05)printf("better\n");//else if(ans2-ans1>5)
else printf("same\n");
}
return 0;
}
//1073 救援
#include <stdio.h>
#include <math.h>
int main(){
int n,m,i;
double x,y,t=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%lf%lf%d",&x,&y,&m);
t+=sqrt(x*x+y*y)*2/50+m*1.5;
}
if(t>(int)t)printf("%d",(int)t+1);
else printf("%d",(int)t);
return 0;
}
//1074 津津的储蓄计划
#include <stdio.h>
int main(){
int a,i,sheng=0,cun=0;//a读入消费,sheng剩下的钱,cun存在妈妈那的钱
for(i=1;i<=12;i++){
scanf("%d",&a);
sheng+=300-a;
if(sheng<0){
printf("%d",-i);
return 0;
}
cun+=sheng/100*100;
sheng%=100;
}
printf("%d",sheng+cun/10*12);
return 0;
}
//1074 津津的储蓄计划
#include <stdio.h>
int main(){
int i,sheng=0,cun=0,a;
for(i=1;i<=12;i++){
scanf("%d",&a);
sheng+=300-a;
if(sheng<0){
printf("%d",-i);
return 0;
}
cun+=sheng/100*100;
sheng%=100;
}
printf("%d",sheng+cun*12/10);
return 0;
}
//1075 药房管理
#include <stdio.h>
int main(){
int m,n,i,a,cnt=0;
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++){
scanf("%d",&a);
if(m>=a){//此处写成 if(m>a)
m-=a;
cnt++;
}
}
printf("%d",n-cnt);
return 0;
}
//1076 正常血压
#include <stdio.h>
int main(){
int n,a,b,i,cnt=0,max=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d%d",&a,&b);
if(90<=a&&a<=140&&60<=b&&b<=90){
cnt++;
if(cnt>max)max=cnt;
}else
cnt=0;
}
printf("%d",max);
return 0;
}
//1077 统计满足条件的4位数
#include <stdio.h>
int main(){
int n,i,a,b,c,d,e,cnt=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&e);
a=e/1000;
b=e%1000/100;
c=e%1000%100/10;
d=e%10;
if(d>a+b+c)cnt++;
}
printf("%d",cnt);
return 0;
}
//1078 求分数序列和
#include <stdio.h>
int main(){
int n,p,q,i,t;
double ans=0;
scanf("%d",&n);
p=1,q=2;
for(i=1;i<=n;i++){
ans+=q*1.0/p;
t=p;
p=q;
q+=t;
}
printf("%.4lf",ans);
return 0;
}
//1079 计算分数加减表达式的值
#include <stdio.h>
int main(){
int n,i;
double ans=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
if(i%2==1)ans+=1.0/i;
else ans+=-1.0/i;
printf("%.4lf",ans);
return 0;
}
//1080 余数相同问题
#include <stdio.h>
int main(){
int a,b,c,min=0,i;
scanf("%d%d%d",&a,&b,&c);
min=a>b?b:a;
min=min>c?c:min;//找最小值
for(i=2;i<=min;i++)
if(a%i==b%i&&b%i==c%i){
printf("%d",i);
break;
}
return 0;
}
//1081 分苹果
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
printf("%d",n*(n+1)/2);
return 0;
}
//1082 求小数的某一位
#include <stdio.h>
int main(){
int a,b,n,i;//商 余数
scanf("%d%d%d",&a,&b,&n);
for(i=1;i<=n-1;i++){
a*=10;
a%=b;
}
printf("%d",a*10/b);
return 0;
}
//1082 求小数的某一位
#include <stdio.h>
int main(){
int a,b,n,i,shang;
scanf("%d%d%d",&a,&b,&n);
for(i=1;i<=n;i++){
a*=10;
shang=a/b;
a%=b;
}
printf("%d",shang);
return 0;
}
//1083 计算星期几
#include <stdio.h>
int main(){
int a,b,i,ans=1;
scanf("%d%d",&a,&b);
for(i=1;i<=b;i++)
ans=(ans*a)%7;
switch(ans){
case 0:
printf("Sunday");
break;
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
}
return 0;
}
//1084 幂的末尾
#include <stdio.h>
int main(){
int a,b,i,ans=1;
scanf("%d%d",&a,&b);
for(i=1;i<=b;i++)
ans=(ans*a)%1000;
if(ans>=100)printf("%d",ans);
else if(10<=ans&&ans<100)printf("0%d",ans);
else printf("00%d",ans);
return 0;
}
第二节 while语句
#include <stdio.h>
int main(){
int h,i;
double sum=0,a;
scanf("%d",&h);
sum=h,a=1.0*h/2;
for(i=2;i<=10;i++){
sum+=a*2;
a/=2;
}
printf("%g\n%g",sum,a);
return 0;
}
//1086 角谷猜想
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
while(n!=1){
if(n%2==1){
printf("%d*3+1=%d\n",n,n*3+1);
n=n*3+1;
}else{
printf("%d/2=%d\n",n,n/2);
n/=2;
}
}
printf("End");
return 0;
}
//1087 级数求和
#include <stdio.h>
int main(){
int k,n=0;
double sn=0;
scanf("%d",&k);
while(sn<=k){
n++;
sn+=1.0/n;
}
printf("%d",n);
return 0;
}
//1088 分离整数的各个数
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
while(n){
printf("%d ",n%10);
n/=10;
}
return 0;
}
//1089 数字反转
#include <stdio.h>
int main(){
int a;
scanf("%d",&a);
if(a==0){
printf("0");
return 0;
}
if(a<0){
printf("-");
a=-a;
}
while(a%10==0)a/=10;
while(a){
printf("%d",a%10);
a/=10;
}
return 0;
}
//1090 含k个3的数
#include <stdio.h>
int main(){
int m,k,a,cnt=0;
scanf("%d%d",&m,&k);
a=m;
while(a){
if(a%10==3)cnt++;
a/=10;
}
if(cnt==k&&m%19==0)printf("YES");
else printf("NO");
return 0;
}
//1091 求阶乘的和
#include <stdio.h>
int f(int n){
int i,ans=1;
for(i=1;i<=n;i++)
ans*=i;
return ans;
}
int main(){
int n,i,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=f(i);
printf("%d",sum);
return 0;
}
//1092 求出e的值
#include <stdio.h>
long long f(int n){
int i;
long long ans=1;
for(i=1;i<=n;i++)
ans*=i;
return ans;
}
int main(){
int n,i;
double e=0;
scanf("%d",&n);
for(i=0;i<=n;i++)
e+=1.0/f(i);
printf("%.10lf",e);
return 0;
}
//1093 计算多项式的值
#include <stdio.h>
int main(){
int i,n;
double x,ans=1,t=1;
scanf("%lf%d",&x,&n);
for(i=1;i<=n;i++){
t*=x;
ans+=t;
}
printf("%.2lf",ans);
return 0;
}
//1094 与7无关的数
#include <stdio.h>
int f(int n){
if(n%7==0)return 1;
while(n){
if(n%10==7)return 1;
n/=10;
}
return 0;
}
int main(){
int n,i,ans=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
if(f(i)==0)
ans+=i*i;
printf("%d",ans);
return 0;
}
//1095 数1的个数
#include <stdio.h>
int f(int n){
int cnt=0,i;
while(n){
if(n%10==1)cnt++;
n/=10;
}
return cnt;
}
int main(){
int i,cnt=0,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
cnt+=f(i);
printf("%d",cnt);
return 0;
}
//1096 数字统计
#include <stdio.h>
int f(int n){
int i,cnt=0;
while(n){
if(n%10==2)cnt++;
n/=10;
}
return cnt;
}
int main(){
int left,right,i,ans=0,cnt=0;
scanf("%d%d",&left,&right);
for(i=left;i<=right;i++){
cnt+=f(i);
}
printf("%d",cnt);
return 0;
}
//1097 画矩形
#include <stdio.h>
int main(){
int row,col,i,j,cmd;
char s[2];
scanf("%d%d%s%d",&row,&col,s,&cmd);
if(cmd==1)
for(i=1;i<=row;i++){
for(j=1;j<=col;j++){
printf("%c",s[0]);
}
printf("\n");
}
else{
for(j=1;j<=col;j++)
printf("%c",s[0]);
printf("\n");
for(i=2;i<=row-1;i++){
for(j=1;j<=col;j++)
if(j==1||j==col)
printf("%c",s[0]);
else
printf(" ");
printf("\n");
}
for(j=1;j<=col;j++)
printf("%c",s[0]);
printf("\n");
}
return 0;
}
//1098 质因数分解
#include <stdio.h>
int main(){
int n,i;
scanf("%d",&n);
for(i=2;i*i<=n;i++)
if(n%i==0){
printf("%d",n/i);
break;
}
return 0;
}
//1099 第n小的质数
#include <stdio.h>
int isPrime(int n){
int i;
if(n<2)return 0;
if(n==2)return 1;
for(i=2;i*i<=n;i++)
if(n%i==0)return 0;
return 1;
}
int main(){
int n,k=2,cnt=1;
scanf("%d",&n);
while(cnt<n){
k++;
while(isPrime(k)==0)k++;
cnt++;
}
printf("%d",k);
return 0;
}
//1100 金币
#include <stdio.h>
int main(){
int n,ans=0,i,d=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
d+=i;
ans+=i*i;
if(d>=n)
break;
}
if(d==n)printf("%d",ans);
else printf("%d",ans-(d-n)*i);
return 0;
}
//1101 不定方程求解
#include <stdio.h>
int main(){
int a,b,c,cnt=0,i,j;
scanf("%d%d%d",&a,&b,&c);
for(i=0;i<=c;i++)
for(j=0;j<=c;j++)
if(a*i+b*j==c)cnt++;
else if(a*i+b*j>c)break;
printf("%d",cnt);
return 0;
}
//1102 与指定数字相同的数的个数
#include <stdio.h>
int a[110];
int main(){undefined
int n,i,b,cnt=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&b);
for(i=1;i<=n;i++)
if(a[i]==b)cnt++;
printf("%d",cnt);
return 0;
}
//1103 陶陶摘苹果
#include <stdio.h>
int a[20];
int main(){undefined
int i,b,cnt=0;
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
scanf("%d",&b);
for(i=1;i<=10;i++)
if(b+30>=a[i])
cnt++;
printf("%d",cnt);
return 0;
}
//1104 计算书费
#include <stdio.h>
int main(){undefined
double a[]={0,28.9,32.7,45.6,78,35,86.2,27.8,43,56,65},sum=0;
int b;
int i;
for(i=1;i<=10;i++){undefined
scanf("%d",&b);
sum+=b*a[i];
}
printf("%.1lf",sum);
return 0;
}
//1105 数组逆序重存放
#include <stdio.h>
int a[110];
int main(){undefined
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=n;i>=1;i--)
printf("%d ",a[i]);
return 0;
}
//1106 年龄与疾病
#include <stdio.h>
int main(){undefined
int n,i,a,cnt1=0,cnt2=0,cnt3=0,cnt4=0;
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%d",&a);
if(0<=a&&a<=18)cnt1++;
else if(19<=a&&a<=35)cnt2++;
else if(36<=a&&a<=60)cnt3++;
else if(61<=a)cnt4++;
}
printf("%.2lf%%\n%.2lf%%\n%.2lf%%\n%.2lf%%",cnt1*1.0*100/n,cnt2*1.0*100/n,cnt3*1.0*100/n,cnt4*1.0*100/n);
return 0;
}
//1107 校门外的树
#include <stdio.h>
#include <string.h>
int a[10100];
int main(){undefined
int L,M,i,left,right,j,cnt=0;
memset(a,0,sizeof(a));
scanf("%d%d",&L,&M);
for(i=1;i<=M;i++){undefined
scanf("%d%d",&left,&right);
for(j=left;j<=right;j++)
a[j]=1;
}
for(i=0;i<=L;i++)
if(a[i]==0)cnt++;
printf("%d",cnt);
return 0;
}
//1108 向量点积计算
#include <stdio.h>
int a[1010];
int main(){undefined
int n,i,b,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++){undefined
scanf("%d",&b);
sum+=a[i]*b;
}
printf("%d",sum);
return 0;
}
//1109 开关灯
#include <stdio.h>
#include <string.h>
int a[5010];
int main(){undefined
int n,m,i,j,k;
memset(a,0,sizeof(a));
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++){undefined
k=1;
while(k*i<=n){undefined
a[k*i]=!a[k*i];
k++;
}
}
k=0;
for(i=1;i<=n;i++)
if(a[i]==1){undefined
k++;
if(k==1)printf("%d",i);
else printf(",%d",i);
}
return 0;
}
//1110 查找特定的值
#include <stdio.h>
int a[10100];
int main(){undefined
int n,x,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
for(i=1;i<=n;i++)
if(x==a[i])
break;
if(i==n+1)printf("-1");
else printf("%d",i);
return 0;
}
//1111 不高兴的津津
#include <stdio.h>
int main(){undefined
int a,b,max=0,i,k;
for(i=1;i<=7;i++){undefined
scanf("%d%d",&a,&b);
if(a+b>max){undefined
max=a+b;
k=i;
}
}
if(max<=8)printf("0");
else printf("%d",k);
return 0;
}
//1112 最大值和最小值的差
#include <stdio.h>
int main(){undefined
int n,i,min=99999,max=-99999,a;
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%d",&a);
if(a<min)min=a;
if(a>max)max=a;
}
printf("%d",max-min);
return 0;
}
//1113 不与最大数相同的数字之和
#include <stdio.h>
int a[110];
int main(){undefined
int n,i,max=-9999999,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%d",&a[i]);
if(a[i]>max)max=a[i];
}
for(i=1;i<=n;i++)
if(a[i]!=max)
sum+=a[i];
printf("%d",sum);
return 0;
}
//1114 白细胞计数
#include <stdio.h>
double a[310];
int main(){undefined
int n,i,j,k;
double min=999999,max=-999999,sum=0,avr,delta;
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%lf",&a[i]);
if(a[i]<min)min=a[i],j=i;
if(a[i]>max)max=a[i],k=i;
}
for(i=1;i<=n;i++)
if(i==j||i==k)sum+=0;
else sum+=a[i];
avr=sum/(n-2);
max=-999999;
for(i=1;i<=n;i++)
if(i==j||i==k)continue;
else{undefined
if(a[i]>=avr)delta=a[i]-avr;
else delta=avr-a[i];
if(delta>max)max=delta;
}
printf("%.2lf %.2lf",avr,max);//此处写成 printf("%.2lf %.2lf",avr,delta);
return 0;
}
//1115 直方图
#include <stdio.h>
#include <string.h>
int a[10100],b[10100];
int main(){undefined
int max=-999,n,i;
memset(b,0,sizeof(b));
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%d",&a[i]);
if(a[i]>max)max=a[i];
b[a[i]]++;
}
for(i=0;i<=max;i++)
printf("%d\n",b[i]);
return 0;
}
//1116 最长平台
#include <stdio.h>
int main(){undefined
int n,i,a,b,cnt=1,max=-999999;
scanf("%d",&n);
scanf("%d",&a);
for(i=2;i<=n;i++){undefined
scanf("%d",&b);
if(a==b){undefined
cnt++;
if(cnt>max)max=cnt;
}else{undefined
a=b;
cnt=1;
}
}
printf("%d",max);
return 0;
}
//1117 整数去重
#include <stdio.h>
#include <string.h>
int a[20100],vis[20100];
int main(){undefined
int n,i,j;
memset(vis,0,sizeof(vis));
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%d",&a[i]);
if(vis[a[i]]==0){undefined
printf("%d ",a[i]);
vis[a[i]]=1;
}
}
return 0;
}
//1118 铺地毯
#include <stdio.h>
#define maxn 10100
int a[maxn],b[maxn],g[maxn],k[maxn];
int main(){undefined
int n,i,x,y;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d%d%d%d",&a[i],&b[i],&g[i],&k[i]);
scanf("%d%d",&x,&y);
for(i=n;i>=1;i--)//逆序查找,自最上层地毯开始,逐层查找
if(a[i]<=x&&x<=a[i]+g[i]&&b[i]<=y&&y<=b[i]+k[i]){undefined
printf("%d",i);
return 0;
}
printf("-1");
return 0;
}
//1118 铺地毯
#include <stdio.h>
int a[100100],b[100100],g[100100],k[100100];
int main(){undefined
int n,i,x,y;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d%d%d%d",&a[i],&b[i],&g[i],&k[i]);
scanf("%d%d",&x,&y);
for(i=n;i>=1;i--)
if(a[i]<=x&&x<=a[i]+g[i]&&b[i]<=y&&y<=b[i]+k[i])
break;
if(i==0)printf("-1");
else printf("%d",i);
return 0;
}
//1119 矩阵交换行
#include <stdio.h>
int a[10][10];
int main(){undefined
int i,j,m,n,t;
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
scanf("%d",&a[i][j]);
scanf("%d%d",&m,&n);
for(j=1;j<=5;j++){undefined
t=a[m][j];
a[m][j]=a[n][j];
a[n][j]=t;
}
for(i=1;i<=5;i++){undefined
for(j=1;j<=5;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
//1120 同行列对角线的格
#include <stdio.h>
int main(){undefined
int n,r,c,i,j,a,b;
scanf("%d%d%d",&n,&r,&c);
for(j=1;j<=n;j++)
printf("(%d,%d) ",r,j);
printf("\n");
for(i=1;i<=n;i++)
printf("(%d,%d) ",i,c);
printf("\n");
a=r,b=c;
while(1<a&&1<b)a--,b--;//此处写成 while(1<a&&a<n&&1<b&&b<n)a--,b--;
while(1<=a&&a<=n&&1<=b&&b<=n){undefined
printf("(%d,%d) ",a,b);
a++,b++;
}
printf("\n");
a=r,b=c;
while(a<n&&1<b)a++,b--;//此处写成 while(1<a&&a<n&&1<b&&b<n)a++,b--;
while(1<=a&&a<=n&&1<=b&&b<=n){undefined
printf("(%d,%d) ",a,b);
a--,b++;
}
return 0;
}
//1121 计算矩阵边缘元素之和
#include <stdio.h>
int a[110][110];
int main(){undefined
int m,n,i,j,sum=0;
scanf("%d%d",&m,&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
for(j=1;j<=n;j++)
sum+=a[1][j]+a[m][j];
for(i=2;i<=m-1;i++)
sum+=a[i][1]+a[i][n];
printf("%d",sum);
return 0;
}
//1122 计算鞍点
#include <stdio.h>
int a[10][10],r[10],c[10];//r[]一行最大值 c[]一列最大值
int main(){undefined
int i,j,max,min,find=0;
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
scanf("%d",&a[i][j]);
for(i=1;i<=5;i++){//行的最大值
r[i]=-999999999;
for(j=1;j<=5;j++)
if(r[i]<a[i][j])r[i]=a[i][j];
}
for(j=1;j<=5;j++){//列的最小值
c[j]=999999999;
for(i=1;i<=5;i++)
if(c[j]>a[i][j])c[j]=a[i][j];
}
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
if(a[i][j]==r[i]&&a[i][j]==c[j])find=1,printf("%d %d %d\n",i,j,a[i][j]);
if(find==0)
printf("not found");
return 0;
}
//1123 图像相似度
#include <stdio.h>
int a[110][110],b[110][110];
int main(){undefined
int m,n,i,j,cnt=0;
scanf("%d%d",&m,&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&b[i][j]);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(a[i][j]==b[i][j])
cnt++;
printf("%.2lf",cnt*1.0*100/(m*n));
return 0;
}
//1124 矩阵加法
#include <stdio.h>
int a[110][110],b[110][110];
int main(){undefined
int n,m,i,j;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&b[i][j]);
for(i=1;i<=n;i++){undefined
for(j=1;j<=m;j++)
printf("%d ",a[i][j]+b[i][j]);
printf("\n");
}
return 0;
}
//1125 矩阵乘法
#include <stdio.h>
#include <string.h>
int a[110][110],b[110][110],c[110][110];
int main(){undefined
int n,m,k,i,j,p;
memset(c,0,sizeof(c));
scanf("%d%d%d",&n,&m,&k);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
for(i=1;i<=m;i++)
for(j=1;j<=k;j++)
scanf("%d",&b[i][j]);
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
for(p=1;p<=m;p++)
c[i][j]+=a[i][p]*b[p][j];
for(i=1;i<=n;i++){undefined
for(j=1;j<=k;j++)
printf("%d ",c[i][j]);
printf("\n");
}
return 0;
}
//1126 矩阵转置
//行变列,列变行
#include <stdio.h>
int a[110][110],b[110][110];
int main(){undefined
int m,n,i,j;
scanf("%d%d",&m,&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
for(j=1;j<=n;j++)
for(i=1;i<=m;i++)
b[j][i]=a[i][j];
for(i=1;i<=n;i++){undefined
for(j=1;j<=m;j++)
printf("%d ",b[i][j]);
printf("\n");
}
return 0;
}
//1127 图像旋转
#include <stdio.h>
int a[110][110],b[110][110];
int main(){undefined
int n,m,i,j;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
for(j=1;j<=m;j++)
for(i=1;i<=n;i++)
b[j][i]=a[n-i+1][j];
for(i=1;i<=m;i++){undefined
for(j=1;j<=n;j++)
printf("%d ",b[i][j]);
printf("\n");
}
return 0;
}
//1128 图像模糊处理
#include <stdio.h>
int a[110][110],b[110][110];
int main(){undefined
int n,m,i,j;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){undefined
scanf("%d",&a[i][j]);
b[i][j]=a[i][j];
}
for(i=2;i<=n-1;i++)
for(j=2;j<=m-1;j++)
b[i][j]=(int)(1.0*(a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1]+a[i][j])/5+0.5);//此处写成b[i][j]=(a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1]+a[i][j])/5;
for(i=1;i<=n;i++){undefined
for(j=1;j<=m;j++)
printf("%d ",b[i][j]);
printf("\n");
}
return 0;
}
2017-10-23 21:10 AC该节内容
#include <stdio.h>
int main(){undefined
int cnt=0;
char c;
while((c=getchar())!=EOF){undefined
if('0'<=c&&c<='9')cnt++;
}
printf("%d",cnt);
return 0;
}
//1130 找第一个只出现一次的字符
#include <stdio.h>
#include <string.h>
int a[300];
char s[100100];
int main(){undefined
int i,len;
memset(a,0,sizeof(a));
scanf("%s",s);
len=strlen(s);
for(i=0;i<len;i++)
a[s[i]]++;
for(i=0;i<len;i++)
if(a[s[i]]==1){//此处写成 if(a[s[i]]==0) 查了会
printf("%c",s[i]);
break;
}
if(i==len)printf("no");
return 0;
}
//1131 基因相关性
#include <stdio.h>
#include <string.h>
int main(){undefined
double a;
char b[510],c[510];
int len,i,cnt=0;
scanf("%lf%s%s",&a,b,c);
len=strlen(b);
for(i=0;i<len;i++)
if(b[i]==c[i])cnt++;
if(1.0*cnt/len>=a)printf("yes");//此处写成 if(1.0*cnt/len>=0.85)printf("yes");
else printf("no");
return 0;
}
//1132 石头剪子布
#include <stdio.h>
#include <string.h>
char a[20],b[20];
int win(char a[],char b[]){undefined
if(strcmp(a,"Rock")==0&&strcmp(b,"Scissors")==0)return 1;
if(strcmp(b,"Rock")==0&&strcmp(a,"Scissors")==0)return 2;
if(strcmp(a,"Rock")==0&&strcmp(b,"Paper")==0)return 2;
if(strcmp(b,"Rock")==0&&strcmp(a,"Paper")==0)return 1;
if(strcmp(a,"Scissors")==0&&strcmp(b,"Paper")==0)return 1;
if(strcmp(b,"Scissors")==0&&strcmp(a,"Paper")==0)return 2;
}
int main(){undefined
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%s%s",a,b);
if(strcmp(a,b)==0)
printf("Tie\n");
else{undefined
if(win(a,b)==1)printf("Player1\n");
else printf("Player2\n");
}
}
return 0;
}
//1133 输出亲朋字符串
#include <stdio.h>
#include <string.h>
char a[110],b[110];
int main(){undefined
int i,len;
scanf("%s",a);
len=strlen(a);
for(i=0;i<len-1;i++)
b[i]=a[i]+a[i+1];
b[len-1]=a[len-1]+a[0];
b[len]='\0';
printf("%s",b);
return 0;
}
//1134 合法C标识符查
#include <stdio.h>
#include <string.h>
char s[30];
int main(){undefined
int i,len;
scanf("%s",s);
if('0'<=s[0]&&s[0]<='9'){undefined
printf("no");
return 0;
}
len=strlen(s);
for(i=0;i<len;i++)
if(('0'<=s[i]&&s[i]<='9')||('a'<=s[i]&&s[i]<='z')||('A'<=s[i]&&s[i]<='Z')||s[i]=='_')
continue;
else{undefined
printf("no");
return 0;
}
printf("yes");
return 0;
}
//1135 配对碱基链
#include <stdio.h>
#include <string.h>
char a[300],b[300];
char match(char c){undefined
if(c=='A')return 'T';
if(c=='T')return 'A';
if(c=='G')return 'C';
if(c=='C')return 'G';
}
int main(){undefined
int i,len;
scanf("%s",a);
len=strlen(a);
for(i=0;i<len;i++)
b[i]=match(a[i]);
b[i]='\0';
printf("%s",b);
return 0;
}
//1136 密码翻译
#include <stdio.h>
int main(){undefined
char c;
while((c=getchar())!=EOF){undefined
if(c=='z')
printf("a");
else if(c=='Z')
printf("A");
else if(('a'<=c&&c<='y')||('A'<=c&&c<='Y'))
printf("%c",c+1);
else
printf("%c",c);
}
return 0;
}
//1137 加密的病历单
#include <stdio.h>
#include <string.h>
char a[100],b[100];
int main(){undefined
int i,len;
scanf("%s",a);
len=strlen(a);
for(i=0;i<len;i++)//大小写反转
if('a'<=a[i]&&a[i]<='z')a[i]=a[i]-'a'+'A';
else a[i]=a[i]-'A'+'a';
for(i=0;i<len;i++)//逆序存储
b[i]=a[len-1-i];
b[i]='\0';
for(i=0;i<len;i++)//循环右移3位
if('a'<=b[i]&&b[i]<='z')b[i]=(b[i]-'a'+3)%26+'a';
else b[i]=(b[i]-'A'+3)%26+'A';
printf("%s",b);
return 0;
}
//1138 将字符串中的小写字母转换成大写字母
#include <stdio.h>
int main(){undefined
char c;
while((c=getchar())!=EOF){undefined
if('a'<=c&&c<='z')printf("%c",c-'a'+'A');
else printf("%c",c);
}
return 0;
}
//1139 整理药名
#include <stdio.h>
#include <string.h>
char a[30];
int main(){undefined
int n,i,len,j;
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%s",a);
len=strlen(a);
if('a'<=a[0]&&a[0]<='z')//首字母
a[0]=a[0]-'a'+'A';
for(j=1;j<len;j++)
if('A'<=a[j]&&a[j]<='Z')
a[j]=a[j]-'A'+'a';
printf("%s\n",a);
}
return 0;
}
//1140 验证子串
#include <stdio.h>
#include <string.h>
char a[210],b[210];
int main(){undefined
int i,j,len1,len2,cnt;
scanf("%s%s",a,b);
len1=strlen(a),len2=strlen(b);
if(len1<=len2){undefined
for(i=0;i<len2;i++){undefined
cnt=0;
for(j=0;j<len1;j++)
if(i+j<len2&&b[i+j]==a[j]){undefined
cnt++;
if(cnt==len1){undefined
printf("%s is substring of %s",a,b);
return 0;
}
}
}
}else{undefined
for(i=0;i<len1;i++){undefined
cnt=0;
for(j=0;j<len2;j++)
if(i+j<len1&&a[i+j]==b[j]){undefined
cnt++;
if(cnt==len2){undefined
printf("%s is substring of %s",b,a);
return 0;
}
}
}
}
printf("No substring");
return 0;
}
//1141 删除单词后缀
#include <stdio.h>
#include <string.h>
char a[40];
int main(){undefined
int i,len;
scanf("%s",a);
len=strlen(a);
if(a[len-1-1]=='e'&&a[len-1]=='r')a[len-1-1]='\0';
else if(a[len-1-1]=='l'&&a[len-1]=='y')a[len-1-1]='\0';
else if(a[len-1-2]=='i'&&a[len-1-1]=='n'&&a[len-1]=='g')a[len-1-2]='\0';
printf("%s",a);
return 0;
}
//1142 单词的长度
#include <stdio.h>
#include <string.h>
char a[1010];
int main(){undefined
int len,k=0;
while(scanf("%s",a)!=EOF){undefined
len=strlen(a);
if(k)printf(",");
printf("%d",len);
k++;
}
return 0;
}
//1143 最长最短单词
#include <stdio.h>
#include <string.h>
char a[30000],b[110],f[110],d[110];//f[]存最短字符串 d[]存最长字符串
int main(){undefined
int len,k=0,min=999,max=-1,mini,maxi,i=0,len2;
char c;
while((c=getchar())!='\n')
a[i++]=c;
a[i]='\0',len=i;
i=0;
while(i<len){//单词解析
k=0;
while(i<len&&(a[i]==' '||a[i]==','))i++;
while(i<len&&(a[i]!=' '&&a[i]!=','))b[k++]=a[i++];//此处写成 b[k++]=a[i];
b[k]='\0',len2=strlen(b);
if(len2>0&&len2<min){undefined
min=len2;
strcpy(f,b);
}
if(len2>0&&len2>max){undefined
max=len2;
strcpy(d,b);
}
}
printf("%s\n%s",d,f);
return 0;
}
//1144 单词翻转
#include <stdio.h>
#include <string.h>
char a[510];
int main(){undefined
char c;
int k=0,len,i=0,cnt,j;
while((c=getchar())!='\n')//while((c=getchar())!=EOF)
a[k++]=c;
a[k]='\0';
len=strlen(a);
while(i<len){undefined
cnt=0;
while(i<len&&a[i]==' ')i++;
while(i+cnt<len&&a[i+cnt]!=' ')cnt++;
for(j=0;j<cnt/2;j++){undefined
c=a[i+j],a[i+j]=a[i+cnt-1-j],a[i+cnt-1-j]=c;
}
i+=cnt;
}
printf("%s",a);
return 0;
}
//1145 字符串p型编码
#include <stdio.h>
#include <string.h>
char a[1100];
int main(){undefined
int i=0,len,cnt;
scanf("%s",a);
len=strlen(a);
while(i<len){undefined
cnt=0;
while(i+cnt<len&&a[i]==a[i+cnt])cnt++;
printf("%d%d",cnt,a[i]-'0');
i+=cnt;
}
return 0;
}
//1146 判断字符串是否为回文
#include <stdio.h>
#include <string.h>
char a[110];
int main(){undefined
int i,len;
scanf("%s",a);
len=strlen(a);
for(i=0;i<len/2;i++)
if(a[i]==a[len-1-i])continue;
else{undefined
printf("no");
return 0;
}
printf("yes");
return 0;
}
//1147 最高分数的学生姓名
#include <stdio.h>
struct node{undefined
int score;
char name[30];
}stu[110];
int main(){undefined
int n,i,k,max=-1;
scanf("%d",&n);
for(i=1;i<=n;i++){undefined
scanf("%d%s",&stu[i].score,stu[i].name);
if(stu[i].score>max)k=i,max=stu[i].score;
}
printf("%s",stu[k].name);
return 0;
}
//1148 连续出现的字符
#include <stdio.h>
#include <string.h>
char b[1100];
int main(){undefined
int k,i=0,len,cnt;
scanf("%d%s",&k,b);
len=strlen(b);
while(i<len){undefined
cnt=0;
while(i+cnt<len&&b[i+cnt]==b[i])cnt++;
if(cnt>=k){undefined
printf("%c",b[i]);
break;
}
i+=cnt;
}
if(cnt<k)//漏了该判断
printf("No");
return 0;
}
//1149 最长单词2
#include <stdio.h>
#include <string.h>
char a[510],b[510];
int main(){undefined
int len,max=-1;
while(scanf("%s",a)!=EOF){undefined
len=strlen(a);
if(a[len-1]=='.')a[len-1]='\0',len=strlen(a);
if(len>max)max=len,strcpy(b,a);
}
printf("%s",b);
return 0;
}
2020-2-3(敬请期待)