2022期末
直角三角形的面积
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a,b,c;scanf("%d%d%d",&a,&b,&c);
double p=(a+b+c)/2;
double s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2lf\n",s);
return 0;
}
忘记是直角三角形了(逃
编程语言
#include <stdio.h>
#include <string.h>
int v;char a[200];
int main(void) {
scanf("%d\n",&v);
while(1){
gets(a);
if(strcmp(a,"0")==0) break;
if(strcmp(a,"++V")==0||strcmp(a,"V++")==0) v++;
if(strcmp(a,"--V")==0||strcmp(a,"V--")==0) v--;
}
printf("%d\n",v);
return 0;
}
使用strcmp函数方便的进行字符串比较
涨价的门票
#include <stdio.h>
int main(void) {
int n,m,v,a,ans=0;scanf("%d%d%d%d",&n,&v,&m,&a);
for(int i=1;i<=n;++i)
{
ans+=v;
if(i%m==0) v+=a;
}
printf("%d\n",ans);
return 0;
}
密文破译
#include <stdio.h>
#include<string.h>
int main(void) {
char a[200];int n;gets(a);scanf("%d",&n);
for(int i=0;i<strlen(a);++i)
{
int x=a[i]-'A';
x=(x-n+26)%26;
printf("%c",x+'A');
}
return 0;
}
小P考试
#include <stdio.h>
double a[1000];
int main(void) {int t;scanf("%d",&t);
while(t--){
int n;scanf("%d",&n);
for(int i=1;i<=n;++i) scanf("%lf",&a[i]);
for(int i=1;i<n;++i)
for(int j=i+1;j<=n;++j)
if(a[i]>a[j])
{double tmp=a[i];a[i]=a[j];a[j]=tmp;}
if(n%2) printf("%.1lf\n",a[n/2+1]);
else printf("%.1lf\n",1.0*(a[n/2]+a[n/2+1])/2);
}
return 0;
}
世界杯赢家
#include <stdio.h>
int a[200000],b;
int main(void) { int n;scanf("%d",&n);
for(int i=1;i<=n;++i)
{
int x,y;scanf("%d%d",&x,&y);
if(a[x]!=1) a[x]++;
a[y]+=2;
}
for(int i=1;i<=100000;++i)
{
if(a[i]==1)
if(b) printf(", %d",i);
else {printf("%d",i);b=1;}
}
return 0;
}
善用标注,减小代码复杂度
找出密码
#include <stdio.h>
#include <string.h>
char a[20000];
int main(void) {
int i=0;char a[200];
while(scanf("%s",a)!=EOF)
{
int l=strlen(a);
printf("%c",a[i++%l]);
}
return 0;
}
这里需要用到scanf的返回值:
(1)如果正常输入,scanf返回成功输入的数据的个数
(2)如果