C语言
Clea.Z
这个作者很懒,什么都没留下…
展开
-
求两个集合的交集
求两个集合的交集【问题描述】输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素,要求在主函数中输入A和B数组,并输出交集中的元素,在被调函数中实现求这两个集合的交集。【输入形式】从键盘输入数组A和B(元素个数均为5)。【输出形式】交集中的元素【样例输入】(下划线部分为键盘输入,其余部分为程序输出)Please Enter Array A,5 digits: 1 2 3 4 5Please Ente原创 2020-08-23 21:56:51 · 3255 阅读 · 0 评论 -
分数求和
分数求和【问题描述】分数包含分子分母两项,定义一个有关分数的结构体类型,写一个函数来计算两分数之和,结果仍然为分数类型,注意约分。再编写main函数来输入两分数,调用函数求和,再输出两分数的和。【样例输入输出】#include <stdio.h>#include <string.h>struct fen{ int zi,mu;}s[2];int main(){ int i,m,n=1; printf("please enter the fe原创 2020-08-23 21:49:11 · 1710 阅读 · 0 评论 -
通讯录排序
通讯录排序【问题描述】建立一个通讯录的结构记录,包括姓名、年龄、电话号码。输n(n<10)个朋友的信息,再按他们的年龄从大到小的顺序依次输出其信息。【输入形式】先输入n,再依次输入n个人的信息【输出形式】输出按年龄排序后的通讯录【样例输入输出】#include<stdio.h>#include<string.h>typedef struct txl{ char mi[10]; int sui; char hao[20]; str原创 2020-08-23 21:43:56 · 2027 阅读 · 0 评论 -
计算链表相邻结点和的最小值
计算链表相邻结点和的最小值【问题描述】以下程序的功能是创建有ct个结点的链表,ct的值从键盘输入,每个结点中包含一个整数信息(同样从键盘输入)。计算该链表中每两个相邻结点的整数和,求其中的最小值对应的结点序号(链表建成后结点序号从1到ct编号)。【样例输入】(输入8个数,依次从尾插入链表)83 4 1 2 6 7 9 10【样例输出】(求出哪两个结点的和最小,此例为结点3和结点4的和最小)3 4#include <stdio.h>#include <stdlib.h>原创 2020-08-23 21:41:14 · 1684 阅读 · 0 评论 -
从链表中删除素数
从链表中删除素数【问题描述】以下程序中结点node定义了一个整数的信息,函数IsPrime的功能是判定一个整数是不是素数,是素数返回1否则返回0;函数create创建一个由10个整数构成的链表;函数del从链表中删除所有数据成员为素数的结点, 函数print输出头结点地址为head的链表信息。【样例输入】(输入10个数从头插入链表)9 8 7 6 5 4 3 2 1 0【样例输出】Source list: 0 1 2 3 4 5 6 7 8 9After deleted: 0 1 4 6 8原创 2020-08-23 21:39:47 · 2336 阅读 · 0 评论 -
判断算式的正确性
判断算式的正确性输入输入数据有若干行,每行上有一个算式,对应一种情形。该算式中只含一个四则运算符号,操作数及结果均为整数。要求判断该算式的正确性(规定:除法必须除尽才算正确)。输出对于每一种情形,直接输出T(表示正确)或F(表示错误)。样例输入1 + 2 = -35 / 2 = 24 / 2 = 2样例输出FFT#include<stdio.h>#include<string.h>#include<math.h>int main(){原创 2020-08-02 00:57:44 · 2525 阅读 · 1 评论 -
阶乘尾部0的个数
阶乘尾部0的个数输入输入数据有若干行,每行上有一个非负整数n,对应一种情形。输出对于每一种情形,直接输出结果、换行。样例输入81630样例输出137方法一:令f(x)表示正整数x末尾所含有的“0”的个数,则有:当0 < n < 5时,f(n!) = 0;当n >= 5时,f(n!) = k + f(k!), 其中 k = n / 5(取整)。#include<stdio.h>#include<string.h>#include&原创 2020-08-01 23:58:31 · 405 阅读 · 0 评论 -
求下列级数的近似值,x的值由键盘输入,约定求和精度为10-6。
【问题描述】求下列级数的近似值,x的值由键盘输入,约定求和精度为10-6。【输入形式】一个浮点数x,x<8【输出形式】双精度浮点数s(x)【样例输入】2【样例输出】0.882081#include <stdio.h>#include <math.h>int main(){ double x,s,i,m,j,h=1; scanf("%lf",&x); s=x; for(i=1;i<100;i++) {原创 2020-06-25 14:24:19 · 2538 阅读 · 1 评论 -
有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。
【问题描述】有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。【输入形式】输入人数n【输出形式】输出依次退出的人的编号,和最后留下的人的编号【样例输入输出】#include <stdio.h>int main(){ void number_off(int *p, int n); int num[100],*p=num,n,i; printf("Inpu原创 2020-10-16 10:04:57 · 6651 阅读 · 0 评论 -
输入一个字符串,并把它逆序输出。
输入一个字符串,并把它逆序输出例如循环结构:#include<stdio.h>#include<math.h>#include<string.h>void sort(char s[]){ int i; for(i=strlen(s)-1;i>=0;i--) { printf("%c",s[i]); }}int main(){ char s[80]; printf("Input原创 2020-06-16 21:41:52 · 6755 阅读 · 0 评论 -
输入2个正整数m和n(m≥1,n≤10 000),输出m ~n 之间所有的Fibonacci数。
【问题描述】输入2个正整数m和n(m≥1,n≤10 000),输出m ~n 之间所有的Fibonacci数。Fibonacci数列(第一项起):1,1,2,3,5,8,13,21,…。要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci 数。例如,fib(7)的返回值是13。【输入形式】从键盘输入2个整数m和n。【输出形式】输出m ~n之间所有的Fibonacci 数。【样例输入1】(下划线部分为键盘输入,其余部分为程序输出)Input m: 20Input n: 100原创 2020-06-16 16:56:48 · 11643 阅读 · 2 评论 -
二分法查找法查找key值
【问题描述】编写程序,建立一个静态的整型一维数组a,它共有九个元素,依次是1、12、23、34、45、56、67、68、89,在该数组元素中采用二分法查找法查找key值。若找到key,则打印对应的下标,否则打印-1。【输入形式】一个整数n,0<n<100【输出形式】下表x或者-1【样例输入】1【样例输出】0二分法:基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,如果当前位置arr[k]值等于key,则查找成功;若key小于当前位置值arr[k],原创 2020-06-14 00:13:57 · 4560 阅读 · 0 评论 -
编程打印用数字构成的菱形图案,菱形上半部分的行数n从键盘输入,总行数为2n-1。图案的样式按下面的样例。
【问题描述】编程打印用数字构成的菱形图案,菱形上半部分的行数n( 1<n<10 )从键盘输入,总行数为2n-1。图案的样式按下面的样例。【输入形式】从键盘输入包括中间一行在内的菱形上半部分的行数n ( 1<n<10 )。【输出形式】输出用数字构成的菱形图案,样式按下面的样例,其中各数字间用1个空格间隔,中间一行的起始数字1位于第1列。【样例输入】4【样例输出】#include<stdio.h>#include<math.h>#inclu原创 2020-06-13 23:36:31 · 3909 阅读 · 0 评论 -
统计一句话中有多少单词,以及一段话里有多少单词和句子。(C&C++)
一、C语言统计一行有多少单词【问题描述】输入一行英文字母,统计其中有多少个单词,单词之间用空格分隔。【输入形式】一行英文字符【输出形式】一个整数【样例输入】Hello world【样例输出】2#include<stdio.h>#include<math.h>#include<string.h>int main(){ char s[80]; gets(s); int len; len=strlen(s); in原创 2020-06-11 14:17:36 · 3325 阅读 · 0 评论 -
输入n个整数,每次将输入的整数插入到链表头部,再输入一个整数,在链表中查找该数据并删除对应的节点,输出进行删除操作后链表。
【问题描述】输入n(n>1)个整数,每次将输入的整数插入到链表头部。-1表示输入结束。再输入一个整数,在链表中查找该数据并删除对应的节点。要求输出进行删除操作后链表中所有节点的值。【输入形式】输入以空格分隔的n个整数,以-1结束输入,再输入一个要删除的整数。【输出形式】从链表第一个元素开始,输出链表中所有的节点值。以空格分隔。【样例输入】2 4 6 7 8 4 -12【样例输出】4 8 7 6 4#include<stdio.h>#include"math.h"#i原创 2020-06-11 13:43:32 · 7048 阅读 · 2 评论 -
输入一个以回车结束的字符串(少于80个字符),滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),输出该字符串并将其转换为十进制数后输出。
【问题描述】输入一个以回车结束的字符串(少于80个字符),滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),输出该字符串并将其转换为十进制数后输出。【输入形式】一个字符串,小于80个字符串【输出形式】输出为两行第一行 为整理后的新串第二行 一个十进制数字【样例输入】@@#!fg#【样例输出】f15#include<stdio.h>#include<math.h>#include<string.h>int main(){ c原创 2020-06-10 00:49:21 · 17458 阅读 · 11 评论 -
利用结构体计算两个日期之间相差的天数
【问题描述】结构struct Date {int year;int month;int day;};利用该结构编写一个程序用来计算两个日期之间相差的天数。【输入形式】输入两个日期,每个日期分占一行,在一行中日期的年、月、日是三个整数,以空格分隔。并假设第二个日期大于或等于第一个日期。【输出形式】第二个日期与第一个日期间相差的天数。【输入样例】2003 3 252003 3 29【输出样例】4#include<stdio.h>#include"math.h"#原创 2020-06-09 19:32:40 · 3923 阅读 · 0 评论 -
定义一个结构体变量用以记录一个日期(包括年,月,日)。输入一个日期,计算该日是本年的第几天。
【问题描述】定义一个结构体变量用以记录一个日期(包括年,月,日)。输入一个日期,计算该日是本年的第几天。【输入形式】输入日期(包括年 月 日),是三个整数,以空格分隔。【输出形式】输出该日是本年的第多少天。【样例输入】2003 3 25【样例输出】84【样例说明】输入一个日期,输出该日是本年的第几天。#include<stdio.h>#include"math.h"#include"string.h" struct Date { int year; int mo原创 2020-06-09 17:03:36 · 10769 阅读 · 0 评论 -
对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。
【问题描述】对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。【输入形式】从键盘依次输入最多不超过50个学生的学生姓名和成绩:第一行输入班级学生人数;在单独行上输入空格隔开的学生姓名和成绩,其中学生成绩是整数。【输出形式】按学生成绩由高到低顺序输出学生姓名和成绩,每行输出一位学生的姓名和成绩,其中姓名(英文)占15位,成绩占5位,均按缺省方式对齐。成绩相同时按输入次序排序原创 2020-05-21 21:07:23 · 16189 阅读 · 3 评论 -
编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N为边长的正六边形。
【问题描述】编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N为边长的正六边形。【输入形式】输入一个正整数N。【输出形式】屏幕上输出以N为边长的正六边形。【样例输入】4【样例输出】**** * * *****【样例说明】输入的为一个正整数,打印输出一个以这个正整数为边长的正六边形.###****#####################################****#号代表空格。#include<s原创 2020-05-21 21:00:22 · 6961 阅读 · 4 评论 -
从控制台读入一个字符串(长度不超过10),向控制台输出其所有子字符串(包括原字符串本身)。
【问题描述】从控制台读入一个字符串(长度不超过10),向控制台输出其所有子字符串(包括原字符串本身)。【输入形式】从控制台输入一个字符串,字符串中不含空格。【输出形式】向控制台输出所有子字符串,每行输出一个,先输出长度短的子字符串,长度相同时以在原字符串中出现的先后顺序输出。【样例输入】abcd【样例输出】abcdabbccdabcbcdabcd【样例说明】输入的字符串为abcd,长度为4。先输出长度为1的子串,并以出现的先后顺序输出,即:a、b、c、d。同样再输出长原创 2020-05-21 18:37:44 · 3341 阅读 · 1 评论 -
从键盘输入某地某年12个月的降雨量,然后计算每月的降雨量在年降雨量中所占的百分比(四舍五入为整数,且不会超过全年的70%),再以下面例图所示的直方图形式打印出来。
从键盘输入某地某年12个月的降雨量,然后计算每月的降雨量在年降雨量中所占的百分比(四舍五入为整数,且不会超过全年的70%),再以下面例图所示的直方图形式打印出来,其中:第一部分为月份,占2列;第二部分为百分比,占5列;第三部分从第9列开始,为用#号图示比例,1个#号为1%,括号用( )表示。例如:【样例输入】10 20.7 20.3 40 60.6 80 130 120 110 65 35 15【样例输出】1(1%)#2(3%)###3(3%)###4(6%)######5(9%)#####原创 2020-05-19 18:23:43 · 4395 阅读 · 1 评论 -
足球赛某小组有n个球队,球队两两之间进行循环赛,共有n*(n-1)/2场比赛,每场比赛对应一对得分比,请按示例格式完成以下要求。
功能说明:足球赛某小组有n个球队,球队两两之间进行循环赛,共有n*(n-1)/2场比赛,每场比赛对应一对得分比,请按示例格式完成以下要求。(1)输入球队数n(假设n<10),并输入n*(n-1)个比赛得分;(2)计算并输出所有球队的总进球数;(3)统计并输出打成平局的场数;(4)统计并输出单场次最少进球数。运行示例:输入:4 3 1 2 2 1 1 1 3 4 1 1 2输出:22 2 2说明:4个球队,6场比赛及得分比(第1场3:1,第2场2:2等),总进球数为22,平局原创 2020-05-19 18:23:06 · 5871 阅读 · 0 评论 -
求两个正整数的最大公约数和最小公倍数。
【问题描述】求两个正整数的最大公约数和最小公倍数。【输入形式】两个空格分割的正整数【输出形式】The greatest common divisor:XThe lowest common multiple:Y【样例输入】2 4【样例输出】The greatest common divisor:2The lowest common multiple:4#include<stdio.h>int main(){ int m,n,k,a,b; scanf("%d原创 2020-05-19 18:00:42 · 1309 阅读 · 0 评论 -
字母串密钥加密输出字符串(C语言)
【问题描述】有一种加密方法为:其使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feather,则先去掉密钥单词中的重复字母得到单词串feathr,然后将其反序,并将字母表中的其它字母以反序追加到后面:r h t a e f z y x w v u s q p o n m l k j i g d c b加密字母的对应关系如下:a b c d e f g h i j k l m n o p q原创 2020-05-14 22:14:43 · 6255 阅读 · 0 评论 -
猴子选大王问题(要从n只猴子中选出一位大王。它们决定使用下面的方法: n只猴子围成一圈,从1到n顺序编号。从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始)
【问题描述】要从n只猴子中选出一位大王。它们决定使用下面的方法:n只猴子围成一圈,从1到n顺序编号。从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始从1到m报数,直至剩下的最后一只为大王。请问最后哪只猴子被选为大王。【输入形式】控制台输入三个整数n,m,q。【输出形式】输出最后选为大王的猴子编号。【样例输入】7 4 3【样例输出】4【样例说明】输入整数n = 7,m = 4,q = 3,输出4#include<stdio.h>#原创 2020-05-14 21:48:24 · 7861 阅读 · 7 评论 -
十六进制转换为十进制输出(C语言字符串)
【问题描述】(少于80 个字符),滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。【输入形式】输入一个以回车结束的字符串【输入输出样例1】(下划线部分表示输入)Input a string: 10Hex=16#include<stdio.h>#include<math.h>#include<string.h>int main(){ char string[80]; printf("Input原创 2020-05-14 21:48:38 · 9226 阅读 · 0 评论 -
输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素。
【问题描述】输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素,要求在主函数中输入A和B数组,并输出交集中的元素,在被调函数中实现求这两个集合的交集。【输入形式】从键盘输入数组A和B(元素个数均为5)。【输出形式】交集中的元素【样例输入】(下划线部分为键盘输入,其余部分为程序输出)Please Enter Array A,5 digits: 1 2 3 4 5Please Enter Array B原创 2020-05-09 22:20:15 · 4053 阅读 · 0 评论 -
从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。
【问题描述】编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。【输入形式】用户在第一行输入一个字符串。【输出形式】程序按照字符(ASCII)顺序从小到大排序字符串,并删除重复的字符进行输出。【样例输入】badacgegfacb【样例输出】abcdefg【样例说明】用户输入字符串badacgegfacb,程序对其进行按从小到大(ASCII)顺序排序,并删除重复的字符,最后输出为abcdefg#include<stdio.h>#include<原创 2020-05-09 21:32:32 · 12982 阅读 · 1 评论 -
编写一个函数将有序字符串str2合并到字符串str中,要求合并后的字符串仍是有序的(其中字符按ASCII码从小到大排序)。
【问题描述】编写一个函数void str_bin(char str1[ ], char str2[ ]), str1、str2是两个有序字符串(其中字符按ASCII码从小到大排序),将str2合并到字符串str1中,要求合并后的字符串仍是有序的,允许字符重复。在main函数中测试该函数:从键盘输入两个有序字符串,然后调用该函数,最后输出合并后的结果。【输入形式】分行从键盘输入两个有序字符串(不超过100个字符)【输出形式】输出合并后的有序字符串【输入样例】acegbdfh【输出样例】a原创 2020-05-09 21:34:51 · 8692 阅读 · 4 评论 -
将两个已按升序排列的数组合并成一个升序数组,要求在主函数中输入两个数组,并输出合并后的结果。
【问题描述】将两个已按升序排列的数组合并成一个升序数组,要求在主函数中输入两个数组,并输出合并后的结果,在被调函数中实现合并。【输入形式】输入数组A的元素个数及元素输入数组B的元素个数及元素【输出形式】输出合并后的结果【样例输入】(下划线部分为键盘输入,其余部分为程序输出)Enter n: 3Enter 3 integers: 5 9 11Enter m: 3Enter 3 integers: 1 3 8【样例输出】1 3 5 8 9 11【样例说明】输入提示符原创 2020-05-09 22:04:06 · 8921 阅读 · 2 评论