自定义博客皮肤VIP专享

    *博客头图:

    格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

    请上传大于1920*100像素的图片!

    博客底图:

    图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

    栏目图:

    图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

    主标题颜色:

    RGB颜色,例如:#AFAFAF

    Hover:

    RGB颜色,例如:#AFAFAF

    副标题颜色:

    RGB颜色,例如:#AFAFAF

    自定义博客皮肤

    -+
    • 博客(69)
    • 问答 (2)
    • 收藏
    • 关注

    原创 C:基本文件操作

    打开文件A,B,将内容排序后存入新文件C#include<stdio.h>#include<string.h>int BubbleSort(char a[],int n){ int i,j; for(i=0;i<n-1;i++){ for(j=1;j<n-i;j++){ if(a[j]<a[j-1]){ int tem=a[j]; a[j]=a[j-1]; a[j-1]=tem; } } } }int m

    2021-12-27 00:15:00 302

    原创 C:字母的H图形

    使用小写字母组成图形H,要求:输入个数不大于26。例如:输入n=10,输出:a     e     ib  d  f  h  jc     g代码:#include <stdio.h>int main(){ int n,i=1,x=0,y=0,j; char ch='a',c[3][13]={' '}; scanf("%d",&n); if(n>26||n<=0) return 0; c[x][y]=ch; while(n>i){ for(j

    2021-12-27 00:00:00 676

    原创 C:递归实现十进制转换其他进制

    #include <stdio.h>int N;int fun(int n){ int a; if(n<N) printf("%c", (a=n%N-10) >= 0 ? a+'A' : n%N+'0' ); else { fun(n/N); printf("%c", (a=n%N-10) >= 0? a+'A' : n%N+'0' ); } }int main(){ int n; scanf("%d %d",&n,&N); f.

    2021-11-23 13:32:03 1162 1

    原创 C:简易计算器,内蒙古,892,1908,程序设计

    #include<stdio.h>int main(){ int ch,num1,num2; while(printf("请输入指令,1-加,2-减,3-乘,4-除,5-退出\n"),scanf("%d",&ch),ch!=5){ int sum; scanf("%d %d",&num1,&num2); switch(ch){ case 1: sum=num1+num2;break; case 2: sum=num1-num2;break;

    2021-11-21 12:17:14 248

    原创 C:1113递归调用的次数统计(函数专题)

    题目描述:如下程序的功能是计算 Fibonacci数列的第n项。函数fib()是一个递归函数。请你改写该程序,计算第n项的同时,统计调用了多少次函数fib(包括main()对fib()的调用)。输入:输入一个正整数n。输出:输出包含两行,第一行是一个整数,表示第n项的值;第二行输出递归调用了多少次,具体格式见输出样例。样例输入20样例输出6765递归调用了13529次思路:关键在设置一个全局变量,每次调用fib()就自加代码:#include<stdio.h>int i=0

    2021-11-18 00:02:41 597

    原创 C:蛇形方阵(建议看改进版)

    问题描述: 输入一个数n(要求该数可开平方),生成回字蛇形方阵。如:输入25,输出:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一、初版(方阵):思路: 撇开第一行不看,可以观察到明显规律​代码:#include<stdio.h>#include<math.h>int main(){ int n,k,d=0,i,j,n

    2021-11-17 23:33:59 801

    原创 C:统计单词个数,内蒙古,892,1803,程序设计

    问题描述:输入一个长度不大于100的字符串(由字母和空格组成),输出串中包含的单词个数。如不存在单词则输出0.例如:字符串“hello world”,则输出结果为2。思路:类似于判定回文数、判定素数,实质是判定当前子串是否为单词,若是,遍历完该单词,单词数目加一。注意,主串游标需要回退一位。代码:#include<stdio.h>int main(){ int i=0,flag,num=0;//flag用来判定是否有单词出现; char str[101]; gets(str);

    2021-11-17 23:15:07 326

    原创 C:列最大值和,内蒙古,892,1804,程序设计

    问题描述:输入整数N(N<=2<=10),再输入NN方阵中的全部数据,计算方正每列元素的最大值之和,并输出。例如:44的方阵数据如下:1 2 3 45 6 7 26 7 8 87 6 4 1则各列的最大值分别为 7 7 8 8,则输出的结果为30代码:#include<stdio.h>int main(){ int N,i,j,max,sum=0; scanf("%d",&N); int a[N][N]; for(i=0;i<N;i++){

    2021-11-17 23:13:18 163

    原创 C:2月29统计,内蒙古,892,1806,程序设计

    问题描述:输入小李的出生日期,计算他从出生到今天共经历了多少个2月29日,输出计算结果。不需要考虑输入的日期不合法或不在要求范围之内的情况。例如:输入 2012 3 1,则输出结果为1代码:#include <stdio.h>#include <time.h>int main(){ int y,m,d,num=0; scanf("%d %d %d",&y,&m,&d); time_t timer;// 这是一个适合存储日历时间类型; str

    2021-11-17 23:11:55 174

    原创 C:计算时间差,内蒙古,892,1707,程序设计

    题目:某学者去国外求学,假定离开日期为公元A年B月C日,返回日期为公元X年Y月Z日。请计算求学的总天数(含离开和返回当天)。思路:将A年至X的前一年的天数累加,再减去A年里B月C日之前多加的天数,再加上X年里Y月Z日之前没加天数。注意闰年的问题(闰年的条件:year%40&&year%100!=0||year%4000)。代码:#include<stdio.h>int main(){ int fun(int y,int n);//函数声明 int A,B,C,X,Y,

    2021-11-17 23:08:31 231

    原创 C:9进制转19进制,内蒙古,892,1804,程序设计

    问题描述:输入1个9进制数字串,将其转化为19进制并输出。依次使用小写字母a…i表示数字10…18。假设将该数字转化为10进制时,存储于int型变量不溢出。例如:输入40,则输出结果为1h。思路:先转10进制,再转19进制代码:#include <stdio.h>#include <math.h>#include <string.h>int convertD(char s[]){//返回十进制数 int T=0,i=0,num=strlen(s); w

    2021-11-17 23:03:29 357

    原创 C:按年龄输出姓名,内蒙古,892,1807,程序设计

    问题描述:班级共有50位同学,依次输入每位同学的姓名和生日。姓名中不含有空格,生日的输入格式yyyy/mm/dd(yyyy代表出生年,mm代表出生月,dd代表出生日)。按照年龄从大到小的顺序输出每位同学的姓名,每个名字占一行。例如:输入“李强 1995/08/15”,输出“李强…”。思路:首先明确出生年月数值越小,年龄就越大,要将出生日期小的排在前; 这种题必然采用结构体变量;宏定义N为50,声明结构体数组大小为N,进行N次输入操作; 在输入时采用插入解决排序问题;关于插入位置,在已插入元素中用i

    2021-11-17 23:01:11 364

    原创 C:数字字符求和,内蒙古,892,1907,程序设计

    问题描述:输入一行字符(个数<=100),查找其中的数字字符,输出数字字符组成的数字之和。注意,数字字符可能组成两位或两位以上的数字。例如:输入a11b22c3, 则输出36。注:这道题需要考虑大数加法运算!!!稍后更新代码:#include <stdio.h>#include <ctype.h>#include <string.h>#include <math.h>int main(){ char ch[100]; int i=0,j

    2021-11-16 19:52:54 372

    原创 C:求素数和,内蒙古,892,1906,程序设计

    问题描述:输入正整数n,输出比n大的5个最小素数之和。素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。例如:输入1,则输出28。代码:#include <stdio.h>int fun(int n){ for(int i=2;i<=n/2;i++)//此处判断条件一定要“i<=n/2”,要不会误判4!!! if(n%i==0) return 0; return 1;}int main(){ int n,num=1,sum=0; scanf("%d

    2021-11-16 18:41:38 212

    原创 C:递归求和,内蒙古,892,1905,程序设计

    问题描述: 输入正整数n,再输入n个数,计算并输出这n个数之和。要求:本题必须使用递归完成,整个程序不允许使用循环。例如:输入3 2 3 4,则输出9。代码:#include <stdio.h>int sum(int n){ int num; scanf("%d",&num); if(n==1) return num; return num+sum(n-1);}int main(){ int n; scanf("%d",&n); printf("%d"

    2021-11-16 13:19:07 241

    原创 C:输出前十名成绩,内蒙古,892,1904,程序设计

    问题描述:输入一组互不相等的百分制成绩(个数<=100),以-1结束,按由高到低的顺序输出前10名的位置号。位置号根据输入的顺序确定,第n个输入的成绩的位置号为n(n为自然数)。输出格式为X号X分。注意输入不足10个时,按照实际的输入个数输出。例如:输入66 88 77 -1,则输出2号88分 3号77分 1号66分。思路:与按年龄输出姓名思路相类似,输入时按成绩大小排序,同时记录输入顺序,输入结束后输出。代码:#include <stdio.h>#define N 100typ

    2021-11-16 10:29:52 545

    原创 C:逆序输出奇数,内蒙古,892,1902,程序设计

    问题描述:输入8个正整数,逆序输出其中的奇数。例如:输入1 2 3 4 5 6 7 8,应输出 7 5 3 1思路:采用递归思想代码:#include<stdio.h>void output(int n){ int num; scanf("%d",&num); if(n!=1){ output(n-1); } if(num%2==1) printf("%d ",num);}int main(){ int n; scanf("%d",&n); out

    2021-11-15 09:27:22 515

    原创 C:按年龄输出姓名,内蒙古,892,1807,程序设计(内含改进版)

    问题描述: 班级共有50位同学,依次输入每位同学的姓名和生日。姓名中不含有空格,生日的输入格式yyyy/mm/dd(yyyy代表出生年,mm代表出生月,dd代表出生日)。按照年龄从大到小的顺序输出每位同学的姓名,每个名字占一行。例如:输入“李强 1995/08/15”,输出“李强…”。初版:思路: 首先明确出生年月数值越小,年龄就越大,要将出生日期小的排在前; 这种题必然采用结构体变量;宏定义N为50,声明结构体数组大小为N,进行N次输入操作; 在输入时采用插入解决排序问题;关于插入位置,在已插

    2021-11-15 09:11:20 552

    原创 C:1071分解质因子

    题目描述:将一个正整数分解质因数,例如,输入90,输出2 3 3 5。输入:输入一个正整数n(2<=n<=2000)。输出:从小到大输出n的所有质因子,每两个数之间空一格。样例输入20样例输出2 2 5思路:将n循环分解,直到n为1结束,每轮的n都从i=2,3,…尝试分解,考虑到n较小,比如n=5,会一直尝试到自身,所以尝试分解的循环条件应该小于等于n,只要发i可以整除n,即i就是质因子输出,并将商赋值n,跳出当前尝试分解循环,对新的n进行尝试分解。代码:#include&

    2021-11-14 11:07:55 450

    原创 C:1139输出最短字符串

    题目描述:输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。输入:第一行是一个整数n,后面跟着n行,每行包括一个由字母和数字和空格组成的字符串,长度不超过1000。输出:长度最短的字符串,若长度相同则输出出现较早的那一个。样例输入5How are you!HappyGood!Hello world!Thinks样例输出Happy代码:#include <stdio.h>#include <string.h>#define N 1

    2021-11-13 19:33:48 231

    原创 C:1138C语言合法标识符

    题目描述:输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。输入:输入一个长度不超过50的字符串。输出:如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。样例输入8fixafghgjhjhjyuyuyyuyuyu样例输出no代码:#include <stdio.h>#include <ctype.h>int main(){ char ch; int i=0,fl

    2021-11-13 18:50:13 483

    原创 C:1137查找最大元素

    题目描述:对于输入的字符串,查找其中的ASCII码值最大字母,在该字母后面插入字符串“(max)”。输入:输入一行长度不超过200的字符串组成,字符串仅由大小写字母构成。输出:输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。样例输入abcdefgfedcbag样例输出abcdefg(max)fedcbag(max)代码:#include<stdio.h>#include <string.h>int

    2021-11-13 11:15:13 244

    原创 C:1136首字母变大写

    题目描述:输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。输入:输入一个长度不超过100的英文句子。输出:请输出按照要求改写后的英文句子。样例输入i like ACM样例输出I Like ACMctype.h头文件中函数的补充:toupper(ch) 将ch转换为大写并返回大写,不会改变ch的值tolower(ch) 将ch转换为小写并返回小写,也不会改变ch的值返回值是1否0系列;isalpha(ch) 判断是否为字母isdigit(ch) 判断是否

    2021-11-13 10:21:27 253

    原创 C:1135算菜价

    题目描述:妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。输入:输入含有一些数据组,每组数据包括菜种(不含空格的字串),数量w(计量单位不论,一律为double型数)和单价p(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。输出:支付菜价的时候,由于最小支付单位是角,所以总是在支付的时候采用四舍五入的方法把分头去掉。最后,请输出一个精度为角的

    2021-11-13 09:47:21 474

    原创 C:1134字符串转换

    题目描述:输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以2输出。输入:输入一个以回车结束的字符串,长度不超过100,由数字和字母组成。输出:将转换后的整数乘以2输出,测试数据保证结果在int范围内。样例输入sg987aa65t498样例输出197530996思路:在输入时实现过滤并将字符转化为数字,逐位乘位权并求和,两倍输出。代码:#include <stdio.h>#include <math.h&g

    2021-11-13 08:42:21 336

    原创 C:汉诺塔,蓝瘦啊

    经常忘能有什么好办法呢,背过就行了。第一步:把n-1只碟子从X杆经过Z杆移动到Y杆第二步:将X杆上第n只碟子移动到Z杆第三步:然后再将n-1只碟子从Y杆经X杆移到Z杆#include<stdio.h>void move(char x,char y){ printf("%c-->%c\n",x,y);}void hanoi(int n,char x,char y,char z){ if(n==1) move(x,z); else { hanoi(n-1,x,z,y);

    2021-11-11 18:48:32 98

    原创 C:判断回文数,内蒙古,892,1802,程序设计

    问题描述:编程题:输入一组正整数,判断输入的数字是否为回文数,是则输出该数。输入-1时结束。提示:若一个正整数(首位不为0),从左向右读与从右向左读是一样的,则称作回文数,例如1,11,121,1221,12321 等都是回文数。例如:输入 121 1212 22 2,则输出结果为 121 22 2提示:不需要输入全部数据之后再统一处理,例如,输入1212时,121已输出。思路:将数字逐位拆分,首尾对照,全部相同输出。代码:#include <stdio.h>int main

    2021-11-09 14:07:57 140

    原创 C:输出素数,内蒙古,892,1801,程序设计

    问题描述:输入a,b,输出a,b之间的所有素数。每五个素数换一行。代码:#include<stdio.h>int main(){ int a,b,i,j=0; scanf("%d %d",&a,&b); while(a<=b){ int flag=1;//每轮循环都要重置flag,要分清flag位置。 for(i=2;i<a/2;i++){ if(a%i==0){ flag=0; } } if(flag){

    2021-11-09 13:35:36 135

    原创 C:1067有问题的里程表

    题目描述:某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。例如,如果里程表显示339,汽车走过1公里之后,该里程表显示350。输入:输入一个整数num,表示里程表显示的数值,1 < num < 1000,且一定不含整数4。输出:输出一个整数,为该汽车实际行驶的公里数。例如,如果该里程表显示55,则实际走过的公里 数是40。样例输入106样例输出86思路:

    2021-11-07 13:34:08 407

    原创 C:大数加法

    问题描述:两个很大很大的数相加,例如:111111111111111111111111111111111111111111111111111111111111111111111111111111111111+1111111111111111111111111111111111111111111111111111111111111111111111111111111111110思路:输入俩数,逆置,逐位相加求和存到结果数组,逐位进位,逆序输出;代码:#include <stdi

    2021-11-07 13:07:41 149

    原创 C:阶乘的最高位(有部分数学函数补充)

    题目描述:输入一个正整数n。输出n!的最高位上的数字。输入:输入一个正整数n(n不超过1000)。输出:输出n!的最高位上的数字。样例输入1000 样例输出4思路:会存在溢出,可以采用double类型来存储阶乘!利用modf()函数取整即可。代码:/*求1000!的最高位 */ #include<stdio.h>#include<math.h> int main(){ int n,i=0; scanf("%d",&n); dou...

    2021-11-06 20:25:00 274

    原创 C:大数乘法(直接看改进版)

    问题描述:求很大的数的乘积,比如:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*1000一、最初思路:手算复现,整体采用先求每位的积,再逐位取余进位。考虑到下标容易混乱,就采用镜像方式求值(这一点在改进思路中已纠正)。创建两个较大的数组a、

    2021-11-05 16:57:34 178

    原创 C:1070小汽车的位置

    题目描述:有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向)。小车会受到一系列依照时间戳记排序的命令,1表示“向左转”,2表示“向右转”,3表“停止”。每个命令的前面有一个时间戳记,所以我们知道该命令是何时发出的。最后一个命令一定是“停止”。我们另外假设,这辆小车非常灵活,它可以在瞬间转弯。以下列输入为例。小车在时间为5的时候收到一个“向左转”的命令1,在时间10收到一个“向右转”的命令2,在时间15收到一个“停

    2021-11-04 13:03:22 578 3

    原创 C:1124个有序数组合并

    题目描述:已知数组a中有m个按升序序排列的元素,数组b中有n个降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。输入:输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m, n均小于等于1000000。输出:输出合并后的m+n个整数,数据之间用空格隔开。输出占一行。样例输入4 1 2 5 73 6 4 2样例输出7 6 5 4 2 2 1提示:试图排序的孩子们要小心了~~~~~~注意事项:(1)最重要:可以对输入型变量进行加减

    2021-11-03 19:22:37 157

    原创 C:1123zuijia校友

    题目描述:北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。 输入:输入若干个整数,表示签到簿上的校友编号,所有编号均为0~99的整数,以一个负数作为输入结束的标志。输出:输出出现次数最多的编号。若获奖选手有多个,则按从小到大的顺序输出选手编号,用空格隔开。样例输入4 5 3 1 3 4 2 7 -1样.

    2021-11-03 18:44:03 214

    原创 C:1121电梯

    题目描述:在某一高层建筑内只有一部电梯,当你按下一个数时,电梯会运行到那一层。已知电梯每上升一层需6秒,下降一层需4秒,在需要停留的那层停留5秒。现有N个整数组成的一个需求列表,电梯将依次响应,电梯从0层开始运行,而在运行过程结束之前不会返回0层。注意,若出现相邻两个整数相等,代表在同一层执行了两个不同任务,可以理解为:电梯已经停了5秒,正要关门时又有人在同一层按开门键,电梯又开门并停留5秒。输入:输入分两行,第一行是一个正整数N(N<=1000),代表停留几次,第二行的N个数字代表这几次依次停留

    2021-11-03 18:17:12 507

    转载 C:全排列的递归实现

    分析:为方便起见,用123来示例下。123的全排列有123、132、213、231、312、321这六种。首先考虑213和321这二个数是如何得出的。显然这二个都是123中的1与后面两数交换得到的。然后可以将123的第二个数和每三个数交换得到132。同理可以根据213和321来得231和312。因此可以知道——全排列就是从第一个数字起每个数分别与它后面的数字交换。根据规律,可以列出递归伪代码:allArrange(str,k,m){if k==m print;for ...

    2021-11-03 13:53:28 2003

    原创 C:1122小明的调查作业

    问题描述:小明的老师布置了一份调查作业,小明想在学校中随机找N个同学一起做一项问卷调查,聪明的小明为了实验的客观性,他先随机写下了N个1到1000之间的整数(0<N≤1000),不同的数对应着不同的学生的学号。但他写下的数字难免会有重复数字,小明希望能把其余重复的数去掉,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入:输入有2行,第1行为1个正整数,表示整数的个数:N.第2行有N个用空格隔开的正整数,表示小明写下的N个整数。输出:输出也是2行,

    2021-11-03 08:38:17 291

    原创 C:1120最值交换

    题目描述:有一个长度为n的整数序列。请写一个程序,先把序列中的最小值与第一个数交换,再把最大值与最后一个数交换。输出转换好的序列。 分别编写两个函数MinIndex()和MaxIndex()来计算最小值下标和最大值下标。int MinIndex(int a[], int n); //函数返回数组a中最小元素的下标int MaxIndex(int a[], int n); //函数返回数组a中最大元素的下标数组元素的输出调用函数PrintArr()。输入:输入包括两行。第一行为正整数n(1≤n≤10..

    2021-11-02 22:39:43 275

    转载 C:蛇形矩阵,内蒙古,892,1809,程序设计

    问题描述:输入正整数n(n<30),输出1到n的蛇形矩阵;例如:n=10时1 2 6 73 5 84 910思路:分为右拐和下拐两个动作,每次进行到第0行时右拐,进行到第0列时下拐;每次拐弯移动的步数相比上次拐外都加 1;右拐后,每走一步需要向左下位置(下一行前一列)赋值;下拐后,每走一步需要向右上位置(上一行后一列)赋值。思路来源于青蓝向日葵前辈的下方链接;C语言实现蛇形矩阵/蛇形数组...

    2021-11-02 14:07:50 235 1

    空空如也

    TA创建的收藏夹 TA关注的收藏夹

    TA关注的人

    提示
    确定要删除当前文章?
    取消 删除
    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部