1002,水仙花数,题目链接:https://www.oj.swust.edu.cn/problem/show/1002
#include <stdio.h>
#include <string.h>
int main()
{
int m,n,i,a,b,c,d,e=0;
int f[10],j=0;
while(scanf("%d %d",&m,&n)!=EOF)
{
j=0;
if(m==0&&n==0)
break;
else
{
for(i=m; i<=n; i++)
{
a=i/100;
b=i%100/10;
c=i%100%10;
d=a*a*a+b*b*b+c*c*c;
if(d==i)
{
f[j]=i;
j++;
}//数据放到数组中
}
if(j==0)
printf("no\n");
else
{
for(i=0; i<j-1; i++)
printf("%d ",f[i]);
printf("%d\n",f[i]);
}
}
}
return 0;
}
1003, 你来做裁判,题目链接:https://www.oj.swust.edu.cn/problem/show/1003
#include <stdio.h>
#include <string.h>
int main()
{
int N,num[1001],t=0,i,j;
char ID[1001][40],c[40];
scanf("%d",&N);
getchar();
for(i=0;i<N;i++)
scanf("%s %d",ID[i],&num[i]);
for(j=0;j<N;j++)
for(i=0;i<N-1-j;i++)
{
if(num[i]>num[i+1])
{
t=num[i];
num[i]=num[i+1];
num[i+1]=t;
strcpy(c,ID[i]);
strcpy(ID[i],ID[i+1]);
strcpy(ID[i+1],c);
}
}
for(i=0;i<N-1;i++)
printf("%s %d\n",ID[i],num[i]);
printf("%s %d",ID[i],num[i]);
return 0;
}
1004,分花生游戏博弈论,题目链接:https://www.oj.swust.edu.cn/problem/show/1004
#include<stdio.h>
int main()
{
int m,n;
while(scanf("%d %d",&m,&n)!=EOF)
{
if(m%5==0||m%5==4||m%5==1||n%5==1||n%5==4||n%5==0)//找出谭顺华老师的必胜数字。
printf("No\n");
else
printf("Yes\n");
}
return 0;
}
1007,钻石问题,题目链接:https://www.oj.swust.edu.cn/problem/show/1007
#include <stdio.h>
int main()
{
int v,e,mian;
while(scanf("%d %d",&v,&e)!=EOF)//m为顶点数 n为棱数
{
mian=2+v-e;
printf("%d\n",mian);
}
return 0;
}
1008,素数问题,题目链接:https://www.oj.swust.edu.cn/problem/show/1008
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
int t;
long int n;
unsigned long long m,i;
scanf("%d",&t);
while(t--)
{
scanf("%llu",&m);
if(m==1)
printf("No\n");
else
{
for(i=2;i*i<m;i++)
{
n=m%i;
if(n==0)
break;
}
if(i*i<m)
printf("No\n");
else
printf("Prime\n");
}
}
//printf("%ld %ld %llu",i,n,m);
return 0;
}
1009,进制转化,题目链接:https://www.oj.swust.edu.cn/problem/show/1009
暴力解法(来自某队友的思路)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,R,i,j,a[100];
while(scanf("%d%d",&N,&R)!=EOF)
{
i=0;
if(N==0&&R==0)
{
break;
}
else if(N==0&&R!=0)
{
printf("0");
}
if(R<=9)
{
while(N)
{
if(N>0)
{
a[i]=N%R;
i++;
N/=R;
}
else
{
printf("-");
N*=-1;
a[i]=N%R;
i++;
N/=R;
}
}
j=sizeof(a);
for(j=i-1; j>=0; j--)
{
printf("%d",a[j]);
}
printf("\n");
}
else if(R>9)
{
while(N)
{
a[i]=N%R;
i++;
N/=R;
}
for(j=i-1; j>=0; j--)
{
switch(a[j])
{
case 10:
printf("A");
break;
case 11:
printf("B");
break;
case 12:
printf("C");
break;
case 13:
printf("D");
break;
case 14:
printf("E");
break;
case 15:
printf("F");
break;
default:
printf("%d",a[j]);
break;
}
if(j==0)
{
printf("\n");
}
}
}
}
return 0;
}
1012: A Simple Task题目链接:https://www.oj.swust.edu.cn/problem/show/1012
#include <stdio.h>
#include <string.h>
int main()
{
int n,i=0,len,j;
char m[100][60];
while(scanf("%s",m[i])!=EOF)
{
if(m[i][0]=='#')
break;
else
len=strlen(m[i]);
printf("%c",m[i][0]);
for(j=1;j<len;j++)
{
if(j%2!=0)
m[i][j]-=32;
}
for(j=1;j<len;j++)
printf("%c",m[i][j]);
printf("\n");
i++;
}
return 0;
}
1013: Part-time Job 题目链接:https://www.oj.swust.edu.cn/problem/show/1013
#include <stdio.h>
int main()
{
int m,n,p;
while(scanf("%d %d %d",&m,&n,&p)!=EOF)
{
if(m==0&&n==0&&p==0)
break;
else if(m>n*p)
printf("%d\n",m);
else
printf("%d\n",n*p);
}
return 0;
}
1014,两数相加的输入输出,题目链接:https://www.oj.swust.edu.cn/problem/show/1014
#include"stdio.h"
int main()
{
int a,b;
while(scanf("%d %d", &a,&b) != EOF) ///EOF:end of file 文件结束标志
{
if(a==0 && b==0)
break;
printf("%d\n", a+b);
}
return 0;
}
1015,两数相加的输入输出,题目链接:https://www.oj.swust.edu.cn/problem/show/1015
#include"stdio.h"
int main()
{
int testcases;
int n,x,sum;
scanf("%d", &testcases);
while(testcases--)
{
scanf("%d", &n);
sum = 0;
while(n--)
{
scanf("%d", &x);
sum += x;
}
printf("%d\n", sum);
printf("\n");
}
return 0;
}
1017, 牛人的题目,位运算,题目链接:https://www.oj.swust.edu.cn/problem/show/1017
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, i = 0, N, b;
while(scanf("%d", &N) != EOF)
{
if(!N)
break;
i = 0, b = 0;
for(i = 0; i < N; i++)
{
scanf("%d", &a);
b = b^a;
}
printf("%d\n", b);
}
}
#include <iostream>
using namespace std;
int main()
{
int ans = 0;
int k = 0, n = 0;
while(cin>>n)
{
ans = 0, k = 0;
if( !n)
break;
while(n--)
{
cin >> k;
ans = ans^k;
}
printf("%d\n",ans);
}
}
#include <stdio.h>
int main()
{
int ans = 0;
int a = 0, n = 0, x = 0;
while(scanf("%d",&n) != EOF)
{
x = 0, a = 0;
if(n == 0)
break;
while(n--)
{
scanf("%d",&a);
x = x^a;
}
printf("%d\n",x);
}
}
1020,猴子吃桃,题目链接:https://www.oj.swust.edu.cn/problem/show/1020
#include <stdio.h>
int main()
{
int n,a,i,N;
while((scanf("%d",&n))!=EOF)
{
if(n==0)
break;
N=1;
for(i=1;i<n;i++)
{
N=(N+1)*2;
}
printf("%d\n",N);
}
return 0;
}
1021,简单的排序算法,题目链接:
https://www.oj.swust.edu.cn/problem/show/1021
#include <stdio.h>
int main()
{
int n,a[1000][3],i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
for(i=0;i<n;i++)
for(j=0;j<n-1-i;j++)
if(a[j][1]<a[j+1][1])
{
t=a[j][1];
a[j][1]=a[j+1][1];
a[j+1][1]=t;
t=a[j][0];
a[j][0]=a[j+1][0];
a[j+1][0]=t;
}
for(i=0;i<n-1;i++)
printf("%d\n",a[i][0]);
printf("%d",a[i][0]);
}
1022: 分花生游戏系列之2 (简单博弈论)
https://www.oj.swust.edu.cn/problem/show/1022
#include <stdio.h>
int main()
{
int T,last;
long long m;
scanf("%d",&T);
while(T--)
{
scanf("%lld",&m);
/*if(m==6)
printf("Mr Tan win.\n");
else
{
last=m%10;
if(last>5&&last<=10)
printf("Mr Yang win.\n");
else
printf("Mr Tan win.\n");
}*/
if(m%6==0)
printf("Mr Yang win.\n");
else
printf("Mr Tan win.\n");
}
return 0;
}
1024: 排序 https://www.oj.swust.edu.cn/problem/show/1024
#include <stdio.h>
#include <string.h>
int main()
{
long long a[100000],n,t,j;
int i;
while((scanf("%lld",&n))!=EOF) //while((scanf("%d",&n))!=EOF)
{
if(n==0)
break;
for(i=0;i<n;i++)
{
scanf("%lld",&a[i]);
}//给数组赋值
for(j=0;j<n;j++)
for(i=0;i<n-1;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}//冒泡排序法
}
for(i=0;i<n;i++)
printf("%lld\n",a[i]);
}
return 0;
}
1031: Euclid's Game(博弈论)
https://www.oj.swust.edu.cn/problem/show/1031
#include<iostream>
using namespace std;
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)==2&&(a+b)!=0)
{
int f=1;
for(;;)
{
if(a>b)
swap(a,b);//a<b
if(b%a==0)break;
if(b-a>a)break;
b-=a;
f=!f;
}
if(f == 1)
printf("Stan wins\n");
else
printf("Ollie wins\n");
}
}
1044: 陶陶摘苹果 https://www.oj.swust.edu.cn/problem/show/1044
#include <stdio.h>
int main()
{
int i,n,sum=0;
int a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);//十颗树的高度
scanf("%d",&n);
for(i=0;i<10;i++)
{
if(a[i]<=n+30)
sum+=1;//记录能摘到的苹果数
}
printf("%d",sum);
return 0;
1174: 骰子游戏 https://www.oj.swust.edu.cn/problem/show/1174
#include <stdio.h>
#include <math.h>
int main()
{
int n,m,i,a=0,b=0,c=0;
while(scanf("%d %d",&n,&m)!=EOF)
{
a=0,b=0,c=0;
for(i=1;i<=6;i++)
{
if(fabs(n-i)<fabs(m-i))//前一个人赢
a+=1;
else if(fabs(n-i)>fabs(m-i))//后一个人赢
b+=1;
else if(fabs(n-i)==fabs(m-i))//平局
c+=1;
}
printf("%d %d %d\n",a,c,b);
}
return 0;
}
1549: String reverse order https://www.oj.swust.edu.cn/problem/show/1549
#include <stdio.h>
#include <string.h>
int main()
{
char a[99999];
int m,i;
scanf("%s",a);
m=strlen(a);
for(i=m-1;i>=0;i--)
printf("%c",a[i]);
return 0;
}
1154: 字符大小写转换 https://www.oj.swust.edu.cn/problem/show/1154
#include <stdio.h>
#include <string.h>
int main()
{
int n,i=0,m=0,t,j,len,k=0;
char a[11][100]={0},b[200];
scanf("%d",&n);
getchar();//接受空格
for(i=0;i<n;i++)
scanf("%s",a[i]);//输入字符串
//for(i=0;i<n;i++)
//strlwr(a[i]);//大写转小写
for(i=0;i<n;i++)
{
len=strlen(a[i]);
for(j=0;j<len;j++)
if(a[i][j]>='A'&&a[i][j]<='Z')
a[i][j]+='a'-'A';
for(k=0;k<len;k++)
for(j=0;j<len-1-k;j++)
{
if(a[i][j]>a[i][j+1])
{
t=a[i][j];
a[i][j]=a[i][j+1];
a[i][j+1]=t;
}
}
}
for(i=0;i<n-1;i++)
printf("%s\n",a[i]);
printf("%s",a[i]);
return 0;
}
1181: 数字反转 https://www.oj.swust.edu.cn/problem/show/1181
#include <stdio.h>
#include <math.h>
int main()
{
int a,t,c=0;
scanf("%d",&a);
if(a<0)
{
a*=-1;
while(a != 0)
{
t = a % 10;
c = c * 10 + t;
a /= 10;
}
c*=-1;
}
else
{
while(a != 0)
{
t = a % 10;
c = c * 10 + t;
a /= 10;
}
}
printf("%d",c);
return 0;
}
2565: 笨鸟先飞 https://www.oj.swust.edu.cn/problem/show/2565
#include <stdio.h>
int main()
{
long long m,t,v=1,i,j,k,s;
scanf("%lld",&m);
for(k=0; k<m; k++)
{
s=0,v=1;
scanf("%lld",&t);
if(t==0)
printf("0\n");
else
{
for(j=1; j<=t; j++)
{
s+=v;
v+=2;//每次加2
}
printf("%lld\n",s%10000);
}
}
return 0;
}
1219: [Traditional] https://www.oj.swust.edu.cn/problem/show/1219
#include <stdio.h>
int main()
{
int n,a=2,i;
scanf("%d",&n);
for(i=0;i<n-1;i++)
a*=2;
printf("%d",a);
return 0;
}
2421: 完数 https://www.oj.swust.edu.cn/problem/show/2421
#include<stdio.h>
int main()
{
int a,b,c, i, j, sum;
while(scanf("%d%d", &a,&b)!=EOF)
{
int ss=0;
for(j = a; j <= b; j++)
{
sum = 0;
for(i = 1; i < j; i++)
{
c = j % i;
if(c == 0)
{
sum += i;
}
}
if(sum == j)
ss++;
}
printf("%d\n",ss);
}
return 0;
}
2618: 涛神的防AK https://www.oj.swust.edu.cn/problem/show/2618
#include <stdio.h>
int main()
{
int y,x,a,b,n,sum=0;
scanf("%d %d %d",&a,&b,&n);
while(n--)
{
scanf("%d %d",&x,&y);
if(y<a*x+b)
sum+=1;
//printf("%d\n",sum);
}
printf("%d",sum);
return 0;
}
1202: A + B Problem (Big integer version) 【高精度】 https://www.oj.swust.edu.cn/problem/show/1202
while True:
a=int(input())
b=int(input())
print(a+b)
2329: 公司合并 https://www.oj.swust.edu.cn/problem/show/2329
#include <stdio.h>
#include <string.h>
int main()
{
int n,m,j,i;
double a[51]={0,0,3},t;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%lf",&a[i]);//输入盈亏率
/*for(j=0;j<51;j++)
printf("%d ",a[j]);
printf("\n");//输出数组
*/
for(j=0;j<n;j++)
for(i=0;i<n-j-1;i++)
{
if(a[i]>a[i+1])
{
t=a[i+1];
a[i+1]=a[i];
a[i]=t;
}
} //冒泡排序
t=a[0];
for(i=1;i<n;i++)
t=(t+a[i])/2;
printf("%.2f\n",t);
/*
for(j=0;j<n;j++)
printf("%d ",a[i]);
printf("\n");//输出数组和回车符便于调试
printf("n=%d",n);*/
}
return 0;
}
1160: 明明的随机数 https://www.oj.swust.edu.cn/problem/show/1160
#include <stdio.h>
#include <string.h>
int main()
{
int t=0,n,a[101],i,j,m;
scanf("%d",&n);
m=n;
//printf("m=%d\n",m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);//输入
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[i]==a[j]&&a[j]!=0)
{a[j]=0;
m--;}
}//去重
for(i=0;i<n-1;i++)
for(j=0;j<n-1;j++)
{
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
printf("%d\n",m);
/*for(i=0;i<n-1;i++)
printf("%d ",a[i]);
printf("%d\n",a[i]);*/
for(i=m-1;i>0;i--)
printf("%d ",a[i]);
printf("%d",a[i]);
return 0;
}