915
liuze408
这个作者很懒,什么都没留下…
展开
-
915xjtu2022_3
一堆数中,求不同组合数加起来等于某一个target的数的组合,并要求输出所有的组合。#include<stdio.h>#include<stdlib.h>#include<string.h>int N; int a[100];int target;bool visited[100];int sum;void backtrace(int n){ if(sum>target) return; if(sum==target){ for(i原创 2022-03-25 15:38:35 · 110 阅读 · 0 评论 -
915xjtu2022_2
判断5张扑克牌是不是顺子,其中,大小王可以充当任何数。#include<stdio.h>#include<string.h>#define N 100//判断5张扑克牌是不是顺子,其中,大小王可以充当任何数。int main(){ //假设大小王用0来充当J充当11Q充当12K充当13 int a[5]; for(int i=0;i<5;i++){ scanf("%d",&a[i]); } //统计大小王0的个数 int n=0,m=原创 2022-03-25 15:35:51 · 95 阅读 · 0 评论 -
915xjtu2022_1
无人机参加比赛,无人机有蓝红绿紫四种颜色,统计每种颜色的无人机数量,并按照成绩从高到低输出。输入:N-----表示有N组数据70 b//蓝色80 r//红色90 g//绿色60 p//紫色------输入N组数据输出:Blue 1Red 1Green 1Purple 190 Green80 Red70 Blue60 Purple#include<stdio.h>#define N 100...原创 2022-04-10 11:26:48 · 420 阅读 · 0 评论 -
915xjtu2021_3
虚拟机器人复制,第一天生产一个成熟机器人。成熟机器人每天可生产一个新机器人,新机器人3天可变成成熟机器人。输入:第n天输出:第n天的机器人总数。/*fanzhi(0)=1;fanzhi(1)=2;fanzhi(2)=3;fanzhi(3)=4;fanzhi(4)=6;fanzhi(5)=9;fanzhi(6)=13;fanzhi(7)=19;fanzhi(8)=28;*/#include<stdio.h>int fanzhi(int n){ if(n==0原创 2022-03-25 14:59:10 · 141 阅读 · 0 评论 -
915xjtu2021_2
完美数定义--------如果一个大于1的正整数的所有因子之和等于这个数本身,则这个数就是完美数。输入:给定一个正整数输出:输出两行,如果n是完美数,返回true,否则返回false。并在第二行按照从小到大输出10000内的完美数(以空格分隔)。#include<stdio.h>#include<math.h>int main(){ printf("请输入一个正整数:"); int n; scanf("%d",&n); int n1=n; int a[原创 2022-03-25 14:56:27 · 72 阅读 · 0 评论 -
915xjtu2021_1
请写应该程序,找出给定矩阵的马鞍点。若一个矩阵中的某元素在其所在行最小而在其所在列最大,则元素为矩阵的一个马鞍点。输入数据由m+1行构成,第一行只有两个整数m和n,分别表示矩阵的行数和列数,接下来m行,每行n个表示矩阵元素。输出马鞍点数,每行一个,为行列以及马鞍数。如果不存在,则输出“not exist”。#include<stdio.h>int main(){ int m,n; printf("请输入行数和列数:"); scanf("%d %d",&m,&n)原创 2022-03-25 14:53:28 · 269 阅读 · 0 评论 -
915xjtu2020_3
公司发礼品,有n件商品价值为a1,a2…an的不同商品(0<=an<=40),其价值各不相同。某员工有总价值200元的商品可以选,问总共有多少种商品搭配。#include<stdio.h>#define N 1024int m,n;int f[N];//f[j]代表花费j元有多少个方案数 int main(){ printf("请输入商品数:"); scanf("%d",&n);//n件商品 m=200; f[0]=1;//dp状态初始化,代表当前没有原创 2022-03-25 14:28:31 · 190 阅读 · 0 评论 -
915xjtu2020_2
反序数指整数各位取反之后的数。如321的反序是123,147的反序是741。现输入n组a,b(a,b均大于0并小于10000),如果a,b反转的和等于和的反正,则输出a,b。例如a=123,b=456,那么a+b和为123+456=579,a与b的反转数和为321+654=975,579的反转数是975,满足题意故输出。输入第一行为n代表输入的组数,下面几行代表几对数组。要求可以输入多组数据。符合条件则输出对应组数,否则输出none。#include<stdio.h>int ji.原创 2022-03-25 14:24:01 · 88 阅读 · 0 评论 -
915xjtu2020_1
a,b,c,d四个0~9的数字,输出所有使得abcd+cadb=9102的abcd数字。#include<stdio.h>int main(){ int a,b,c,d; int x=0; while(x<=9102&&x>0){ a=x/1000; b=x/100%10; c=x/10%10; d=x%10; if((x+c*1000+a*100+d*10+b)==9102){ printf("%d\n",x); }原创 2022-03-25 14:20:19 · 94 阅读 · 0 评论 -
915xjtu2019_3补
一个无序序列,找出其中的逆序对。要求时间复杂度为O(nlogn)。#include <stdio.h>#define N 5int count = 0;void merge_inverse(int numbers[], int p, int q, int r, int *num);void merge_and_count(int numbers[], int p, int r);int main(void){ int numbers[N], i; printf("转载 2022-03-15 11:50:04 · 69 阅读 · 0 评论 -
915xjtu2019_3
一个无序序列,找出其中的逆序对。要求时间复杂度为O(nlogn)。如果不能实现上述时间复杂度,请分析你自己所实现程序的时间复杂度。关于一个包含N个非负整数的数组A[1…n],如果i<j,并且A[i]>A[j],则称(A[i],A[j])为数组A中的一个逆序对。时间复杂度O(N2)#include<stdio.h>#include<string.h>#define N 100int main(){ char a[N]; int count=0; sc原创 2022-03-15 11:45:28 · 98 阅读 · 0 评论 -
915xjtu2019_2_2补
回文串可以被定义为形如abccba,也可以是a bc c b a(含空格)。(2)不使用递归,使用栈来实现上述功能。#include<stdio.h>#include<string.h>#include<stdlib.h>#define maxsize 100using namespace std;typedef struct node{ int stack[maxsize]; int top;}seqstack;void init(seqsta原创 2022-03-15 11:42:57 · 60 阅读 · 0 评论 -
915xjtu2019_2_2
回文串可以被定义为形如abccba,也可以是a bc c b a(含空格)。(2)不使用递归,使用栈来实现上述功能。#include<stdio.h>#include<string.h>int main(){ char a[100]; gets(a); int len=strlen(a); char b[len]; int count=0; for(int i=0;i<len;i++){ if(a[i]==' '){ continue;原创 2022-03-15 09:12:24 · 88 阅读 · 0 评论 -
915xjtu2019_2_1
回文串可以被定义为形如abccba,也可以是a bc c b a(含空格)。(1)使用递归思想,实现一个检测回文串的函数。#include<stdio.h>#include<string.h>#define N 100bool digui(char *a,int n){ if(n==0||n==1) return true; else if(a[0]==a[n-1]) digui(a+1,n-2);//指针加一递归回去变新数组,首字符尾字符比较后长度应该减2原创 2022-03-13 18:13:06 · 330 阅读 · 0 评论 -
915xjtu2019_1
输入若干个点的坐标(x,y),x,y都是正整数。输入(0,0)表示输入结束。现要求输入完毕以后,输出一个长方形左下角和右上角的坐标。要求长方形区域覆盖所有输入点坐标。#include<stdio.h>#define N 100struct point{ int x; int y;}P[N]; int main(){ printf("请输入若干点的坐标:\n"); int i; for(i=0;i<N;i++){ printf("第%d个:",i+1);原创 2022-03-13 17:55:49 · 126 阅读 · 0 评论 -
915xjtu2018_4
将m个相同的球全部放到n个相同的盒子里有多少种放法。#include<stdio.h>#define M 1024#define N 1024int dp[M][N];//m个球放n个盒子 void init(int m,int n){ for(int i=0;i<=m;i++){ for(int j=0;j<=n;j++){ if(i==0||i==1){ dp[i][j]=1;//球的个原创 2022-03-13 17:07:50 · 360 阅读 · 0 评论 -
915xjtu2018_3
输入年月日,求这是当年第几天。//输入年月日,求这是当年第几天。#include<stdio.h>int main(){ int y,m,d; printf("请输入年月日,以空格隔开:\n"); while(scanf("%d %d %d",&y,&m,&d)!=EOF){ switch(m){ case 1: printf("这是今年第%d天",d); break; case 2: printf("这是今年第%d天",d+原创 2022-03-13 11:54:08 · 66 阅读 · 0 评论 -
915xjtu2018_2
输入学生的姓名和成绩,按照学生成绩进行排序后输出。#include<stdio.h>#include<string.h>#define N 5struct stu{ char name[20]; int score;}S[N];int main(){ printf("请依次输入学生姓名与成绩(空格隔开):"); for(int i=0;i<N;i++){ scanf("%s %d",&S[i].name,&S[i].score);原创 2022-03-13 16:11:51 · 83 阅读 · 0 评论 -
915xjtu2018_1
输入一串字符串,字符串以“#”结尾,判断输入的字符串中0至9的个数。#include<stdio.h>#include<string.h>#define N 100int main(){ char a[N]; for(int i=0;i<N;i++){ scanf("%c",&a[i]); if(a[i]=='#') break; } int n=strlen(a);...原创 2022-03-13 11:28:16 · 286 阅读 · 0 评论 -
915xjtu2017_4_2
有n个需要在同一天使用同一个教室的活动a1,a2,…,an,教室同一时刻只能由一个活动使用。每个活动ai都有一个开始时间si和结束时间fi。一旦被选择后,活动ai就占据半开时间区间[si,fi)。如果[si,fi]和[sj,fj]互不重叠,ai和aj两个活动就可以被安排在这一天。该问题就是要安排这些活动使得尽量多的活动能不冲突的举行(最大兼容活动子集)。选取贪心策略是每次选取结束时间最早的活动。原创 2022-12-15 23:29:14 · 103 阅读 · 0 评论 -
915xjtu2017_4
假设有n个作业,m台机器设备,每个作业i可选择一台设备加工,加工时间为Ti,每次一台设备只可以加工一个作业,基于贪心策略,实现作业调度,使n个作业等待时间的和最小。#include<stdio.h>//定义最大作业数量#define MAXLENGTH 10//定义机器的空闲时间int d[MAXLENGTH];//定义每台机器的处理时间int S[MAXLENGTH][MAXLENGTH];//定义一个结构体,记录作业处理时间struct work{ //作业时间 i转载 2022-03-03 15:36:05 · 116 阅读 · 0 评论 -
915xjtu2017_3
设有两个栈s1,s2都采用顺序栈,并且共享一个存储区[0…maxsize-1].为了尽量使用空间,减少溢出的可能,可采用栈顶相向,迎面增长的存储方式,请设计s1,s2栈的出栈、进栈操作算法。#include<stdio.h>#define MAXSIZE 3typedef struct ShareStack{ int data[MAXSIZE]; int top1=-1; int top2=MAXSIZE;}ShareStack;int count=0;bool Push原创 2022-03-03 15:05:28 · 86 阅读 · 0 评论 -
915xjtu2017_2
写一个折半查找函数,尽可能使得时间复杂度最小。#include<stdio.h>#include<string.h>int zheban(int *a,int n,int x);int main(){ int n; printf("请输入字符串长度 :"); scanf("%d",&n); int a[n]; int x;//要查找的数 printf("请输入该数组各项值:"); for(int i=0;i<n;i++){ scanf(原创 2022-03-03 09:48:44 · 91 阅读 · 0 评论 -
915xjtu2017_1
带头结点的单链表,只有头指针list,不改变链表的情况下,设计一个高效算法,查找倒数第k位上的结点,查找成功输出对应的data值,成功返回1,否则返回0。链表参考915xjtu2015_4//查找倒数第k位上的结点,查找成功输出对应的data值,成功返回1,否则返回0int find(LinkNode link,int k){ Lnode *p,*q; p=q=link; int i=1; while(i<k&&p){ p=p->next; i++;原创 2022-03-03 10:21:05 · 486 阅读 · 0 评论 -
915xjtu2016_3
建立一个学生在某一个课程到课情况统计程序。功能要求:(1)可一次性输入所有学生的到课情况,输入学生总人数,该课程总课时,学生学号,及其到课情况,分为正常,迟到,请假,旷课;(2)可统计某一学生的到课情况的上课率(包括正常,迟到),旷课率并输出。(3)可统计所有学生的上课率,旷课率并输出。#include<stdio.h>#include<string.h>#define N 10struct student{ char id[20];//学生学号 int cla原创 2022-03-02 15:07:45 · 120 阅读 · 0 评论 -
915xjtu2016_2
编写一个函数,功能:从一个整数m中,统计其中各位上等于n的数字数目,并返回,其中n在0到9之间,若n越界,则返回-1,并提示“第二个参数越界”。例如4500201中有0共3个,编写主函数并调试。#include<stdio.h>long long int count(long long int m,long long int n);int main(){ long long int m,n; printf("请输入一个整数:"); scanf("%lld",&m);原创 2022-03-02 11:35:44 · 72 阅读 · 0 评论 -
915xjtu2016_1
编写一个函数,功能是:将字符串s中的所有数字字符去掉,保留其余的字符,并且将形成的新字符串存储在原来s的空间中。#include<stdio.h>#include<string.h>void del(char *s);int main(){ char a[100]; printf("请输入字符串:"); scanf("%s",&a); del(a); return 0;} void del(char *s){ int i; for(i=0;i&原创 2022-03-02 11:10:00 · 150 阅读 · 0 评论 -
915xjtu2015_4
编写一个函数,统计出单链表中值等于x的个数。#include<stdio.h>#include<stdlib.h>#define SIZE 10typedef struct Lnode{ int data; struct Lnode *next;}Lnode,*LinkNode;//创建链表 int CreatLink(LinkNode link,int *arr){ if(link==NULL) return 0; Lnode *q=link; fo原创 2022-03-01 20:21:27 · 254 阅读 · 0 评论 -
915xjtu2015_3
编写一个候选人的得票统计程序,设有m个选举人,n个候选人每输入一个得票的候选人名字,要求输出每一个候选人的得票情况。#include<stdio.h>#include<string.h>#define m 10#define n 3struct people{ char name[20]; int number;}candidate[n]={"zhangsan",0,"lisi",0,"wangwu",0};int main(){ char candidate原创 2022-03-01 17:18:01 · 256 阅读 · 0 评论 -
915xjtu2015_2
写一个函数,输入一个字符串,分别统计该字符串中出现的数字字符个数,字母字符个数和其他类型字符的个数。#include<stdio.h>#include<string.h>void count(char *a);int main(){ char a[100]; printf("请输入该字符串:"); scanf("%s",&a); count(a); return 0;} void count(char *a){ int number=0,l原创 2022-03-01 16:42:37 · 77 阅读 · 0 评论 -
915xjtu2015_1
编写一个函数,该函数有三个参数,一个是二维数组,一个是二维数组的行,一个是二维数组的列数,输出该二维数组两条对角线元素之和。#include<stdio.h>void add(int x,int y,int *a);int main(){ int n; printf("请输入该矩阵的行数:"); scanf("%d",&n); int a[n][n]; printf("请输入该矩阵的各项值:"); for(int i=0;i<n;i++){ for(int原创 2022-03-01 12:04:48 · 70 阅读 · 0 评论 -
915xjtu2014_4
程序根据输入的书名。使该书的库存量减少一本,售书统计数增加1;从键盘每次输入一本书名(假设购买该出版社的读者有100人);按售书统计数的多少从大到小排序输出书名,售书统计数,库存量。每一本书需保存的信息:书名,库存量,单价,出书统计数;某出版社需要统计本社目前最畅销的30本书的售书情况。(2)编写程序,实现上述的所有要求。(1)设计出该程序的数据结构;原创 2022-12-08 23:01:20 · 233 阅读 · 0 评论 -
915xjtu2014_3
输入a,b两个字符串,将两个字符串a,b连接起来。#include<stdio.h> #include<string.h>int main(){ char a[100],b[100],c[100]; printf("请输入数组a与数组b,用空格隔开:\n"); scanf("%s %s",&a,&b); int a_len=strlen(a); int b_len=strlen(b); int c_len=a_len+b_len; for(原创 2022-02-27 18:24:26 · 157 阅读 · 0 评论 -
915jxtu2014_2
编写一个程序,输入一串字符串,以回车结束,判断该字符串是否是回文串,如“abcddcba”是回文串,即正读反读相同的串。#include<stdio.h> #include<string.h>int main(){ char a[100]; printf("请输入该字符串:"); scanf("%s",&a); int i; for(i=0;i<strlen(a)/2;i++){ if(a[i]!=a[strlen(a)-i-1]){ p原创 2022-02-27 18:10:49 · 169 阅读 · 0 评论 -
915xjtu2014_1
编写一个程序,输出任意一个十进制整数对应的二进制数、八进制数和十六进制数。#include<stdio.h>#include<string.h> int main(){ /*编写一个程序,输出任意一个十进制整数对应的二进制数、八进制数和十六进制数。*/ int a,b,c;//a用于二进制转换,b用于八进制转换,c用于16进制转换 int bin[100]; int oct[100]; char hex[100]; printf("输入一个十进制数:");原创 2022-02-27 17:44:12 · 79 阅读 · 0 评论 -
915xjtu2013
请编写一C语言程序,该程序的功能是确定字符串中首次出现的某字符在串中的位置(即该字符是字符串中的第几个字符),然后从字符串中删除该字符。要求:(1) 如果未找到该字符,程序给出相应信息,否则,输出该字符在字符串中首次出现的位置,删除该字符(注:不考虑非首次出现的该字符的删除),并且显示删除前后的字符串。(2)通过键盘输入字符串以及被确定的字符。#include<stdio.h> #include<string.h>int main(){ char a[100],a原创 2022-02-27 16:35:02 · 347 阅读 · 0 评论