几道Contest题,适合初学者
c语言吧
全部回复
仅看楼主
level 7
Leeroy 楼主
这几道题难度不高,初学者经过一些思考和努力应该是能做出来的。(swgr看到别吃了我- -)老规矩一楼送给百度
2008年11月02日 13点11分 1
level 7
Leeroy 楼主
A. Digital RootDescription大家都知道,能被3整除的数有一个性质,那就是各位数的和同样能被3整除。有一天,swgr在想,是不是只有3有这种性质呢?其他数有没有呢?swgr想深入研究这个问题,首先他得知道,对于某个正整数N,它的各位数的和是多少。遗憾的是swgr很忙,没有时间解决这个问题。您能帮帮swgr吗?Input输入一个整数N(1≤N≤100000000)。Output输出一个数,表示N的各位数的和。Sample Input1234Sample Output10
2008年11月02日 13点11分 2
level 7
Leeroy 楼主
B. Not Biggest Nor SmallestDescription貌似第一次的C语言课后作业有一题——求3个数a,b,c中的最大者。这个问题看起来是挺简单的,于是swgr把它稍微改了一下——求3个数a,b,c中“不大不小”的那一个数。Input输入三个数,用空格隔开。每个数均在[0,100]之间。Output输出“不大不小”的那一个数。如果有两个以上的数相等,那么相等的数就是“不大不小”的数。Sample Input10 15 20Sample Output15
2008年11月02日 13点11分 3
level 7
Leeroy 楼主
E. Triangle ClassificationDescription大家或许都玩过3D游戏或看过3D动画。在3D开发中,整个“世界”的所有物体,本质上都是由三角形这一基本的元素构成的。开发时经常要解决这样的一个问题:给出平面上的三个点的坐标,视为一个三角形的三个顶点,问这个三角形是锐角三角形,还是直角三角形,或者是钝角三角形?现在,作为未来IT精英的你,试图解决这一问题。Input输入数据为三行,每行包含两个浮点数,表示一个顶点的坐标,以空格隔开。所有坐标的绝对值小于200。Output若不能构成三角形,输出 "Invalid Input"(引号不输出,下同)若构成锐角三角形,输出 "Acute Triangle"若构成直角三角形,输出 "Right Triangle"若构成钝角三角形,输出 "Obtuse Triangle"Sample Input0.0 0.01.0 1.01.0 0.0Sample OutputRight Triangle
2008年11月02日 13点11分 5
level 7
Leeroy 楼主
欢呼吧,C题被百度吃了……
2008年11月02日 13点11分 6
level 7
Leeroy 楼主
C. Fish in CanteenDescription死鱼叔叔最近很郁闷:在第二食堂刷同样的菜,刷卡的阿姨经常算出不同的价格!刷了N次后,死鱼爆发了——他找来了食堂经理,经理告诉他:这份菜的准确价格为M元。于是他想知道,这N次刷卡到底赚了亏了?还是没亏没赚?赚了(或者是亏了)多少钱?不过他懒得算了,于是他把一本记载着这N次刷卡的金额的账本交给了你。作为学弟学妹的你,自然得帮死鱼叔叔算出他想要的答案。Input输入数据为两行。第一行包含两个整数N(1≤N≤20)和M,以空格隔开。第二行包含N个整数,表示账本上记载着的N次刷卡的金额,数与数之间以空格隔开。菜的准确价格M以及每次刷卡的金额均为不超过20的正整数。Output若死鱼叔叔亏了,则输出 "Uncle Fish has lost XXX yuan."(引号不输出,下同)若死鱼叔叔赚了,则输出 "Uncle Fish has earned XXX yuan."若死鱼叔叔没赚没亏,则输出 "Life is somehow fair."其中XXX表示具体赚了(或亏了)的钱数。Sample Input5 43 4 5 6 7Sample OutputUncle Fish has lost 5 yuan.
2008年11月02日 13点11分 8
level 7
Leeroy 楼主
这是某次针对freshmen的contest,难度还是很低的
2008年11月03日 01点11分 9
level 0
Leeroy 算法很好
2008年11月03日 03点11分 10
level 9

2008年11月03日 03点11分 11
level 6
#include
main(){ int i,j,n,m,a[50]; float sun,k; FILE *f1,*f2; f1=fopen("input.txt","r"); f2=fopen("output.txt","w"); fscanf(f1,"%d%d",&n,&m); for(i=0;i
m) fprintf(f2,"Uncle Fish has lost %.0f yuan.",(sun-m)*n); else fprintf(f2,"Uncle Fish has earned %.0f yuan",(m-sun)*n); fclose(f1); fclose(f2); }//input.txt输入数据//output.txt输出数据
2008年11月03日 11点11分 12
level 5

2008年11月04日 00点11分 13
level 0
难得看到题目出的这么清楚的
2008年11月04日 08点11分 14
level 1
咳咳。。。
2009年01月09日 15点01分 15
level 7
Leeroy 楼主
看人家在夸奖你出的题那
2009年01月09日 16点01分 16
level 6
强.....
无语,,顶顶
2009年01月10日 03点01分 17
level 9
A
#include 
int main()
{
    int a, s = 0;
    while ((a = getchar()) != '\n')
        s += a-'0';
    printf("%d\n", s);
}
B
#include 
int main()
{
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    printf("%d\n", (a
int main()
{
    int n;
    scanf("%d", &n);
    printf("%d\n", (n*n-n)/2+1);
}
E
#include 
#include 
#include 
using namespace std;
#define SQR(a) ((a)*(a))
#define DIST(a, b) sqrt(SQR(x#
#a-x#
#b)+SQR(y#
#a-y#
#b))
int main()
{
    double x1, y1, x2, y2, x3, y3, e1, e2, e3, t;
    scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3);
    e1 = DIST(2, 3); e2 = DIST(1, 3); e3 = DIST(1, 2);
    if (e1 > e2) swap(e1, e2);
    if (e2 > e3) swap(e2, e3);
    if (e1 > e2) swap(e1, e2);
    if (e3-e1-e2 > 1E-5) puts("Invalid Input");
    else
    {
        t = e1*e1+e2*e2-e3*e3;
        puts(fabs(t) < 1E-5 ? "Right Triangle" : t < 0 ? "Obtuse Triangle" : "Acute Triangle");
    }
}
2009年01月10日 12点01分 19
level 1
19楼的程序,E题只得了70%分数。
Invalid Input判断有错。
其他三题全对。
2009年06月08日 17点06分 20
1