c语言
文章平均质量分 64
fu_gui_mu_dan
这个作者很懒,什么都没留下…
展开
-
给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中
Problem Description给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中位数为排序后中间两个数和的一半,即N/2和(N/2)+1处。但是需要注意的是原始序列可能是未排序的。你的任务就是编程找出给定序列中的中位数。Input第一行只有一个整数N,表示序列的长度。接下来就是N个数,每个数占一行,序列的长度范围为1到250000。序列中的每个原创 2020-12-09 19:00:41 · 1148 阅读 · 0 评论 -
对于一个正整数n的分划就是把n写成一系列正整数之和的表达式。例如,对于正整数n=6,它可以分划为:
Problem Description对于一个正整数n的分划就是把n写成一系列正整数之和的表达式。例如,对于正整数n=6,它可以分划为:6 5+1 4+2, 4+1+1 3+3, 3+2+1, 3+1+1+1 2+2+2, 2+2+1+1, 2+1+1+1+1 1+1+1+1+1+1,一共有11种,其中5+1和1+5被认为是同样的。Input输入有多组数据,每行为一个正整数n(n < 50)。Output对于每组输入,输出有多少种整数划分的方法。Sample Input16原创 2020-12-09 18:10:21 · 1717 阅读 · 0 评论 -
一个顾客买了价值x元的商品,并将y元的钱交给售货员。售货员希望用张数最少的钱币找给顾客。 无论买商品的价值x是多大,找给他的钱最多需要以下六种币值:50,20,10,5,2,1
Problem Description一个顾客买了价值x元的商品,并将y元的钱交给售货员。售货员希望用张数最少的钱币找给顾客。无论买商品的价值x是多大,找给他的钱最多需要以下六种币值:50,20,10,5,2,1Input输入有多组,每组有两个正整数x和y。Output每行给出零钱的张数。Sample Input1 1021 100Sample Output5 yuan: 12 yuan: 250 yuan: 120 yuan: 15 yuan: 12 yuan: 2#in原创 2020-12-09 17:50:36 · 2025 阅读 · 0 评论 -
编程将数字“翻译”成英文。例35706“翻译”成three-five-seven-zero-six。
Problem Description编程将数字“翻译”成英文。例35706“翻译”成three-five-seven-zero-six。Input输入有多组正整数n,每个n占一行。Output将对应的n翻译为英文格式。Sample Input135706Sample Outputonethree-five-seven-zero-six#include<stdio.h>int main(){ int i,a[10],tp; int num1,num2; char原创 2020-12-09 07:59:44 · 979 阅读 · 0 评论 -
斐波那契(Fibonacci,意大利数学家,1170年-1240年)数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……。这个数列从第三项开始,每一项都等于前两项之
Problem Description斐波那契(Fibonacci,意大利数学家,1170年-1240年)数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……。这个数列从第三项开始,每一项都等于前两项之和。在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。已知斐波那契数列第n项的计算公式如下。在计算时有两种算法:递归和非递归,请给出其中一种算法。当n=0时,Fib(n)=0,当n=1时,Fib(n)=1,当n>1时,Fib(n)= Fib(n-1原创 2020-12-08 22:41:55 · 6487 阅读 · 3 评论 -
一个笼子里面关了鸡和兔子(鸡有2 只脚,兔子有4 只脚,没有任何例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
Problem Description一个笼子里面关了鸡和兔子(鸡有2 只脚,兔子有4 只脚,没有任何例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。Input第1 行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (a < 32768) 。Outputn 行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2个0。Sample Inp原创 2020-12-08 22:18:57 · 7056 阅读 · 2 评论 -
给定个n,要求输出n行*号,每行的*号个数为2n-1,居中对齐。
Problem Description给定个n,要求输出n行号,每行的号个数为2n-1,居中对齐。Input每行一个整数n(1<=n<=100),一直到文件尾。Output对于每个n都要求按样例输出。Sample Input3Sample Output * *** *****#include <stdio.h>#include <stdlib.h>int main(){ int n,i,j,k; scanf原创 2020-12-08 20:39:17 · 1142 阅读 · 2 评论 -
给定个n,要求输出n行*号,*号的个数与行号相同。
Problem Description给定个n,要求输出n行*号,*号的个数与行号相同。Input每行有一个整数n(1<=n<=100),一直到文件尾。Output对于每个整数n,要求输出n行*号,具体样式见输出样例。Sample Input31Sample Output*******#include <stdio.h>#include <stdlib.h>int main(){ int n,i,j,a,b,c;原创 2020-12-08 20:17:22 · 2580 阅读 · 0 评论 -
小明今年3岁了,现在他已经能够认识100以内的非负整数,并且能够进行100以内的非负整数的加法计算; 对于大于等于100的整数,小明仅保留该数的最后两位进行计算
Problem Description小明今年3岁了,现在他已经能够认识100以内的非负整数,并且能够进行100以内的非负整数的加法计算;对于大于等于100的整数,小明仅保留该数的最后两位进行计算,如果计算结果大于等于100,那么小明也仅保留计算结果的最后两位。例如, 对于小明来说:1234和34是相等的35+80=15给定非负整数A和B,你的任务是代表小明计算出A+B的值。Input输入数据的第一行为一个正整数T,表示测试数据的组数。然后是T组测试数据,每组测试数据包含两个非负整数A和原创 2020-12-08 19:54:44 · 1297 阅读 · 0 评论 -
输入两个整数a,b(1<=a,b<=100000000),请编写程序求出他们的最大公约数。
Problem Description输入两个整数a,b(1<=a,b<=100000000),请编写程序求出他们的最大公约数。Input第一个数n表示测试数据的个数,接下来的n行每行有两个整数a和b,空格隔开。Output输出n行,每行输出对应a,b的最大公约数。Sample Input312 825 1021 63Sample Output4521#include <stdio.h>#include <stdlib.原创 2020-12-08 19:22:30 · 2993 阅读 · 0 评论 -
打印学生成绩数组(结构体)
#include<stdio.h>#define N 2struct student{ int num; char name[10]; int score[4];}stu[N];void input(struct student stu[]){ for(int i = 0;i < N;i++){ printf("请输入学生...原创 2020-03-21 11:58:50 · 662 阅读 · 0 评论 -
李白街上走,提壶去买酒,遇店加一倍,见花喝一斗,五遇店和花,喝光壶中酒,壶中原有多少酒?请编程计算李白的壶中原有多少酒。
每一次都遇到店和花1)先遇到店时,先将酒加一倍,再喝一斗酒。经过逆推理,第五次遇到店和花前,壶中酒为0.5斗即壶中酒加一斗后,再除以2…2)若先遇到花,第五次遇到花和店之前,壶中酒为1斗喝1斗,壶中酒为0,再加一倍酒,没有意义#include<stdio.h>void main(){ int i; float x = 0; for(i =...原创 2020-03-21 09:18:38 · 5922 阅读 · 1 评论 -
有面值为 100 50 20 10 5 1 的几种人民币,输入金额,罗列 出所有的组合方案,并且统计出用的张数最少的那一种,并且显示
#include<stdio.h>void count_money(int a){ int temp; temp = a; int b[7] = {100,50,20,10,5,2,1}; int num[7],i,n; for(i = 0;i < 7;i++){ num[i] = 0; } //由于需要最...转载 2020-03-20 13:39:44 · 1970 阅读 · 1 评论 -
修一条水渠,单独修,甲队需要20天完成,乙队需要30天完成。如果两队合作,由于彼此施工有影响,他们的工作效率就要降低,甲队的工作效率是原来的4/5,乙队的工作效率是原来的9/10.现在计划X天修完这条
#include<stdio.h>void main(){ float a = 0.05,b = 1.0/30,c = 0.8,d = 0.9,sum = 0; int x,i,j; scanf("%d",&x); for(i=0;i<=x;i++){ sum = 0; sum = sum + a*c*i ...转载 2020-03-20 11:49:20 · 1591 阅读 · 0 评论 -
输出100以内的所有素数
#include <stdio.h>#include<stdbool.h>int main(){ int i,j,k; bool flag; for(i=2;i<101;i++){ flag = true; k = sqrt(i); for(j=2;j<=k;j++){ if(i%j...原创 2020-03-16 20:30:02 · 1395 阅读 · 0 评论 -
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒, 所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的, 再次重复...... 直到开了第4瓶酒,坐着的
#include <stdio.h>int main(){ int i,j,k,l,m; //i为总人数 for(i=20;i>0;i--){ //j为第一次剩余的人,第一次至少倒下一人 for(j=i-1;j>0;j--){ //k为第二次剩余的人,第二次至少又倒下一人,...... ...原创 2020-03-16 16:19:36 · 1728 阅读 · 0 评论 -
两个乒乓球队进行比赛,各出3人。甲队为A、B、C 3人,乙队为X,Y,Z 3人。采用抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程序找出3对赛手的名单。
#include <stdio.h>int main(){ char A,B,C; char str; //找C的对手 for(str='X';str<='Z';str++){ if(str!='X' && str!='Z') C = str; } //找A的对手,A不和...原创 2020-03-16 15:02:57 · 859 阅读 · 0 评论 -
求最大公约数和最小公倍数
#include <stdio.h>int main(){ int m,n,c_m,c_d; scanf("%d %d",&m,&n); int common_div(m,n); c_d = common_div(m,n); c_m = m*n/c_d; printf("%d %d\n",c_d,c_m);}i...原创 2020-03-16 09:25:09 · 105 阅读 · 0 评论 -
输入一个字符串(包含空格),统计每个字符出现的次数和总数(包含空格的次数),并且找出出现次数最多的字母和次数
#include <stdio.h>int main(){ char s[100],a[128]={0},i; int max=0,maxc; gets(s); for(i=0;s[i];i++){ a[s[i]]++; if(a[s[i]]>max){ max = a[s[i]]; ...原创 2020-03-15 22:35:10 · 3768 阅读 · 2 评论 -
输入一个字符串,内有数字和非数字字符。打印字符串中所有连续的数字所组成的整数
#include <stdio.h>#include <string.h>void main() { char c[50] = {"123,,,5,,456"}; int i=0; while(c[i] != '\0'){ if((c[i]>='0' && c[i]<='9') && (c[i+1]&g...原创 2020-03-15 16:38:56 · 764 阅读 · 0 评论 -
从键盘读入一个字符串,若遇到字母,则输出0;若遇到数字则输出1;否则不输出。例如:输入ab&@12c,输出00110
#include<stdio.h>void main(){ int i=0; char c[100]; gets(c); while(c[i]!='\0'){ if((c[i]>='A'&&c[i]<='Z') || (c[i]>='a'&&c[i]<='z')){ ...原创 2020-03-11 12:49:21 · 1007 阅读 · 0 评论 -
c语言打印菱形
#include <stdio.h>void print(int n){ int i,j; for(i=1;i<=n;i++){ for(j=1;j<=(n-i);j++){ printf(" "); } for(j=n-i+1;j<n+i;j++){ ...原创 2020-03-11 11:11:02 · 92 阅读 · 0 评论 -
按以下规律将电文变成密码,将字母A变成E,a变成e,即变成其后的第四个字母
#include<stdio.h>#include<string.h>void main(){ int i,n; char c[100]; gets(c); n = strlen(c); for(i=0;i<n;i++) if((c[i]>='a') && (c[i]<='z')...原创 2020-03-09 09:04:27 · 4101 阅读 · 1 评论 -
c语言输入一行字符,统计其中有多少个单词,单词之间使用空格分隔开
#include<stdio.h>void main(){ int cnt=0,flag=0; char c[100]; gets(c); int i; for(i=0;c[i]!='\0';i++) if(c[i]==' ') flag = 0; else if(flag == 0){...原创 2020-03-09 08:07:19 · 827 阅读 · 0 评论 -
判断只包含{ }的字符是否匹配
#include<stdio.h>int main(){ static int i=0; static int j=0; char c; while((c=getchar()) && c != '\n') { if(c=='{') { i++; } if(c=='}'&& i!=0) { j++; } ...原创 2020-03-08 11:01:08 · 97 阅读 · 0 评论 -
判断整数是否是回文
#include <stdio.h>void main(){ int num,tmp,x=0; scanf("%d",&num); tmp = num; while(tmp > 0){ x = x*10 + tmp%10; tmp = tmp/10; } if(x == num){ ...原创 2020-03-07 20:42:19 · 92 阅读 · 0 评论 -
对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。对于每个测试实例,输出该串中数值的个数,每
一、单字符法#include <stdio.h>void main(){ int n,sum=0,i; char c; scanf("%d",&n); getchar();//吸收一个字符 while(n--){ while((c=getchar()) && c!='\n'){ if((c...原创 2020-03-07 16:28:56 · 2673 阅读 · 1 评论 -
给你n个整数,求他们中所有奇数的乘积。输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据共有n个,接着是n个整数。例如,输入:3 1 2 3 输出 :3
#include <stdio.h>void main(){ int n,i,num,sum; while(~scanf("%d",&n)){ sum = 1; for(i = 0;i < n;i++){ scanf("%d",&num); if(num%2 == 1) ...原创 2020-03-07 13:43:20 · 5352 阅读 · 2 评论 -
猴子吃桃问题:小猴摘了很多桃子,第一天吃了一半又多吃一个,第二天吃了一半又多吃一个,第二天又吃掉一半再多吃一个,如此下去,到第十天恰好还剩一个桃子。问第一天小猴摘了多少桃子
//法一#include <stdio.h>int getnum(int n){ if(n == 10) return 1; return (getnum(n+1)+1)*2;}void main(){ printf("%d",getnum(1));}//法二#include <stdio.h>void main...原创 2020-03-07 12:02:20 · 3270 阅读 · 0 评论 -
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
#include <stdio.h>int main(){ int i,m,n,tmp,sum1,sum2; while(scanf("%d %d",&m,&n)!=EOF){ //等价于while(~scanf("%d %d",&m,&n)) sum1 = 0; sum2 = 0; ...原创 2020-03-07 10:47:31 · 1676 阅读 · 0 评论 -
在一个字符串中找出元音字母a,e,i,o,u出现的次数
#include <stdio.h>#include <string.h>int main(){ char c[100]; gets(c); int a = 0,e = 0,i = 0,o = 0,u = 0; while(c[i] != '\0'){ if(c[i] == 'a') a++; else ...原创 2020-03-06 21:05:10 · 3647 阅读 · 2 评论 -
获取一行字符与获取字符串
//获取一行字符,单字符法char c;while((c=getchar())&&c!='\n')//字符串法char c[100];gets(c);while(c[i]!='\0')原创 2020-03-06 20:48:02 · 489 阅读 · 0 评论 -
编写一个排序程序,要求使用插入排序算法
#include <stdio.h>#include <string.h>void main(){ char a[] = {1,5,3,6,14}; int n = sizeof(a); int i,j,tmp; for(i=1;i<n;i++){ tmp = a[i]; j = i-1; ...原创 2020-03-06 19:32:21 · 331 阅读 · 0 评论 -
输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符
#include <stdio.h>#include <string.h>void main(){ char c; int letters=0,space=0,digit=0,others=0; while((c=getchar()) && c!='\n'){ if((c >= 'a' && c &...原创 2020-03-06 15:28:37 · 407 阅读 · 0 评论