Posted on 2011-08-21 21:31
Uriel 閱讀(200)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
考研&保研復(fù)試上機(jī)題
兩套, 一共6題, 都是大水啦~
1. 分段函數(shù)
//2001年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題(第I套) 分段函數(shù)
#include<stdio.h>
#include<stdlib.h>


int main()
{
double x, b;

while(~scanf("%lf", &x))
{
if(0 <= x && x < 2) b = -x + 2.5;
else if(2 <= x && x < 4) b = 2 - 1.5 * (x - 3) * (x - 3);
else if(4 <= x && x < 6) b = x / 2.0 - 1.5;
printf("%.3lf\n", b);
}
return 0;
}2. 整數(shù)和
//2001年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題(第I套) 整數(shù)和
#include<stdio.h>
#include<stdlib.h>


int main()
{
int n, i, t;

while(~scanf("%d", &n))
{

if(n >= 0)
{
t = 0;
for(i = 0; i <= n; ++i) t += n + i;
}

else
{
t = 0;
for(i = 0; i <= -n; ++i) t += n - i;
}
printf("%d\n", t);
}
return 0;
}3. 反序數(shù)
//2001年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題(第I套) 反序數(shù)
#include<stdio.h>
#include<stdlib.h>


int main()
{
int i, t1, t2, t3, t4;

for(i = 1000; i <= 9999; ++i)
{
t1 = i % 10;
t2 = i % 100 - t1;
t3 = i % 1000 - t1 - t2;
t4 = i /1000;
//printf("%d %d %d %d\n", t1, t2, t3, t4);
if(t1 * 1000 + t2 * 10 + t3 / 10 + t4 == 9 * i) printf("%d\n", i);
}
return 0;
}4. 輸出梯形
感覺(jué)題目有點(diǎn)表述不清... WA兩次啊... 原來(lái)是多case...
//2001年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題(第II套) 輸出梯形
#include<stdio.h>
#include<stdlib.h>


int main()
{
int n, i, j;

while(~scanf("%d", &n))
{

for(i = 0; i < n; ++i)
{
for(j = 0; j < 2 * (n - i - 1); ++j) putchar(' ');
for(j = 0; j < 2 * i + n; ++j) putchar('*');
puts("");
}
}
return 0;
}5. 字符串排序
//2001年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題(第II套) 字符串排序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;


int main()
{
char s[30];

while(gets(s) != NULL)
{
sort(s, s + strlen(s));
puts(s);
}
return 0;
}6. n的階乘
long long夠了
//2001年清華大學(xué)計(jì)算機(jī)研究生機(jī)試題(第II套) n的階乘
#include<stdio.h>
#include<stdlib.h>


int main()
{
int i;
long long n;

while(~scanf("%lld", &n))
{
for(i = n -1; i >= 1; --i) n *= i;
printf("%lld\n", n);
}
return 0;
}