版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qinlingheshang/article/details/79511127
Chapter One
Section Two
- Elevator
#include <stdio.h>
int main()
{
int a=0,sum=0;
int N,t;
while(scanf("%d",&N) !=EOF )
{
if(N==0) break;
t=0;
for(int i=0;i<N;i++)
{
scanf("%d",&a);
if(a>t) sum=sum+(a-t)*6+5;
else sum=sum+(t-a)*4+5;
t=a;
}
printf("%d\n",sum);
sum=0;
}
return 0;
}
- Biker’s Trip Odometer
#include <stdio.h>
#define p 3.1415927
int main()
{
float diameter,time;
int revolutions;
int i=0;
float distance=0,speed=0;
while(scanf("%f%d%f",&diameter,&revolutions,&time) != EOF)
{
i++;
if(revolutions==0) break;
distance=diameter*revolutions*p;
distance=distance/(12*5280);
speed=distance/(time/60/60);
printf("Trip #%d: %.2lf %.2lf\n",i,distance,speed);
}
return 0;
}
- 注意输入的时间time是轮子转了那么多圈的总时间
- A+B Coming
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%x%x",&a,&b) != EOF)
{
printf("%d\n",a+b);
}
return 0;
}
scanf 类型字符含义
类型字符 期望读入(应输入的类型) d 十进制整数 o 八进制整数 x或X 十六进制整数 s 字符串。默认情况下字符串以空白符作为结束 u 无符号十进制整数 c 字符。指定c后,通常被跳过的空白符将被读入,如果非要读下一个空白符,要使用%1s
- Financial Management
#include <stdio.h>
#include <math.h>
int main()
{
float a=0,sum=0;
for(int i=0;i<12;i++)
{
scanf("%f",&a);
sum=sum+a;
}
sum=sum/12;
sum=sum*1000-4;
sum=sum/10;
sum=ceil(sum);
sum=sum/100;
printf("$%.2lf\n",sum);
return 0;
}
- 注意题目中要求输出四舍五入。
- Buildings
#include <stdio.h>
int main()
{
int campus[100][100];
int T,n,m,count;
scanf("%d",&T);
while(T--)
{
count=0;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",&campus[i][j]);
if(campus[i][j]==1) count++;
}
}
printf("%d\n",count);
}
return 0;
}
- Balloon Comes!
#include <stdio.h>
int main()
{
int T;
int A=0,B=0,flag=0;
char C;
float d;
scanf("%d",&T);
while(T--)
{
getchar();//消除掉换行符带来的影响,以免C接收不到操作符
scanf("%c",&C);
scanf("%d%d",&A,&B);
if(C=='+') printf("%d\n",A+B);
else if(C=='-') printf("%d\n",A-B);
else if(C=='*') printf("%d\n",A*B);
else if(C=='/')
{
flag=A/B;
d=(float)A/B;
if(d-flag !=0) printf("%.2lf\n",d);
else printf("%d\n",flag);
}
}
return 0;
}
- IBM Minus One
#include <stdio.h>
int main()
{
int N,i,j=0;
char S[60];
char c;
scanf("%d",&N);
while(N--)
{
i=0;
if(j==0)getchar();//消除输入整数后换行符带来的影响
scanf("%c",&c);
while(c != '\n')//利用每个字符串后的换行符来结束循环
{
if(c=='Z') S[i]='A';
else S[i]=c+1;
i++;
scanf("%c",&c);
}
printf("String #%d\n",++j);
for(int k=0;k<i;k++)
printf("%c",S[k]);
printf("\n");
printf("\n");
}
return 0;
}
- ASCII
#include <stdio.h>
int main()
{
int T;
int A[1010];
scanf("%d",&T);
for(int i=0;i<T;i++)
scanf("%d",&A[i]);
for(int i=0;i<T;i++)
printf("%c",A[i]);
return 0;
}