理工oj题目

更新时间:2023-10-04 07:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

零起点学算法80——逆序输出(数组练习)

Time Limit:1000MS Memory Limit:65536K Total Submit:2994 Accepted:1369

Description

数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组 数组类型说明 在C语言中使用数组必须先进行类型说明。 数组说明的一般形式为: 类型说明符 数组名 [常量表达式],……; 其中,类型说明符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 例

int a[10]; 说明整型数组a,有10个元素。 float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。 char ch[20]; 说明字符数组ch,有20个元素。

Input

多组测试数据。第一行输入一个整数T表示测试数据组数 每组首先输入1个整数n,然后输入n个整数(不大于20)

Output

对于每组测试数据按照输入相反的顺序输出n个数据

Sample Input 2 3 1 2 3 5

2 3 1 4 5

Sample Output 3 2 1 5 4 1 3 2

Source

零起点学算法81——找出数组中最大元素的位置(下标值)

Time Limit:1000MS Memory Limit:65536K Total Submit:4376 Accepted:1535

Description

找出数组中最大的元素的下标。

Input

多组测试,每组先输入一个不大于10的整数n 然后是n个整数

Output

输出这n个整数中最大的元素及下标值

Sample Input 4

1 4 5 6

Sample Output 6 3

Source

零起点学算法82——数组中查找数

Time Limit:1000MS Memory Limit:65536K

Total Submit:3001 Accepted:1393

Description

在给定的数组中查找一个数

Input

多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m

Output

查找在第一行的n个整数中第一次出现数字m的下标位置并输出,如果没有找到则输出No

Sample Input

3 4 5 6 5

4 2 2 2 2 2

Sample Output

1 0

Source

零起点学算法83——数组中删数

Time Limit:1000MS Memory Limit:65536K

Total Submit:2938 Accepted:961

Description

在给定的数组中删除一个数

Input

多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m

Output

删除在第一行的n个整数中第一次出现数字m并删除,然后按照顺序输出剩下的数,

Sample Input

4 1 2 3 4 3

Sample Output

1 2 4

Hint

m有可能在原数组中找不到,找不到则输出原数组

Source

零起点学算法84——数组中删数II

Time Limit:1000MS Memory Limit:65536K

Total Submit:1411 Accepted:754

Description

在给定的数组中删除数

Input

多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m

Output

删除在第一行的n个整数中的数字m(多个的话都要删除),然后按照顺序输出剩下的数,

Sample Input

5 1 2 3 4 3 3

Sample Output

1 2 4

Source

零起点学算法85——数组中插入一个数

Time Limit:1000MS Memory Limit:65536K

Total Submit:1566 Accepted:546

Description

给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序

Input

多组测试,每组第一行输入一个整数n,然后是n个有序的整数 第二行输入1个整数m和1个整数K

Output

将整数m插入到原数组中保持顺序是升序,然后输出2行 第一行是插入以后的数组

第二行是插入以后的数组中下标值是K的数

n m k不超过20

Sample Input

3 1 2 5 3 1

Sample Output

1 2 3 5 2

Source

零起点学算法87——打印所有低于平均分的分数

Time Limit:1000MS Memory Limit:65536K

Total Submit:4940 Accepted:1717

Description

输入n个成绩,打印出所有低于平均分的分数(注意:ave = s/n中s 为float或ave = (float)s/n)。

Input

多个测试数据

每个测试数据一行,在这行中先输入分数的个数n(1<=n<=100),然后紧跟着输入

n个整数(代表分数)

Output

对于每个测试数据,输出一行按照输入顺序输出所有低于(<)平均分的分数,中间用一个空格隔开,如果没有低于平均分的那么只输出一个空行

Sample Input

3 40 50 60 2 90 80

5 10 10 90 80

Sample Output

40 80 10 10

零起点学算法88——青年歌手大奖赛_评委会打分

Time Limit:1000MS Memory Limit:65536K

Total Submit:2756 Accepted:1546

Description

青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

Input

输入数据有多组,每组占一行,每行的第一个数是n(2 < n <= 100),表示评委的人数,然后是n个评委的打分。

Output

对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

Sample Input

3 99 98 97 4 100 99 98 97

Sample Output

98.00 98.50

Source

hdu2014

零起点学算法89——程序设计竞赛

Time Limit:1000MS Memory Limit:65536K

Total Submit:2816 Accepted:1816

Description

每年5月份,省里都要举行程序设计竞赛。

为了让最优秀的学生去参加比赛,我们一般需要做一个选拔工作。 现在你来帮老师完成这个任务哦。

Input

多组测试数据,每组数据一行,该行先输入一个整数n ( n <= 30),表示参加选拔的同学人数。然后是n个整数表示选拔成绩。

Output

对于每组测试数据,请在一行从高到低输出他们的成绩。

Sample Input

4 2 6 7 1 3 4 10 9

Sample Output

7 6 2 1 10 9 4

Source

yhr

零起点学算法90——开灯问题

Time Limit:1000MS Memory Limit:65536K

Total Submit:806 Accepted:415

Description

计算中心有8个机房,每个机房有n台电脑。每台电脑都有一个编号,比如8号机房编号就为H1到Hn,我们有时又称为H1为1号机器,H2为2号机器,...。

有一天我们学校跻身世界高校100强,全校所有师生都进行了狂欢庆祝。罗老师是个很爽快的人,也很喜欢喝酒,那天他喝多了点。但不巧的是那天晚上正好罗老师值班,罗老师是个很负责的老师。所以他就把8号机房打开了。但同学们都还在狂欢,没一个人来上机。罗老师提着一瓶酒,感觉到很无聊,所以他想玩个游戏。 第一回合,他喝了一口酒,他把所有的电脑都打开。然后第二回合他喝了一口酒,他把编号是2,4,6,...的电脑全关了。第三回合,他喝一口酒后就去操作所有编

号是3,6,9,...,看到电脑开着就把它关掉,看到电脑关了就把它打开。他重复这样操作共进行了n个回合。当他操作完最后一个回合后,罗老师醉倒了。 现在给你这个机房电脑的数目,问你最后共有几台电脑开着?

Input

输入只有1行,这行有一个正整数,表示这个机房共有多少个电脑,该数是5到100之间的任意正整数。

Output

你必须输出最后开着的电脑数。输出该数后不要忘了换行。

Sample Input

5

Sample Output

2

Hint

for(i=1;i<=n;i++)//i表示回合1--n

for(k=1;k<=n;k++)//k表示电脑编号1--n

Source

yhr

零起点学算法91——找出一个数组中出现次数最多的

那个元素

Time Limit:1000MS Memory Limit:65536K

Total Submit:842 Accepted:278

Description

找出一个数组中出现次数最多的那个元素

Input

第一行输入一个整数n(不大于20) 第二行输入n个整数,

Output

找出n个整数中出现次数最多的那个整数

Sample Input

4

1 2 2 3

Sample Output

2

Source

零起点学算法92——元素前移1位

Time Limit:1000MS Memory Limit:65536K

Total Submit:925 Accepted:591

Description

将数组所有元素前移一位(最前面的元素移到最后)然后输出移动后的数组

Input

多组测试数据,每组

第一行输入一个整数n(不大于20) 第二行输入n个整数

Output

输出前移一位后的数组

Sample Input

4

1 2 3 4

Sample Output

2 3 4 1

Source

零起点学算法93——矩阵转置

Time Limit:1000MS Memory Limit:65536K

Total Submit:3968 Accepted:1956

Description

现要求你把一个矩阵行列转置后输出,注意行数和列数可能不相同的。

Input

多组测试数据,每组测试数据先在一行输入n 和m ,表示这个矩阵的行数和列数(1 < n,m <= 10)

然后是n行m列的一个矩阵

Output

对于每组测试数据输出转置后的矩阵

Sample Input

3 2 1 2 3 4 5 6

Sample Output

1 3 5 2 4 6

Source

yhr

零起点学算法94——输出矩阵

Time Limit:1000MS Memory Limit:65536K

Total Submit:1054 Accepted:659

Description

输出n*m的矩阵

Input

多组测试数据

每组输入2个整数 n和m(不大于20)

Output

输出n*m的矩阵,要求左上角元素是1,然后从左到右 从上到下依次增大

Sample Input

3 4

Sample Output

1 2 3 4 5 6 7 8 9 10 11 12

Source

零起点学算法95——弓型矩阵

Time Limit:1000MS Memory Limit:65536K

Total Submit:987 Accepted:456

Description

输出n*m的弓型矩阵

Input

多组测试数据

每组输入2个整数 n和m(不大于20)

Output

输出n*m的弓型矩阵,要求左上角元素是1,(每个元素占2个位置,靠右)

Sample Input

4 3

Sample Output

1 2 3 6 5 4 7 8 9 12 11 10

Source

零起点学算法96——回型矩阵

Time Limit:1000MS Memory Limit:65536K

Total Submit:336 Accepted:166

Description

输出n*m的回型矩阵

Input

多组测试数据

每组输入2个整数 n和m(不大于20)

Output

输出n*m的回型矩阵,要求左上角元素是1,(每个元素占2个位置,靠右)

Sample Input

4 3

Sample Output

1 2 3 10 11 4 9 12 5 8 7 6

Source

零起点学算法97——进制转换

Time Limit:1000MS Memory Limit:65536K

Total Submit:1023 Accepted:677

Description

输入一个十进制数N,将它转换成R进制数输出。

Input

输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

Output

为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。

Sample Input

7 2 23 12 -4 3

Sample Output

111 1B -11

Source

hdu2031

零起点学算法98——反话连篇

Time Limit:1000MS Memory Limit:65536K

Total Submit:831 Accepted:400

Description

把输入的字符按照反着顺序输出

Input

多组测试数据 每组一行

Output

按照输入的顺序反着输出各个字符

Sample Input

I am a boy.

Sample Output

.yob a ma I

Source

零起点学算法101——统计字母数字等个数

Time Limit:1000MS Memory Limit:65536K

Total Submit:4526 Accepted:1861

Description

输入一串字符,统计这串字符里的字母个数,数字个数,空格字数以及其他字符(最多不超过100个字符)

Input

多组测试数据,每行一组

Output

每组输出一行,分别是字母个数,数字个数,空格字数以及其他字符个数

Sample Input

I am a student in class 1. I think I can!

Sample Output

18 1 6 1 10 0 3 1

Hint

char str[100];//定义字符型数组

while(gets(str)!=NULL)//多组数据 {

//输入代码

for(i=0;str[i]!='\\0';i++)//gets函数自动在str后面添加'\\0'作为结束标志 {

//输入代码 }

//字符常量的表示, 'a'表示字符a; '0'表示字符0;

//字符的赋值

str[i]='a';//表示将字符a赋值给str[i] str[i]='0';//表示将字符0赋值给str[i] }

Source

零起点学算法102——删除字符

Time Limit:1000MS Memory Limit:65536K

Total Submit:3033 Accepted:1335

Description

从键盘输入任意一个字符串和一个字符,要求从该字符串中删除所有该字符。

Input

输入有多组测试数据。

每组两行,第一行是字符串(字符串至少还有一个字符,不多于100个),第二行是一个字符

Output

每组输出一行,删除了所有应删除字符后的字符串

Sample Input

ABCDE E

ASD Dfg fhd D

Sample Output

ABCD AS fg fhd

Hint

char str[100],a;

while(gets(str)!=NULL)//多组测试数据 {

scanf(\

getchar();//注意加这一行,它的作用是将上一行输入的回车符号'\\n'符号读入

for(i=0;str[i]!='\\0';i++) {

//写代码;找到a,用循环语句将数组左移1位置 }

//写代码;输出删除a后的数组 }

return 0; }

Source

yhr

零起点学算法103——查找最大元素

Time Limit:1000MS Memory Limit:65536K

Total Submit:1201 Accepted:655

Description

对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。

Input

输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字

符串仅由大小写字母构成。

Output

对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入\。

Sample Input

abcdefgfedcba xxxxx

Sample Output

abcdefg(max)fedcba

x(max)x(max)x(max)x(max)x(max)

Source

hdu2025

零起点学算法105——C语言合法标识符

Time Limit:1000MS Memory Limit:65536K

Total Submit:1496 Accepted:602

Description

输入一个字符串,判断其是否是C的合法标识符。

Input

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。

Output

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出\,否则,输出“no”。

Sample Input

3 12ajf fi8x_a ff ai_2

Sample Output

no

yes no

Hint

C语言的标识符指保留字(for,int,if等)和用户定义的变量名。

C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或者下划线。

Source

hdu2024

零起点学算法106——首字母变大写

Time Limit:1000MS Memory Limit:65536K

Total Submit:2559 Accepted:896

Description

输入一个英文句子,将每个单词的第一个字母改成大写字母。

Input

输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。

Output

请输出按照要求改写后的英文句子。

Sample Input

i like acm

i want to get an accepted

Sample Output

I Like Acm

I Want To Get An Accepted

Source

hdu2026

零起点学算法107——统计元音

Time Limit:1000MS Memory Limit:65536K

Total Submit:1032 Accepted:479

Description

统计每个元音字母在字符串中出现的次数。

Input

输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串,只由小写字母组成。

Output

对于每个测试实例输出5行,格式如下: a:num1 e:num2 i:num3 o:num4 u:num5

多个测试实例之间由一个空行隔开。

请特别注意:最后一块输出后面没有空行:)

Sample Input

2 aeiou

my name is ignatius

Sample Output

a:1 e:1 i:1 o:1 u:1 a:2 e:1 i:3 o:0 u:1

Source

hdu2027

零起点学算法108——Palindromes _easy version

Time Limit:1000MS Memory Limit:65536K

Total Submit:1304 Accepted:542

Description

“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

Input

输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。每个字符串长度不超过150。

Output

如果一个字符串是回文串,则输出\否则输出\

Sample Input

4 level abcde noon haha

Sample Output

yes no yes no

Source

hdu2029

零起点学算法109——单数变复数

Time Limit:1000MS Memory Limit:65536K

Total Submit:922 Accepted:505

Description

英文单词,我们可以按照英语语法规则把单数变成复数。规则如下: (1)以辅音字母y结尾,则加es (2)以s,x,ch,sh结尾,则加es (3)以元音o结尾,则加es (4)其他情况加上s

Input

第一行输入一个数字n,表示有n组测试数据 后面跟n行,每行是一个英语单词

Output

对于每组测试数据,输出一行,要求将输入的英文单词变成复数

Sample Input

2 book fish

Sample Output

books fishes

Source

yhr

零起点学算法110——绝对公正的裁判

Time Limit:1000MS Memory Limit:65536K

Total Submit:306 Accepted:185

Description

错误!

大家知道我们学校的OnlineJudge吗?,你知道他会告诉你什么呢?

Compiling : 您提交的代码正在被编译。Running : 您的程序正在OJ上运行。Judging : OJ正在检查您程序的输出是否正确。Accepted (AC) : 您的程序是正确的,恭喜!Presentation Error (PE) : 虽然您的程序貌似输出了正确的结果,但是这个结果的格式有点问题。请检查程序的输出是否多了或者少了空格(' ')、制表符('\\t')或者换行符('\\n')。Wrong Answer (WA) : 输出结果错,这个一般认为是算法有问题。Runtime Error (RE) : 运行时错误,这个一般是程序在运行期间执行了非法的操作造成的。以下列出常见的错误类型:

1、您的程序想从一些非法的地址空间读取或向其中写入内容。一般例如指针、数组下标越界都会造成这个错误的。

2、您的程序试图访问一个超出硬件支持范围的数组单元。

3、进行了一个非正常的浮点操作。一般是由于一个非正常的浮点数参与了浮点操作所引起的,比如这个数的浮点格式不正确。 4、浮点数除法出现除数为零的异常。

5、在进行整数除法的时候出现了除数为零的异常。

6、栈溢出。一般是由于无限递归或者在函数里使用了太大的数组变量的原因。 ...... 其他错误,包括C++标准库/STL运行时库错误等,这里不再举例。

Time Limit Exceeded (TLE) : 您的程序运行的时间已经超出了这个题目的时间限制。Memory Limit Exceeded (MLE) : 您的程序运行的内存已经超出了这个题目的内存限制。Output Limit Exceeded (OLE) : 您的程序输出内容太多,超过了这个题目的输出限制。Compilation Error (CE) : 您的程序语法有问题,编译器无法编译。具体的出错信息可以点击链接察看。 Out Of Contest Time : 超出比赛时间,这个信息只有在比赛的时候才会出现。

Sample Input

2

Sample Output

4

Source

零起点学算法33——求多项式(含浮点)

Time Limit:1000MS Memory Limit:65536K

Total Submit:1860 Accepted:877

Description

输入一个整数n,计算

1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...+2n-1)的值

Input

输入一个整数n

Output

输出1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...+2n-1)的值,保留2位小数

Sample Input

1

Sample Output

1.00

Source

零起点学算法34——3n+1问题

Time Limit:1000MS Memory Limit:65536K

Total Submit:1148 Accepted:908

Description

任给一个正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1(即3n+1)。不断重复这样的运算,经过有限步后,一定可以得到1 。

Input

输入1个正整数n(n <= 10^9)

Output

输出变化的次数

Sample Input

3

Sample Output

7

Hint

使用 while 循环

使用 while 语句在条件成立时重复某动作,类似于 if 语句,只要条件为 true 就重复动作。

while 循环计算一个表达式的值,如果表达式为 true,则会执行循环体中的代码。如果条件计算结果为 true,在循环返回以再次计算条件前执行一条语句或一系列语句。条件计算结果为 false 后,则跳过语句或一系列语句并结束循环。在不确定要将一个代码块循环多少次时,使用 while 循环可能会非常有用。

例如,下面的代码将数字显示到\输出\面板中:

var i:Number = 0; while (i < 5) {

trace(i); i++; }

您会看到以下数字显示到\输出\面板中: 0 1 2 3 4

使用 while 循环而非 for 循环的一个缺点是,在 while 循环中更有可能编写出无限循环。如果遗漏递增计数器变量的表达式,则 for 循环示例代码将无法编译;而 while 循环示例代码将能够编译。若没有递增 i 的表达式,循环将成为无限循环。

Source

零起点学算法35——求阶乘

Time Limit:1000MS Memory Limit:65536K

Total Submit:2028 Accepted:1612

Description

输入一个正整数n(n<10),计算它的阶乘

Input

输入一个正整数n(n<10)

Output

输出n的阶乘

Sample Input

3

Sample Output

6

Source

零起点学算法36——求阶乘和

Time Limit:1000MS Memory Limit:65536K

Total Submit:1380 Accepted:919

Description

输入一个正整数n(n<10),计算 S=1!+2!+3!+...+n!

Input

输入一个正整数n(n<10),

Output

输出S

Sample Input

2

Sample Output

3

Source

零起点学算法37——多组测试数据(a+b)

Time Limit:1000MS Memory Limit:65536K

Total Submit:2734 Accepted:1891

Description

计算a+b.很多的题目测试数据会有很多组的,一般我们的在线系统没写具体要求的时候,输入是以EOF为结束的。这题的基本框架如下:

int main() {

int a,b;

while(scanf(\ //特别注意这行的写法 {

...//求和

...//输出 } }

scanf函数是有返回值的,如果从键盘上成功读入一个数,那么返回值就是1,如果成功读入2个,则返回2。如果处理到文件末尾,则返回EOF

特别注意:题目的要求实际上是指每组数据输入结束后,马上输出这组的结果,而不是等所有数据输完后才输出结果

Input

输入为多组测试数据。每组一行,每行输入2个整数a和b

Output

对于每组测试数据,输出一行,输出a+b的值,直到文件末尾

Sample Input

2 3 4 5 7 8

Sample Output

5 9 15

Hint

更多输入输出的练习可以做做1000 1271~1275题

Source

零起点学算法38——多组测试数据(a+b)II

Time Limit:1000MS Memory Limit:65536K

Total Submit:2429 Accepted:1727

Description

同样是计算a+b

同样是多组测试数据,但有的题目要求先输入一个整数n表示测试数据个数,然后是n组测试数据。对于这类题目大家可以采用下面的形式,不需要再用EOF:

int main() {

int n;

int i,a;

scanf(\输入测试数据组数

for(i=1;i<=n;i++)//循环n次

{

现在,要求如果输入一个缩写短语,要求输出原型,具体看样例。

Input

The first line is integer T(T <= 20), the number of test cash case 第一行为一个数T(T<=20),为测试数据的数目 接下来,有T行分别输入一个缩写(缩写只包括AC,PE,WA,RE,TLE,MLE,OLE,CE)

Output

对于每组测试数据输出一行为着这缩写的原型

Sample Input

8 AC PE WA RE TLE MLE OLE CE

Sample Output

Accepted

Presentation Error Wrong Answer Runtime Error

Time Limit Exceeded Memory Limit Exceeded Output Limit Exceeded Compilation Error

Source

style_luo

零起点学算法111——英雄是否能救美?

Time Limit:1000MS Memory Limit:65536K

Total Submit:463 Accepted:224

Description

有一天火星上一个美女在一座高楼上晒衣服,不小心掉下来了,这是在地面上的英雄刚好看到,英雄很喜欢救美,他想知道是否自己来的跑到美女的正下方抱住她。

假设美女所在的楼层高度H m,火星的重力加速度为 G=11.1 m/(s^2),没有其它阻力(如空气阻力)做自由落体运动。美女开始落下时英雄离这楼水平距离为 D m,英雄的跑步速度为V(匀速运动)。

Input

第一行为一个数T(T<=20),为测试数据的数目。

接下来,有T行分别 有三个浮点数 H,D,V,意思如题所述。

Output

对于每组测试数据占一行,如果英雄能救美输出“YES”,否则输出“NO”。

Sample Input

2

1.0 1.0 1.0 10.0 1.0 10.0

Sample Output

NO YES

Source

零起点学算法112——牛牛

Time Limit:1000MS Memory Limit:65536K

Total Submit:633 Accepted:164

Description

牛牛是一种纸牌游戏,总共5张牌,规则如下:

如果找不到3张牌的点数之和是10的倍数,则为没牛;

如果其中3张牌的点数之和是10的倍数,则为有牛,剩下两张牌的点数和对10取余数,余数是几,就是牛几,特别的当余数是0的时候是牛牛; 例如: 1 2 3 4 5, 1 + 4 + 5 = 0 (mod 10),2 + 3 = 5(mod 10), 为牛5。

Input

第一行输入一个整数T(T <= 100),表示有几组数据。每组数据占一行,5 个数, 每个数的范围都是1到10。

Output

见样例。

Sample Input

3

1 1 1 1 1 1 2 3 4 5 1 9 10 10 10

Sample Output

Case #1: Mei Niu Case #2: Niu 5 Case #3: Niu Niu

Source

wy

零起点学算法113——统计单词个数

Time Limit:1000MS Memory Limit:65536K

Total Submit:536 Accepted:248

Description

输入一行字符(少于80个字符),以回车结束,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。

Input

输入一字符串,以回车结束。

Output

输出该字符串中单词的个数

Sample Input

This is a c program.

Sample Output

5

Source

jc_p118_2

统计每个字母个数

Time Limit:1000MS Memory Limit:65536K

Total Submit:1534 Accepted:534

Description

输入一段英文(字数小于100),以回车结束,统计其中的每个字母出现次数,不区分大小字。

Input

多组测试数据,每组输入一段英文(字数小于100),以回车结束

Output

输出每个字母出现的次数(次数为零的不输出) 每组数据后面输出一个空行

Sample Input

Welcome to c world.

Sample Output

c: 2 d: 1 e: 2 l: 2 m: 1 o: 3 r: 1 t: 1 w: 2

Source

零起点学算法01——第一个程序Hello World!

Time Limit:1000MS Memory Limit:65536K

Total Submit:3018 Accepted:1744

Description

很开心开始学习算法了。

很多人觉得算法这个字很高深,其实算法很常见,并不是很高深,当然也有很高深的算法。

那么什么是算法呢?

说的通俗一点,算法就是解决一个问题或任务的方法和步骤。 比如说做这题题目有没有算法?当然有拉。

那做3800的算法是什么呢?下面就是其中一个算法: (1)打开网站http://acm.zstu.edu.cn

(2)注册一个账号或登录已经注册的账号 (3)找到3800这道题目 (4)阅读题目

(5)打开计算机中的C-free或其他C语言编程集成环境 (6)编写程序 (7)调试 (8)提交

原来这就是算法啊!会了?

好,那么以后就跟着老师把算法学好哦。现在假设你一点基础没有,跟着老师把这页的题目做完了,然后你就可以学习一些高深的算法。有兴趣的同学还可以参加ACM程序设计竞赛哦。竞赛这个词也不要害怕,并不是太高深的字眼,如果你认真学习,你完全有可能成为比浙大 90%的人要强的人。 你可以学会更好的思维, 你可以掌握计算机这个工具,

你可以解决很多你从来没碰到过的问题,

你可以在毕业后找到比别人高3倍 5倍 甚至10倍工资的好工作, ......

如果你对这个竞赛感兴趣,不需要任何基础,就可以直接联系叶老师(email:yehr@zstu.edu.cn).

不感兴趣也不要紧,学好这门课,你绝对不会吃亏。 那么我们开始来写第一个程序吧。

Input

这个程序没有输入。

Output

输出\不含引号),并换行。

Sample Input Sample Output

Hello World!

Hint

换行该怎么办?

\\n是换行的转义字符,输出时写上它就换行了

可能很多同学会在一些书上看到这题的代码:

void main() {

printf(\ }

这个代码你可以在很多的编程环境里能正常运行,但在我们这里行不通,我们这里的编译器采用的是标准C.

对于初学者,你必须注意以下几点:

1 函数的返回类型应该为int,不能用void,所以应写成int main()

2 使用了printf函数,你应该包含进stdio.h,所以在最开头应该写上#include ,或许你在有的编程环境里这个不写也可以,但在我们这里却行不通

3 最好在main函数最后一个}前写上return 0;,该语句主要是预防某些编译器报错,写上该语句,几乎所有编译器都可以通过。

4 一定要养成良好的编程习惯,该缩进的缩进,该对齐的要对齐,适当的要加注释。

5 当然也不要忘了先让程序在本地能正常运行,只有调试成功后,才在线提交。

Source

零起点学算法02——输出简单的句子

Time Limit:1000MS Memory Limit:65536K

Total Submit:2655 Accepted:2065

Description

会输出Hello World!了,那换个句子也会吧?

Input

没有输入

Output

现在要求你输出下面红色的字 Nice to meet you!

Sample Input Sample Output

Nice to meet you!

Source

零起点学算法03——超简单模仿算术题

Time Limit:1000MS Memory Limit:65536K

Total Submit:2283 Accepted:2002

Description

计算机计算能力很强哦。

让计算机帮你算其实也很容易,不过要学好计算机语言哦。 下面请看一个例子:要求计算机计算1+2的值并输出。 这个程序非常简单,请看下面蓝色字体的就是程序代码:

#include

int main() {

printf(\

return 0;

}

Input

没有输入

Output

输出10-7的值

Sample Input Sample Output

3

Hint

非常简单吧!抄下来改一下就OK了。

Source

零起点学算法04——再模仿一个算术题

Time Limit:1000MS Memory Limit:65536K

Total Submit:2108 Accepted:1969

Description

上题会模仿了吧。再来模仿一个。 现在要求你模仿一个乘法的算术题

Input

没有输入

Output

输出9乘以10的值

Sample Input Sample Output

90

Hint

啊,不会?不会吧。哦 忘了告诉你了 在C语言中乘号用星号*表示.

这下简单了吧

Source

零起点学算法05——除法算术题

Time Limit:1000MS Memory Limit:65536K

Total Submit:2059 Accepted:1895

Description

乘法会了,除法也一样的。不要跟我说不会哦。

Input

没有输入

Output

输出12除以2的值,计算让计算机去做哦

Sample Input Sample Output

6

Hint

非常简单吧?啊,又不会啊!原来计算机的语言跟人类的语言果然有点区别。除号用的是这个红色的符号/

Source

零起点学算法06——再来一题除法算术题

Time Limit:1000MS Memory Limit:65536K

Total Submit:2626 Accepted:1920

Description

Input

没有输入

Output

输出8除以5,保留1位小数

Sample Input Sample Output

1.6

Hint

什么?你交上来不对?本地有没有调试过?没有?赶快在本地先试。

你输出的结果是1?哦,忘了告诉你了,在C语言里2个整数相除结果还是整数,8除以5是1.5,因为保留整数部分,所以结果是1拉 那应该怎么样得到1.5呢? 还记得那个%d吗?

这个就是控制输出的格式控制符 %d 输出整数

%f 输出带小数的数(浮点数)

保留一位小数,就用%.1f,保留2位小数呢?会不会? 哦,还要注意,要把8改成8.0

Source

零起点学算法07——复杂一点的表达式计算

Time Limit:1000MS Memory Limit:65536K

Total Submit:2829 Accepted:1906

Description

下面你来计算一个复杂一点的计算表达式

Input

没有输入

Output

输出表达式的值,保留2位小数

Sample Input Sample Output Hint

啊,开根号不会做啊?

哦,告诉你吧,调用数学函数就可以了 sqrt(3.0)就是根号3

,不过不要忘了在最前面要加上这个头文件哦 #include

Source

零起点学算法08——简单的输入和计算(a+b)

Time Limit:1000MS Memory Limit:65536K

Total Submit:2872 Accepted:1944

Description

前面7道题做下来,对输出和计算有点感觉了吧?

不过很可惜的是前面的做法,好像太死了,写了一个计算3+4的程序,计算5+6又得改程序,计算机真的只能这么实现,那么我们比计算机还累。 现在来点新的东西。

你能写一个可以计算任意2个输入数的和吗?

Input

输入2个整数,中间用空格隔开

Output

输出他们的和

Sample Input

2 5

Sample Output

7

Hint

啊,输出不会啊?看书呀。 算了,为了省时间,告诉你吧

输入一个整数,并把整数保存到变量a里 首先定义变量a int a;

然后从键盘输入,保存到变量a中 scanf(\&a);

输入2个整数,分别保存到a 和b 中会写吗? scanf(\&a,&b); 输入3个整数呢?

Source

零起点学算法09——继续练习简单的输入和计算

(a-b)

Time Limit:1000MS Memory Limit:65536K

Total Submit:2087 Accepted:1851

Description

简单吧,不用多说了

Input

输入2个整数a,b,用空格隔开

Output

输出a-b的值

Sample Input

6 4

Sample Output

2

Source

零起点学算法10——求圆柱体的表面积

Time Limit:1000MS Memory Limit:65536K

Total Submit:4899 Accepted:1671

Description

Input

输入底面半径r和高h

Output

输出圆柱体的表面积,保留3位小数

Sample Input

3.5 9

Sample Output

Area=274.889

Hint

pi

const double pi=4.0 * atan(1.0);

Source

零起点学算法11——求梯形面积

Time Limit:1000MS Memory Limit:65536K

Total Submit:3861 Accepted:1645

Description

Input

输入3个浮点数,分别表示上底、下底和高,中间用逗号隔开

Output

输出梯形的面积,保留2位小数

Sample Input

2,4,5

Sample Output

15.00

Hint

注意输入语句

3个数之间用逗号隔开的,

Source

零起点学算法12——求2个日期之间的天数

Time Limit:1000MS Memory Limit:65536K

Total Submit:2438 Accepted:1464

Description

Input

输入2个日期,日期按照年月日,年月日之间用符号-隔开

Output

求出这2个日期之间的天数(不包括自身)

Sample Input

2011-1-1 2011-1-5

Sample Output

3

Hint

为了简单之见,本题假设输入的是同年同月的2个日期,且第一个日期小于第2个日期

Source

零起点学算法13——求2个时间之间的分钟数

Time Limit:1000MS Memory Limit:65536K

Total Submit:1675 Accepted:1182

Description

输入2个时间,求2个时间之间的分钟数(不包括自身),为了简单之见假设这2个时间在同一天且前面的时间较小

Input

输入2行,分别是2个时间,时间小时与分钟之间用:隔开

Output

输出之间的分钟数

Sample Input

12:12 12:16

Sample Output

3

Source

零起点学算法14——三位数反转

Time Limit:1000MS Memory Limit:65536K

Total Submit:1813 Accepted:1305

Description

输入1个3位数,分离出它的百位、十位和个位,反转后输出

Input

输入1个3位整数

Output

输出3位整数的反转数

Sample Input

250

Sample Output

052

Hint

分离出各位数字可以用取余和除数

注意在C语言里,2个整数相乘除结果还是整数 比如8/3在C语言里结果是2 取余采用符号%

比如8%3的结果应该是2即8除以3后的余数

Source

零起点学算法15——交换变量

Time Limit:1000MS Memory Limit:65536K

Total Submit:1742 Accepted:1289

Description

输入2个整数,交换后输出

Input

输入2个整数

Output

交换后输出

Sample Input

825 23

Sample Output

23 825

Hint

在C语言里,交换可以用3变量法,要实现a和b交换,先将变量a的值保存到变量c,然后将变量b的值赋值给a,然后将c的值(最初a的值)赋值给b 赋值语句 c=a;

等号左边是一个变量,用来存放值,右边是一个表达式,计算这个表达式后保存到等号左边的变量中

Source

零起点学算法16——鸡兔同笼

本文来源:https://www.bwwdw.com/article/03bd.html

Top