
一些ACM题
jlran
这个作者很懒,什么都没留下…
展开
-
一得个数
题目描述:小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?输入第一行输入一个整数N,表示测试数据的组数(1每组测试数据只有一行,是一个整数M(0=输出每组测试输出占一行,输出M的二进制表示中1的个数样例输入3467样例输出123代码:# include int main(){ int n, sum = 0; scanf("%d",&n); while(原创 2016-09-29 10:56:27 · 170 阅读 · 0 评论 -
打印星星
# include int main(){ int n; scanf("%d",&n); /*打出星星1 正方形 for(int i = 1; i { for(int j =1; j { printf("*"); } printf("\n"); } */ /*打出星星2 for(int i = 1; i { for(int j = 1; j { printf("*"原创 2016-09-29 10:57:02 · 1114 阅读 · 0 评论 -
单词加密
# include int main(){ int n; char ch_lower,ch_upper; printf("请输入六个小写字母:"); for(n = 1; n { scanf("%c",&ch_lower); if(ch_lower >= 'a' && ch_lower ch_upper = ch_lower - 'a' + 'A';原创 2016-09-29 10:57:05 · 1947 阅读 · 0 评论 -
奋斗的小蜗牛
题目描述传说中能站在金字塔顶的只有两种动物,一种是鹰,一种是蜗牛。一只小蜗牛听了这个传说后,大受鼓舞,立志要爬上金字塔。为了实现自己的梦想,蜗牛找到了老鹰,老鹰告诉它金字塔高H米,小蜗牛知道一个白天自己能向上爬10米,但由于晚上要休息,自己会下滑5米。它想知道自己在第几天能站在金字塔顶,它想让你帮他写个程序帮助它。输入第一行有一个整数t,表示t组测试数据。第二行一个整数H(0输出输出一个整数n表示原创 2016-09-29 10:57:10 · 254 阅读 · 0 评论 -
荷兰国旗问题
题目描述荷兰国旗有三横条块构成,自上到下的三条块颜色依次为红、白、蓝。现有若干由红、白、蓝三种颜色的条块序列,要将它们重新排列使所有相同颜色的条块在一起。本问题要求将所有红色的条块放最左边、所有白色的条块放中间、所有蓝色的条块放最右边。输入第1行是一个正整数n(n输出对输入中每行上由R,W,B三种字符构成的字符串序列,将它们重新排列使所有相同颜色的条块在一起,满足前述要求。样例输入3BBRRWBW原创 2016-09-29 10:57:15 · 935 阅读 · 0 评论 -
猴子吃桃问题
题目描述有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m输入第一行有一个整数n,表示有n组测试数据(从第二行开始,每一行的数据为:第m天);输出每一行数据是桃子的总个数样例输入2311样例输出226142代码:# include int m = 1;void f(int原创 2016-09-29 10:57:18 · 230 阅读 · 0 评论 -
鸡兔同笼
题目描述: 已知鸡和兔的总数量为n,总腿数为m,输入n和m,依次输出鸡和兔的数量,如果无解,则输出“No answer(不要引号)”。 样例输入:14 32 样例输出: 12 2 样例输入: 10 16 样例输出:No answer代码:# include int main(){ int a,b,n,m; int n; scanf("%d",&n); scanf("%d%d",&n,&m);whi原创 2016-09-29 10:57:21 · 258 阅读 · 0 评论 -
开灯问题
题目描述: 有n盏灯,编号为1--n,第一个人把所有灯打开,第二个人按下所有编号为2的倍数的开关(这些灯将被关闭),第三个人 按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依次类推。一共有k个人,问最后有哪些 灯开着?输入n和k,输出开着的灯的编号。k 样例输入:7 3 样例输出:1 5 6 7代码:# include # include # define MAXN 1原创 2016-09-29 10:57:24 · 238 阅读 · 0 评论 -
题目766--回文数
题目描述请寻找并输出1至1000000之间的数m,它满足m、m^2和m^3均为回文数。回文数大家都知道吧,就是各位数字左右对称的整数,例如121、676、123321等。满足上述条件的数如m=11,m^2=121,m^3=1331皆为回文数。输入没有输入输出输出1至1000000之间满足要求的全部回文数,每两个数之间用空格隔开,每行输出五个数代码:# include int isHuiWenNum原创 2016-09-29 10:57:26 · 395 阅读 · 0 评论 -
小学生算术--题目74
/*描述很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。输入输入两个正整数m,n.(m,n,都是三位数)输出输出m,n,相加时需要进位多少次。样例输入123 456555 555123 5940 0样例输出03 1*/#include int main(){ int a1,原创 2016-09-29 10:57:29 · 354 阅读 · 0 评论 -
成绩转换
题目描述输入一个百分制的成绩M,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;输入第一行是一个整数N,表示测试数据的组数(N每组测试数据占一行,由一个整数M组成(0输出对于每组输入数据,输出一行。样例输入29780样例输出AB代码:#include int main(){ int n; scanf("%d",&n); whi原创 2016-09-29 10:56:59 · 793 阅读 · 0 评论 -
查找奥运五环色的位置,用指针数组实现
代码:# include # include int main(){ int i; char *color[5] = {"red","blue","yellow","green","black"}; //指针数组初始话 char str[20]; printf("Input a color:"); scanf("%s",str); for(i = 0; i if(strcmp(str,colo原创 2016-09-29 10:56:56 · 4852 阅读 · 1 评论 -
变量交换
题目描述:样例输入:824 16样例输出:16 824代码:/*用途更广,推荐使用# include int main(){ int n,m; scanf("%d%d",&n,&m); int t; t = n; n = m; m = t; printf("%d %d\n",n,m); return 0;}*//*理解提升# include int main(){ int a,b; s原创 2016-09-29 10:56:54 · 200 阅读 · 0 评论 -
3n+1问题
题目描述:对于任意大于的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。 例如:3->10->5->16->8->4->2->1 输入n,输出变换的次数。{n 样例输入:3 样例输出:7代码:1、# include int main(){ int n; int count = 0; scanf("%d",&n); while( n > 1) {原创 2016-09-29 10:56:29 · 184 阅读 · 0 评论 -
5个数求最值
描述设计一个从5个整数中取最小数和最大数的程序输入输入只有一组测试数据,为五个不大于1万的正整数输出输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。样例输入1 2 3 4 5样例输出1 5代码:# include int main(){ long a[6]; long min,max; for(int i = 0; i scanf("%ld",&a[i]原创 2016-09-29 10:56:32 · 196 阅读 · 0 评论 -
6174问题
问题:输入一个n位数,把所有数字从大到小排序得到a,从小到大得到b,然后用a-b替换原来这个数并且继续操作。1234 、4321-1234=3087、8730-378=8352、8532-2358=6174 样例输入:1234样例输出:1234->3087->8352->6074->6174代码:# include# include int num[2010],count;int next(int原创 2016-09-29 10:56:35 · 222 阅读 · 0 评论 -
7744问题
代码:1、# include int main(){ int x,n,hi,lo; for(x = 1;;x++) { n = x * x; if(n continue; if(n > 9999) break; hi = n / 100; lo = n % 100; if(hi / 10 == hi % 10 && lo /10 == lo % 10) printf("%原创 2016-09-29 10:56:37 · 332 阅读 · 0 评论 -
a letter and a number
题目描述we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26;Give you a letter x and a number y , you should output the result of y+f(x).输入On the first line, contains a number T(0原创 2016-09-29 10:56:40 · 291 阅读 · 0 评论 -
Cantor的数表
题目: 1/1 1/2 1/3 1/4 1/5 2/1 2/2 2/3 2/4 3/1 3/2 3/3 4/1 4/2 5/1 样例输入:3 14 7 12345 样例输出:2/1 4/2 1/4 99/59代码:1、# include int main(){ int n; while(scanf("%d",&n) == 1) { int k =原创 2016-09-29 10:56:43 · 206 阅读 · 0 评论 -
n-1位数
题目描述已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。输入第一行为M,表示测试数据组数。接下来M行,每行包含一个测试数据。输出输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。样例输入4102359239231000样例输出23923230代码:1、# include int main(){原创 2016-09-29 10:56:45 · 162 阅读 · 0 评论 -
tex括号
样例输入:"To be or not to be,"quoth the Bard,"that is the question".样例输出:“To be or not to be,”quoth the Bard,'“that is the question”.代码:# include int main(){ int c,q = 1; while((c = getchar()) != EOF) {原创 2016-09-29 10:56:48 · 524 阅读 · 0 评论 -
比较字母大小
题目描述任意给出两个英文字母,比较它们的大小,规定26个英文字母A,B,C.....Z依次从大到小。输入第一行输入T,表示有T组数据;接下来有T行,每行有两个字母,以空格隔开;输出输出各组数据的比较结果,输出格式见样例输出;(注意输出严格按照输入的顺序即输入是A B,输出时必须是A?B)样例输入3A BD DZ C样例输出A>BD=DZ代码:# include int main(){ int n;原创 2016-09-29 10:56:51 · 289 阅读 · 0 评论 -
最长回文串
/* 样例输入:Confuciuss say:Madam,I'm Adam. 样例输出:Madam,I'm Adam*/# include # include # include # define MAXN 5000 + 10char buf[MAXN],s[MAXN];int p[MAXN];int main(){ int n, m = 0, max = 0, x, y; int i, j; f原创 2016-09-29 10:57:32 · 245 阅读 · 0 评论