当前位置:首页 » 编程语言 » c语言acm竞赛题目
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言acm竞赛题目

发布时间: 2022-08-18 02:19:47

A. 求一道c语言ACM题

#include<ctype.h>
#include<stdio.h>
#include<math.h>
main()
{
int i,j,n;
char s;
clrscr();
printf("Please input Number:");
scanf("%d",&n);
printf("\n");
printf("Case #");
for (i=n-1;i>=-n+1;i--)
{
for(j=0;j<=abs(i);j++) printf(" ");
for (j=n-abs(i)-1;j>=-(n-abs(i))+1;j--)
printf("%c",toascii(abs(n-abs(j)-abs(i))+64));
printf("\n");
}
getch();
}

B. c语言 ACM题目

这样的
1 1 过去1分钟
1回来1分钟
2 3过去3分钟
1回来1分钟
1 1过去1分钟
加一起就是7分钟

C. 一个C语言的ACM题目

代码其实很简单,需要你理解C语言里整型变量的内存结构,还有大小端问题。

#include<stdio.h>

intmain(void){
intx=1234;
for(inti=0;i<4;i++){
printf("%x ",x&0x000000ff);
x=x>>8;
}
getchar();
}

内存里1234是这样的:

D. C语言2011年ACM大赛题目

2
1 1
2 2
最近点对的距离为:1.414
最短距离的两个点为:
(1,1)
(2,2)
请按任意键继续. . .

可以运行啊,你建立的是C++程序吗?

E. 求教ACM题目,只要C语言的,急求,快!!!

#include<stdio.h>
#defineN100
intmain()
{
inti,j,t;
ints1,s2,s3;
intarr[N];
intn;
intsum;
scanf("%d",&n);

for(i=1;i<=n;i++)
scanf("%d",&arr[i]);
if(n==1)
{
printf("1 ");
return0;
}
sum=0;
for(i=1;i<n;i++)//整体思路就是将1...n分成1..i、i...j和j...n三段,然后计算三段的和的最大值,
//其中第一部分1...i和第三部分j...n是直接计算原来数字的和,第二部分i..j由于是反转,所以是计算1变00变1后的和
{
for(j=i+1;j<=n;j++)
{
s1=s2=s3=0;
for(t=1;t<i;t++)
s1+=arr[t];
for(t=i;t<=j;t++)
s2+=(arr[t]^1);
for(t=j+1;t<=n;t++)
s3+=arr[t];
if(sum<s1+s2+s3)
{
sum=s1+s2+s3;
}
}
}
printf("%d ",sum);
return0;
}

ps:由于是ACM题,无法保证完全正确,可能存在没有考虑到的特殊情况。楼主再反馈吧。

F. 简单的acm题目 - - 。求大神 是c语言

#include <stdio.h>
int main() {
int w, n;
while (scanf("%d%d", &w, &n) != EOF) {
int i, j, money[30002], temp, count = 0;
for (i = 0 ; i < n ; i++)
scanf("%d", &money[i]);
for (i = 1 ; i < n ; i++)
for (j = 0 ; j < i ; j++)
if (money[i] < money[j])
temp = money[i], money[i] = money[j], money[j] = temp;
i = 0, j = n - 1;
while (n > 0) {
if (i == j)
n--, count++;
else if (money[i] + money[j] <= w)
n = n - 2, i++, j--, count++;
else
n--, j--, count++;
}
printf("%d\n", count);
}
return 0;
}

G. 一个c语言, ACM大赛题目


请把输出样例显示出来,如果跳跃能力为1是指能从1号跳到2号还是从1号跳到3号,

#include<stdio.h>
boolisLei(intk){
if(k==2||k==3||k==5||k==7||k==11||k==13||k==17||k==19){
returntrue;
}
returnfalse;
}
intmain()
{
boolflag=true;
intn,a,b=0,sum=0;
scanf("%d",&n);
for(inti=0;i<n;i++){
scanf("%d",&a);
if(isLei(a)){
b++;
}else{
b=0;
}
if(b>sum){
sum=b;
}
}
printf("%d",sum);
return0;
}



H. ACM c语言题目。急求。谢谢。

#include<stdio.h>
#include<math.h>

structmypoint{
intx;
inty;
};

intdistance(structmypointa,structmypointb){
return(int)sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+0.5);
}

intmain(){
intT,i,y0,n,d,sumy,count,flag;
structmypointcoordinates[1000];
scanf("%d",&T);
while(T--){
scanf("%d%d%d",&y0,&n,&d);
for(i=1;i<=n;++i)
scanf("%d%d",&coordinates[i].x,&coordinates[i].y);
sumy=0;
count=0;
flag=1;
coordinates[0].x=coordinates[1].x;
coordinates[0].y=0;//设置第一次起跳点
for(i=1;i<=n&&flag;++i){
++count;
if(distance(coordinates[i],coordinates[i-1])>d){
printf("NO ");
printf("%d ",y0-sumy);
flag=0;
break;
}
sumy+=coordinates[i].y;
if(sumy>=y0){
printf("YES ");
printf("%d ",count);
flag=0;
break;
}
}
if(flag){
printf("NO ");
printf("%d ",y0-sumy);
}
}
return0;
}

I. c语言,,acm比赛题目,求解

//刚写的,感觉木有问题了。没有测试数据么?
#include<stdio.h>

//判定一次比赛的输赢
intsingle_game(intm1,ints1,intx1,intm2,ints2,intx2){
while(x1!=0&&x2!=0){
if(x1!=0){
m2-=s1;
x1--;
}
if(m2<=0)
return1;
if(x2!=0){
m1-=s2;
x2--;
}
if(m1<=0)
return-1;
}
return0;
}
intmain(){
intN;
scanf("%d",&N);
int**comp;
comp=newint*[N];
for(inti=0;i<N;i++)
comp[i]=newint[6];
intwin_count=0;
for(inti=0;i<N;i++){
for(intj=0;j<6;j++){
scanf("%d",&comp[i][j]);
win_count+=single_game(comp[i][0],comp[i][1],comp[i][2],comp[i][3],comp[i][4],comp[i][5]);
}
}
if(win_count==0){
printf("TIEI! ");
}elseif(win_count<0){
printf("LOSE! ");
}else{
printf("WIN! ");
}
}

J. C语言问题acm比赛题目

请把输出样例显示出来,如果跳跃能力为1是指能从1号跳到2号还是从1号跳到3号,

#include<stdio.h>
boolisLei(intk){
if(k==2||k==3||k==5||k==7||k==11||k==13||k==17||k==19){
returntrue;
}
returnfalse;
}

intmain()
{
boolflag=true;
intn,a,b=0,sum=0;
scanf("%d",&n);
for(inti=0;i<n;i++){
scanf("%d",&a);
if(isLei(a)){
b++;
}else{
b=0;
}
if(b>sum){
sum=b;
}
}
printf("%d",sum);
return0;
}