codeup
算法笔记codeup上面的题目
CodeWanted
高强度、多重复!
展开
-
简单模拟 - 问题 D: 比较奇偶数个数
题目描述第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。输入输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000)。输出如果偶数比奇数多,输出NO,否则输出YES。样例输入16770 69 24 78 58 62 64样例输出YESNO参考代码...原创 2021-03-29 11:04:25 · 160 阅读 · 0 评论 -
简单模拟 - 问题 C: 特殊乘法
题目描述写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35输入两个小于1000000000的数输出输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。样例输入24 6542 666663 67样例输出6618039参考代码#include<stdio.h>#include<string.h>int main() {原创 2021-03-27 10:41:06 · 143 阅读 · 0 评论 -
*简单模拟 - 问题 B: A+B
题目描述给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。现在请计算A+B的结果,并以正常形式输出。输入输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。输出请计算A+B的结果,并以正常形式输出,每组数据占一行。样例输入-234,567,890 123,456,7891,234 2,345,678样例输出-1111111012346912参考代码#include<stdio.h>#i原创 2021-03-26 13:03:03 · 139 阅读 · 0 评论 -
*简单模拟 - 问题 A: 剩下的树
题目描述有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,…,L共L+1个位置上有L+1棵树。现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。输入两个整数L(1<=L<=10000)和M(1<=原创 2021-03-26 10:19:58 · 131 阅读 · 0 评论 -
黑盒测试 - 问题 H: A+B 输入输出练习VIII
题目描述你的任务是计算若干整数的和。输入输入的第一行为一个整数N,接下来N行每行先输入一个整数M,然后在同一行内输入M个整数。输出对于每组输入,输出M个数的和,每组输出之间输出一个空行。样例输入34 1 2 3 45 1 2 3 4 53 1 2 3样例输出10156参考代码#include<stdio.h>int main() { int N; scanf("%d", &N); while (N--) {原创 2021-03-23 14:56:19 · 213 阅读 · 0 评论 -
黑盒测试 - 问题 G: A+B 输入输出练习VII
题目描述你的任务是计算两个整数的和。输入输入包含若干行,每行输入两个整数a和b,由空格分隔。输出对于每组输入,输出a和b的和,每行输出后接一个空行。样例输入1 510 20样例输出630参考代码#include<stdio.h>int main() { int a, b; while (scanf("%d%d", &a, &b) != EOF) { /* code */ printf("%d\n原创 2021-03-23 14:45:45 · 130 阅读 · 0 评论 -
黑盒测试 - 问题 F: A+B 输入输出练习VI
题目描述你的任务是计算若干整数的和。输入每行的第一个数N,表示本行后面有N个数。输出对于每一行数据需要在相应的行输出和。样例输入4 1 2 3 45 1 2 3 4 5样例输出1015参考代码#include<stdio.h>int main() { int N; while (scanf("%d", &N) != EOF) { /* code */ int M, sum = 0; fo原创 2021-03-23 14:40:49 · 155 阅读 · 0 评论 -
黑盒测试 - 问题 E: A+B 输入输出练习V
题目描述你的任务是计算若干整数的和。输入输入的第一行是一个正数N,表示后面有N行。每一行的第一个数是M,表示本行后面还有M个数。输出对于每一行数据需要在相应的行输出和。样例输入24 1 2 3 45 1 2 3 4 5样例输出1015参考代码#include<stdio.h>int main() { int N, M; scanf("%d", &N); while (scanf("%d", &M) != EOF) {原创 2021-03-23 14:08:50 · 146 阅读 · 0 评论 -
黑盒测试 - 问题 D: A+B 输入输出练习IV
题目描述你的任务是计算若干整数的和。输入每行的第一个数N,表示本行后面有N个数。如果N=0时,表示输入结束,且这一行不要计算。输出对于每一行数据需要在相应的行输出和。样例输入4 1 2 3 45 1 2 3 4 50样例输出1015...原创 2021-03-23 13:28:18 · 228 阅读 · 0 评论 -
黑盒测试 - 问题 C: A+B 输入输出练习III
题目描述你的任务是计算a+b。输入输入中每行是一对a和b。其中会有一对是0和0标志着输入结束,且这一对不要计算。输出对于输入的每对a和b,你需要在相应的行输出a、b的和。如第二对a和b,他们的和也输出在第二行。样例输入1 510 200 0样例输出630参考代码#include<stdio.h>int main() { int a, b; while (scanf("%d%d", &a, &b), a || b) {原创 2021-03-22 14:04:44 · 190 阅读 · 0 评论 -
黑盒测试 - 问题 B: A+B 输入输出练习II
题目描述你的任务是计算a+b。输入第一行是一个整数N,表示后面会有N行a和b,通过空格隔开。输出对于输入的每对a和b,你需要在相应的行输出a、b的和。如第二对a和b,对应的和也输出在第二行。样例输入 Copy21 510 20样例输出 Copy630参考代码#include<stdio.h>int main() { int N, a, b; scanf("%d", &N); while (N--) { /*原创 2021-03-22 13:25:41 · 217 阅读 · 0 评论 -
黑盒测试 - 问题 A: A+B 输入输出练习I
题目描述你的任务是计算a+b。这是为了acm初学者专门设计的题目。你肯定发现还有其他题目跟这道题的标题类似,这些问题也都是专门为初学者提供的。输入输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。输出对于输入的每对a和b,你需要依次输出a、b的和。如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。样例输入1 510 20样例输出630参考代码#include<stdio.h>int main() { int a, b; while原创 2021-03-22 11:21:23 · 202 阅读 · 0 评论 -
结构体 - 问题 C: C语言11.4
参考代码#include<stdio.h>struct { int num; char name[10]; char sex; char job; union { int class1;//class是关键字 char position[10]; }category;}stu_tch[100];int main() { int n; scanf("%d", &n); fo.原创 2021-03-21 21:29:30 · 488 阅读 · 0 评论 -
结构体 - 问题 E: C语言11.8
参考代码#include<stdio.h>struct Student { int num; char name[20]; int grade1; int grade2; int grade3; double average;}stu[10];//求出学生平均分void getAverage() { for(int i = 0; i < 10; i++) { scanf("%d %s %d %d %d".原创 2021-03-21 21:26:41 · 208 阅读 · 0 评论 -
结构体 - 问题 D: C语言11.7
题目描述编写两个函数input和print,分别用来输入5个学生的数据记录和打印这5个学生的记录。对于每一个学生,其记录包含了学号、名字、3门课程的成绩共5项。用主函数分别调用input和print函数进行输入和输出。要求使用结构体数组实现,结构体中包括了每个学生的5项记录。输入共有5行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的成绩(0至100之间的整数),用空格隔开。输出与输入格式相同,每行输出一个学生的所有记录。请注意行尾输出换行。样例输入10原创 2021-03-21 17:00:58 · 139 阅读 · 0 评论 -
结构体 - 问题 B: C语言11.2
题目描述定义一个结构体student,存储学生的学号、名字、性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出。结构体student的定义如下:struct student { int num; char name[20]; char sex; int age;};本题要求使用指向结构体数组的指针进行输入和输出。输入第一行有一个整数n,表示以下有n个学生的信息将会输入。保证n不大于20。以后的n行中,每一行包含对应学生的学号、名字、性别和年龄,用空格隔原创 2021-03-21 14:35:43 · 118 阅读 · 0 评论 -
*结构体 - 问题 A: C语言11.1
题目描述完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。结构体可以定义成如下的格式:struct person { char name[20]; int count;}leader[3] = {“Li”, 0, “Zhang”, 0, “Fun”, 0};输入第一行有一个整数n,表示以下有n张选票信息将会输入。保证n不大于100。以后的n行中,每原创 2021-03-20 16:16:06 · 161 阅读 · 0 评论 -
指针 - 问题 E: C语言10.16
题目描述输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。输入用空格隔开的10个整数。输出输出进行题目描述操作之后的10个整数,每个整数之后输出一个空格。请注意行尾输出换行。样例输入1 5 2 4 9 0 3 8 7 6样例输出0 5 2 4 6 1 3 8 7 9参考代码1. 不用指针#include<stdio.h>//输入十个数void Inp转载 2021-03-19 13:39:31 · 120 阅读 · 0 评论 -
指针 - 问题 D: C语言10.15
题目描述输入3个字符串,按从小到大的顺序输出。要求使用指针的方法进行处理。输入3行,每行一个用字符串。保证每个字符串的长度不超过20。输出按从小到大的顺序输出这3个字符串,每个字符串一行。请注意行尾输出换行。样例输入ChinaCLOCKdeal样例输出CLOCKChinadeal参考代码#include<stdio.h>#include<string.h>//交换指针指向void swap(char *&a, char *&b)原创 2021-03-19 12:34:05 · 83 阅读 · 0 评论 -
指针 - 问题 C: C语言10.10
题目描述给定字符串定义char *a = “I love China!”,读入整数n,输出在进行了a = a + n这个赋值操作以后字符指针a对应的字符串。输入一个整数n,保证0<=n<13.输出输出进行了题目描述中赋值操作之后a对应的字符串。请注意行尾输出换行。样例输入 Copy7样例输出 CopyChina!参考代码#include<stdio.h>#include<string.h>int main() { char *a =原创 2021-03-19 11:20:24 · 336 阅读 · 0 评论 -
指针 - 问题 B: C语言10.2
题目描述输入a、b、c三个整数,按先大后小的顺序输出a、b和c。注意请使用指针变量的方式进行比较和输出。输入三个用空格隔开的整数a、b和c。输出按先大后小的顺序输出a、b和c,用空格隔开。请注意行尾输出换行。样例输入 Copy9 0 10样例输出 Copy10 9 0参考代码#include<stdio.h>/* 算法思路: 比较两个值大小:直接比较即可 三个数的排序: 先将前两个进行比较大小,如果第一原创 2021-03-18 11:22:17 · 113 阅读 · 0 评论 -
指针 - 问题 A: C语言10.1
题目描述输入a和b两个整数,按先大后小的顺序输出a和b。注意请使用指针变量的方式进行比较和输出。输入两个用空格隔开的整数a和b。输出按先大后小的顺序输出a和b,用空格隔开。请注意行尾输出换行。样例输入 Copy5 9样例输出 Copy9 5参考代码#include<stdio.h>void compare(int *a, int *b) { if(*a > *b) { printf("%d %d", *a, *b); } else原创 2021-03-18 10:22:00 · 127 阅读 · 0 评论 -
*函数 - 问题 B: 习题7-7 复制字符串中的元音字母
题目描述写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。输入一个字符串(一行字符)。输出该字符串所有元音字母构成的字符串。行尾换行。样例输入 CopyCLanguage样例输出 Copyauae提示可以采用如下函数原型void vowels(char s1[], char s2[]);参考代码#include<stdio.h>#include<strin原创 2021-03-17 10:45:37 · 259 阅读 · 0 评论 -
函数 - 问题 A: 习题7-5 字符串逆序存放
题目描述写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。输入一行字符串。输出输入字符串反序存放后的字符串。单独占一行。样例输入 Copyabcd样例输出 Copydcba参考代码#include<stdio.h>#include<string.h>void reserve(char str[]) { //一维数组不需要填写数组长度,二维数组只需要填写第二维度的长度 int le原创 2021-03-17 09:39:14 · 274 阅读 · 0 评论 -
数组 - 问题 J: 例题6-9 字符串求最大值
题目描述从键盘上输入3个字符串,求出其中最大者。输入输入3行,每行均为一个字符串。输出一行,输入三个字符串中最大者。样例输入 CopyEnglandChinaAmerica样例输出 CopyEngland参考代码#include<stdio.h>#include<string.h>int main() { char str1[10],str2[10],str3[10]; gets(str1); gets(str2); gets(原创 2021-03-16 15:43:00 · 137 阅读 · 0 评论 -
数组 - 问题 I: 例题6-4 矩阵转置
题目描述将一个2行3列的矩阵(二维数组)行列互换,存储到另一个3行2列的矩阵中。要求以整型数据为例来解答。输入输入2行数据,每行3个整数,以空格分隔。输出行列互换后的矩阵,3行,每行2个数据,以空格分隔。样例输入 Copy1 2 34 5 6样例输出 Copy1 42 53 6参考代码#include<stdio.h>int main() { int a[2][3], b[3][2]; for(int i = 0; i < 2; i++) {原创 2021-03-16 15:19:10 · 438 阅读 · 0 评论 -
数组 - 问题 H: 例题6-3 冒泡排序
题目描述从键盘上输入10个整数,用冒泡法对这10个数进行排序(由小到大)。输入以空格分隔的10个整数输出依次输出排好序的10个整数,每个数占一行。样例输入 Copy1 3 5 7 9 2 4 6 8 0样例输出 Copy0123456789参考代码#include<stdio.h>int main() { int num[10]; for(int i = 0; i < 10; i++) { scanf("%d",原创 2021-03-16 13:15:45 · 187 阅读 · 0 评论 -
*数组 - 问题 G: 例题6-2 数组求解Fibonacci数列问题
题目描述Fibonacci数列的特点:第1,2个数为1,1。从第3个数开始,概述是前面两个数之和。即:要求输出Fibonacci数列的前20个数。输入无输出Fibonacci数列的前20个数,每个数占一行。样例输入 Copy无样例输出 Copy11235813213455891442333776109871597258441816765参考代码#include<stdio.h>int main() { int n1 = 1,原创 2021-03-16 12:33:55 · 211 阅读 · 0 评论 -
数组- 问题 F: 例题6-1 逆序输出数组元素
题目描述从键盘上输入10个整数,存储在一个长度为10的整型数组中,要求将输入的10个数逆序输出。如输入为:0,1,2,3,4,5,6,7,8,9 输出为9,8,7,6,5,4,3,2,1,0输入10个整数,以空格分隔输出将输入的10个整数逆序输出,每个数占一行。样例输入 Copy0 1 2 3 4 5 6 7 8 9样例输出 Copy9876543210...原创 2021-03-16 10:16:50 · 166 阅读 · 0 评论 -
数组 - 问题 E: 习题6-13 字符串比较
题目描述比较两个字符串s1和s2的大小,如果s1>s2,则输出一个正数;若s1=s2,则输出0;若s1<s2,则输出一个负数。要求:不用strcpy函数;两个字符串用gets函数读入。例如:“A"与"C"相比,由于"A”<“C”,应输出负数,同时由于"A"与"C"的ASCII码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较的结果,“n"比"i"大5,因此应该输出"5”输入输入2行字符串输出一个整数,表示这两个字符串 比较的差值,单独占一行原创 2021-03-15 17:13:21 · 118 阅读 · 0 评论 -
*数组-问题 D: 习题6-12 解密
题目描述有一行电文,已按如下规律译成密码:A–>Z a–>zB–>Y b–>yC–>X c–>x… …即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。输入输入一行密文输出解密后的原文,单独占一行。样例输入 CopyZYX123zyx样例输出 CopyABC123abc参考代码#include<stdio.h&原创 2021-03-15 14:16:30 · 161 阅读 · 0 评论 -
*数组-问题 C: 习题6-6 杨辉三角
题目描述按要求输入如下格式的杨辉三角11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1最多输出10层输入输入只包含一个正整数n,表示将要输出的杨辉三角的层数。输出对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开样例输入 Copy5样例输出 Copy11 11 2 11 3 3 11 4 6 4 1参考代码#include<stdio.h>/* 错误思想:不能直接写num[n.原创 2021-03-14 16:11:07 · 272 阅读 · 0 评论 -
数组-问题 B: 习题6-5 数组元素逆置
题目描述将一个长度为10的整型数组中的值按逆序重新存放。如:原来的顺序为1,2,3,4,5,6,7,8,9,0,要求改为0,9,8,7,6,5,4,3,2,1输入从键盘上输入以空格分隔的10个整数。输出按相反的顺序输出这10个数,每个数占一行。样例输入1 2 3 4 5 6 7 8 9 0样例输出0987654321参考代码#include<stdio.h>int main() { int num[10]; for(i.原创 2021-03-13 16:07:33 · 555 阅读 · 1 评论 -
数组-问题 A: 习题6-4 有序插入
题目描述有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。然后再从键盘上输入一个整数,将此整数插入到前有序的9个数中,使得最终的10个数依然是从小到大有序的。输入第一行输入以空格分隔的9个整数数,要求按从小到大的顺序输入。第二行输入一个整数输出从小到大输出这10个数,每个数一行。样例输入 Copy1 11 21 31 41 51 6.原创 2021-03-13 15:36:16 · 415 阅读 · 0 评论 -
问题 I: 习题5-10 分数序列求和
题目描述有如下分数序列求出次数列的前20项之和。 请将结果的数据类型定义为double类型。输入无输出小数点后保留6位小数,末尾输出换行。样例输入 Copy无样例输出 Copy32.660261题解#include<stdio.h>int main() { double i = 1, j = 2, num, temp; //i,j当作分子分母,num为分数,temp用来临时存储变量 int count; //用来计数 doubl原创 2021-03-06 16:13:18 · 332 阅读 · 0 评论 -
问题 H: 例题5-8 Fibonacci数列
题目描述输入一个正整数n,求Fibonacci数列的第n个数。Fibonacci数列的特点:第1,2个数为1,1。从第3个数开始,概述是前面两个数之和。即:要求输入的正整数n不超过50.输入一个不超过50的正整数输出Fibonacci数列的第n个数,末尾输出换行。样例输入 Copy20样例输出 Copy6765题解#include<stdio.h>int main() { int n, i, F, F1 = 1, F2 = 1;原创 2021-03-06 15:36:00 · 323 阅读 · 0 评论 -
问题 G: 例题5-7 求圆周率pi的近似值
题目描述用如下公式 求圆周率PI的近似值,直到发现某一项的绝对值小于10-6为止(该项不累加)。要求输出的结果总宽度占10位,其中小数部分为8位。程序中使用浮点型数据时,请定义为双精度double类型。如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).输入无输出PI=圆周率的近似值输出的结果总宽度占10位,其中小数部分为8位。末尾输出换行。样例输入 Copy无样例输出 CopyPI=3.14159065代码#inc原创 2021-03-05 20:17:03 · 292 阅读 · 0 评论
分享