- 博客(36)
- 收藏
- 关注
原创 在主函数中输入10个等长的字符串。用另一函数对它们 排序。然后在主函数输出这10个已排好序的字符串。 要求采用指向一维数组的指针作函数参数,该排序函数 的声明如下:void sort(char (*s
在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。要求采用指向一维数组的指针作函数参数,该排序函数的声明如下:void sort(char (*s)[20]);思路:1.输入字符串2.使用冒泡法进行排序3.输出#include <stdio.h>#include <string.h>#define num 10...
2018-12-17 23:03:33
5698
原创 s型座位问题
题目描述XP迎来了他大学第一堂期末考试,老师开始安排考场座次,第一列从第一个同学开始从前往后按照学号(学号从1开始递增)升序排列,然后第二列接着第一列最后一个同学的学号从后往前按照学号升序排列,第三列又从第一个同学开始接着第二列的第一个同学的学号从前往后按照学号升序排列,…,依次类推。为了简化问题,我们假设考场有n行n列,你能够帮XP编写一个程序生成考场座次表吗?输入单组输入数据n(n&l...
2018-12-08 15:20:18
2307
原创 三个臭老太婆
Description有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园。A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕。C 太太因为正身怀六甲无法加入她们的行列,便出了90元。请问这笔钱如何分给A、B 二位太太较为恰当?A 应得多少元?90/(5+4)*5=$50 元?如果这么想你就上当了!正确答案是60 元。如果没想通的话再想想吧。下面回答一个一般性的问题:假定A 太...
2018-12-06 17:55:00
7329
原创 盐水问题
题目描述XP一不留神感冒了,于是跑到校医院打点滴。打点滴真是无聊啊,他看到盐水一滴一滴地滴下来,突然想到一个问题:如果盐水有规律地滴下,先滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下…,假设这瓶盐水一共有n毫升,每一滴是y毫升,每一滴需要的时间是一秒(假设最后一滴不到y毫升,需花费的时间也算一秒),停一下的时间也是一秒。请问XP多久能挂完这瓶盐水呢?输入格式输入数据包含多个...
2018-12-06 15:33:54
1044
原创 选择法对数进行交换
#include<stdio.h>int m,n,a[100]; int main(){ int judge(int m); int i,j,k,temp,h,b; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(j=0;j<n-1;j++) ...
2018-12-05 08:53:41
181
原创 中医药18级新生杯比赛 XP的素数
题目描述XP最近对素数很痴迷,特别是那些特殊的素数,其中有一类素数被称为孪生素数。其定义如下:如果一个数k是素数,k+2也是素数,那么k和k+2成为一对孪生素数。请计算一个给定区间m和n(0<m<n)中孪生素数对的个数。输入单组输入数据m n(0<m<n<1000)输出请输出一行结果:区间[m,n]中孪生素数对的个数样例输入1 999样例输出...
2018-12-04 09:51:04
332
原创 杭电2015题 偶数求和
Problem Description有一个长度为n(n&amp;amp;lt;=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。Input输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。Output对于每组输入数据,输出一个平均值序列,每组输出占一行。Sample In...
2018-11-29 15:46:14
889
原创 万恶的汉诺塔问题来了
#include<stdio.h>int main(){ void hanoi(int n,char one,char two,char three); int m; printf("input the number of diskes:"); scanf("%d",&m); printf("the step to move %d diske...
2018-11-22 21:15:38
220
原创 C语言红宝书,使用选择法对数组中10个整数按小到大排序
#include<stdio.h>int main(){ void sort(int array[],int n); int a[10],i; printf("enter array:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); sort(a,10); printf("the sor...
2018-11-20 09:21:02
1328
原创 谭浩强 C红宝书 第六章 第14题
两个字符串用gets函数读入。输出的正数或者负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。例如“A”与“C”相比,由于“A” < “C”,应该输出负数,由于“A”与”C”的ASCII嘛差值为2,因此应该输出“-2”。同理:“And”和“Aid”比较,根据第二个字符比较的结果,”n”比”i”大5,因此输出5#include<stdio.h>#include&l...
2018-11-05 17:53:54
185
原创 谭浩强C红宝书第六章第13题
编一个程序,将两个字符串连接起来,不要用strcat函数#include<stdio.h>#include<string.h>int main(){ char s1[80],s2[40]; int len1,len2,i; gets(s1); gets(s2); len1=strlen(s1); len2=strlen...
2018-11-05 17:35:48
175
原创 C语言红宝书 谭浩强第六章 第12题
【描述】有一行电文,已按下面规律译成密码:A →Z B→Y C→X ……a→z b→y c→x ……即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。整题的思路非常简单,就是定义变量,然后取值,循环,输出。但是难点就在题目的条件,第一个字母变成第26个字母,第i个字母变成第(26-i+1...
2018-11-05 17:06:36
770
原创 C语言 输出杨辉三角
输出以下的杨辉三角形(要求输出10行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1。。。这道题其实不难,重在思路,思路一通,解题分分钟。首先设个a[10][10],包含10列10行的杨辉三角.定义个行的循环变量i,列的循环变量j观察图可以发现,杨辉三角仿佛除了第一列(也就是a[i][j]=1)等于1,之外其余的仿佛都是a[i][j]=a[i-...
2018-11-04 16:30:38
1342
原创 谭浩强 红宝书 章节6 课后习题4
题目:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中像这种题目给的条件有点模糊,与一些指示明确的比赛题目不一样。所以我们先暂定一个升序数组 {1,2,4,5,8}, 因为有5个元素,所以我们定义时按照题目要求,应该给其多加一个元素。也就是a[6]={1,2,4,5,8}。然后按照从大至小的顺序让插入数b与a[i]进行对比排列,大的数赋值给a[i+1], 然后依次进行比...
2018-11-04 11:38:00
156
原创 有3个字符串,要求找出其中最大者
这道题目和我之前blog中和矩阵求值中使用的算法是一样的,都是使用打擂台算法进行解题。https://blog.csdn.net/qq_42766201/article/details/83651471接下来我们来看下思路:这道题首先需要设立3个二维字符数组和1个临时的数组,两两对比,大的把小的比下去,将其赋值给临时二维数组。最后再输出临时二维数组。#include<stdio.h&...
2018-11-02 21:53:59
3722
原创 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
这道题目出自谭浩强的C语言程序设计 P165 的例6.8个人觉得这道题目看似简单,但是其中原理理解消化得需要点时间,因为本章的字符数组相对于前边的章节,又上升了一个难度。先来看思路:这道题的Key point就是怎样确定“出现了新的单词"可以先对字符进行逐字检查,如果出现地新单词,设立一个变量num=0,让其+1,进行统计。而如何统计出现新单词,想像一下,输入一个i am a boy,其...
2018-11-02 21:05:18
31088
5
原创 数组求矩阵最大元素值(打擂台算法)
有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。打擂台,首先上去一个一个比较厉害的boxer,接下来和剩余的boxer对打,赢着留下,输者淘汰。#include<stdio.h>int main(){ int i,j; int a[3][4]={{1,2,3,4},{-5,8,9,54},{67,68,65,98}}; i...
2018-11-02 10:27:03
2276
原创 C语言 二维简单数组交换
将一个二维数组的行和列的元素互换,存到另一个二维数组中array a:1 2 34 5 6array b:1 42 53 6思路:可以定义两个数组,数组a为2列3行,存放指定的6个数,数组b为3行2列,开始时未赋值。只要将a数组中的元素a【i】【j】存放到b数组中的b【j】【i】元素中即可。用嵌套的for循环即可完成#inclu...
2018-11-02 07:58:41
4449
原创 冒泡法处理数值调换问题
原理可以翻其他人的blog或者谭浩强书籍的P147页,一般来说都(mei)有详细阐述.二话不说直接上图,冒泡法的原理就是例6.3#include<stdio.h>int main(){ int a[10]; //定义一个数据为10的数组 int i,j,t; //定义常量i为收集输入...
2018-11-01 20:50:18
164
原创 利用数组处理Fibonacci数列问题
#include<stdio.h>int main(){ int i,f[20]={1,1}; //建立循环变量,并且为数组的前2位数赋值。 for(i=2;i<=20;i++) //设立个18次的循环 f[i]=f[i-1]+f[i-2]; //运行条件 for(i=0;i<20...
2018-11-01 19:47:34
1535
1
原创 C语言 输出菱形
输出下列图案首先,这种菱形图案是谭浩强的C语言程序设计第五章循环中一个非常different的题目,不同于往常的套公式,做数学题,这个是直接打印图形,相对来讲,看起来可能会有些难度,但是让我们捋捋思路,其实也没想像中那么难。这道题表面上是打印菱形,换个角度思考,实际上它是打印空格和*型看思路行数 空格 * 号1 3 1...
2018-11-01 16:49:06
1203
1
原创 ACM 1181
题目描述 输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33输入 无输出 每行输出一个水仙花数。样例输入 无样例输出153370371407#include<stdio.h>int main(){ ...
2018-10-30 20:16:48
117
原创 ACM 1179
输入一个正整数N,求1!+2!+3!+…+N!,即求提示:由于>10的整数的阶乘非常大,已超出整数的表示范围,故求阶乘时,需要将变量定义为double类型。输入 输入一个正整数N输出 1~N连续阶乘的和,1!+2!+3!+…+N!的和,末尾换行。样例输入 10样例输出 4037913做此题之前需要搞懂阶乘的含义,比如:1!=12!=123!=12*3…以此类推...
2018-10-30 19:21:09
172
原创 ACM 入门 1177
题目描述求a+aa+aaa+…+aa…a(n个a)的和,其中a是一个1~9之间的数字,由键盘输出,n表示a的位数,由键盘输出。如: 2+22+222+2222+22222 ,此时a=2,n=5.输入 输出a和n的值,以空格分隔。输出 输出a+aa+aaa+…+aa…a(n个a)的和,末尾换行。样例输入 2 5样例输出 24690做这道题我们先理清楚其思路,这是几个比较简单但...
2018-10-30 18:45:26
147
原创 ACM 1176
题目描述 输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数,分行输出该结果。输入 一行字符,可以包含字母、数字、空格、标点等符号输出 分行输出大小写英文字母、空格、数字和其他字符的个数。如:characters=字母个数spaces=空格个数numbers=数字个数others=其他字符个数样例输入My input123 @%chars.样例输出charact...
2018-10-29 22:20:47
332
原创 ACM 1175
题目描述 输入两个正整数,求其最小公倍数。输入 输入以空格分隔的两个正整数。输出 输出此两数的最小公倍数,末尾输出换行。样例输入 14 24样例输出 168先了解最小公倍数等于两正整数除以最小公倍数;至于最小公倍数的求法我前几篇ACM的blog中都有,可以先翻翻so easy,一起来看下代码把/*题目描述 输入两个正整数,求其最小公倍数。输入 输入以空格分隔的两个正整数。...
2018-10-29 20:23:21
183
原创 ACM 1173
题目描述 输入两个正整数,求其最小公倍数。输入 输入以空格分隔的两个正整数。输出 输出此两数的最小公倍数,末尾输出换行。样例输入 14 24样例输出 168#include<stdio.h>int main(){ int x,y,z; while(scanf("%d%d",&x,&y)!=EOF) //利用此语句来进行输出多行 ...
2018-10-29 20:10:20
149
原创 ACM 1174
题目描述 输入两个正整数,求其最小公倍数。输入 输入以空格分隔的两个正整数。输出 输出此两数的最小公倍数,末尾输出换行。样例输入 14 24样例输出 168/*题目描述 输入两个正整数,求其最小公倍数。 输入 输入以空格分隔的两个正整数。 输出 输出此两数的最小公倍数,末尾输出换行。 样例输入 14 24样例输出 168 */ #include<stdio...
2018-10-29 19:47:50
131
原创 ACM 1172
题目描述 输入两个正整数,求其最大公约数。输入 输入以空格分隔的2个正整数输出 输出输入2数的最大公约数,末尾输出换行。样例输入 14 49样例输出 71 使用辗转相除法其算法的核心就是利用两个正整数不断相除,然后将余数赋值给除数,将被除数的值赋值给被除数,倘若余数等于0,将除数的值输出。让我们拿x,y做例子假设两个正整数x,y,另外再设一个值z。z等于x除y的余数...
2018-10-29 19:08:43
260
原创 ACM 1171
为使电文保密,往往按照一定的规律将其转换成密码,收报人再按照约定的规律将其译成原文。例如,某次发报时采用的密码规律为:将字母A变成字母E,a变成e,即变成其后的第4个字母,W(w)变成A(a),X(x)变成B(b), Y(y)变成C©,Z(z)变成D(d),其规律如下图所示:字母按照此规律转换,非字母字符保持原状不变,如:China!按此规律将转换为Glmre!要求从键盘输入一行字...
2018-10-29 16:56:46
201
原创 ACM 入门1170
/*题目描述 求100~200之间的全部素数,输入 无输出 100~200之间的全部素数,一个素数占一行。样例输入 无样例输出101103…197199 */首先,咱们先用整数大法来判定#include<stdio.h>int main(){ int n=100,i=2; for (n=100;n<=200;n++) ...
2018-10-29 08:06:34
195
原创 ACM 入门1169
/* 题目描述输入一个大于1的正整数,判断它是否为素数(prime,又称质数)。如果这个数是素数,则输出yes,否则输出no。 末尾输出换行。输入 一个大于1的正整数输出 根据输入数据,判断概述是否为素数。如果这个数是素数,则输出yes,否则输出no。注意末尾输出换行。样例输入 7样例输出 yes */少一位数法#include<stdio.h>int m...
2018-10-28 20:41:17
183
原创 ACM 入门题 1167
/* 题目描述用如下公式PI/4≈1-1/3+1/5-1/7+…求圆周率PI的近似值,直到发现某一项的绝对值小于10-6为止(该项不累加)。要求输出的结果总宽度占10位,其中小数部分为8位。程序中使用浮点型数据时,请定义为双精度double类型。如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).输入 无输出 PI=圆周率的近似...
2018-10-26 22:12:45
193
原创 ACM 入门题 1166
/输出以下45的矩阵1 2 3 4 52 4 6 8 103 6 9 12 154 8 12 16 20要求使用循环实现,注意每行输出5个数字,每个数字占3个字符的宽度,右对齐。输入 无输出 每行输出5个数字,每个数字占3个字符的宽度,右对齐。样例输入 无样例输出1 2 3 4 52 4 6 8 103 6 9 12 154 8...
2018-10-26 21:30:26
323
1
原创 ACM 入门题目 1165
ACM 入门题目 1165题目描述要求输出100~200之间不能被3整除的数,并且不输出137,输出的各数之间以空格分隔。输出时,每5个数字一行,注意每行最后一个数字后边不再输出空格。要求在程序中使用continue语句。输入 无输出 输出时,每5个数字一行,注意每行最后一个数字后边不再输出空格。最后一个数字后输出换行。样例输入 无样例输出100 101 103 104 1...
2018-10-26 21:06:02
614
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人