- 博客(40)
- 收藏
- 关注
原创 素数筛算法
在这里插入代码片```#include <bits/stdc++.h>using namespace std;int main(){ int a[1000000],b[1000000],k=1; int n; cin>>n; for(int i=1;i<=n;i++) { a[i]=1;//先将n个数都为素数 b[i]=0;//没有素数 } for(int i=2;i<=n;i++) { if(a[i])//当a[i]为素数时
2021-06-06 20:52:45 86
原创 快速幂算法
在这里插入代码片```#include <stdio.h>int main(){ int n,m,ans=1; scanf("%d %d",&m,&n);//输入底数和指数 while(n)//指数不为零时 { if(n%2==1) {ans=(ans*m)%10007;}//奇数时要拆开一项 m=(m*m)%10007;//为奇为偶都得做这步 n/=2; } printf("%d",ans%10007)
2021-06-06 20:09:04 74
原创 高精度乘法
在这里插入代码片```#include <bits/stdc++.h>using namespace std;int a[100005],b[100005],c[100005],la,lb,lc;string x,y;int main(){ cin>>x>>y; la=x.length(); lb=y.length(); for(int i=0;i<la;i++) { a[la-i]=x[i]-'0'; } for(int i=0;i&l
2021-05-23 19:18:10 73
原创 求链式线性表的倒数第K项
在这里插入代码片```给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7```c在这里插入代码片```#include<stdio.h>#include<stdlib.h&
2021-02-06 15:33:17 301
原创 链表的基本操作
在这里插入代码片```本题要求实现链式表的操作集。函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrTo
2021-02-05 17:17:39 108
原创 单链表逆转
在这里插入代码片```3-2-链表 单链表逆转 (20 分)本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链
2021-02-05 16:04:17 132
原创 链表 学生成绩链表处理
在这里插入代码片```本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:struct stud_node *createlist();struct stud_node *deletelist( struct stud_node *head, int min_score );函数createlist利用scanf从输入中获取学生的信息,将其组织成单向链表,并返回链表头指针。链表节点结构定义如下:struct stud_nod
2021-02-02 14:48:47 3875
原创 链表 建立学生信息链表
在这里插入代码片```本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。函数接口定义:void input();该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:struct stud_node { int num; /*学号*/ char name[20]; /*姓名*/ int score; /*成绩*/ struct s
2021-02-02 13:58:59 1414
原创 学生管理系统
在这里插入代码片```#include <stdio.h>#include <stdlib.h>#include <string.h>#define pf printf#define sf scanf#define NNN 1000 //学生基本信息 typedef struct Student{ char sno[9]; // 学号 char name[20];//姓名 char sex[3];//性别 char dept[30]; /
2021-01-27 18:12:25 212
原创 2021-01-27
在这里插入代码片```#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <Windows.h>#include <time.h>#include <conio.h> /*键盘输入获取*/bool gameOver;bool stop = false;bool hit = false;/*游戏的边框大小*/const int widt
2021-01-27 18:05:35 74
原创 选择排序
在这里插入代码片```#include<stdio.h>int main(){ int n,j,i,t,s; int a[100]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(i=0;i<n-1;i++){ t=i; for(j=i+1;j<n;j++){\\从已选好的后一位开始筛选\\ if(a[j]<a[t]){ t=j;\\找出最小的
2021-01-12 20:45:27 54
原创 结构 有理数加法
在这里插入代码片```结构 有理数加法 (15分)本题要求编写程序,计算两个有理数的和。输入格式:输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例1:1/3 1/6输出样例1:1/2输入样例2:4/3 2/3输出样例2:2`在这里插入代码片`#include <stdio.h&
2020-12-29 16:54:12 339
原创 结构 按等级统计学生成绩
在这里插入代码片```实验9-6-结构 按等级统计学生成绩 (20分)本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。函数接口定义:int set_grade( struct student *p, int n );其中p是指向学生信息的结构体数组的指针,该结构体的定义为:struct student{ int num; char name[20]; int score; char grade;};n是数组元素个数。学号num、姓名na
2020-12-29 16:32:58 420
原创 -结构 通讯录排序
在这里插入代码片```实验9-8-结构 通讯录排序 (20分)输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息
2020-12-27 14:46:11 251
原创 结构 查找书籍
在这里插入代码片```实验9-5-结构 查找书籍 (20分)给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。```c在这里插入代码片```#include<stdio.h>
2020-12-27 14:27:49 147
原创 结构 有理数比较
在这里插入代码片```实验9-9-结构 有理数比较 (10分)本题要求编写程序,比较两个有理数的大小。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。输入样例1:1/2 3/4输出样例1:1/2 < 3/4输入样例2:6/8 3/4输出样例
2020-12-27 14:01:43 548
原创 指针 判断回文字符串
在这里插入代码片```本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXN 20typed
2020-12-17 08:42:30 1127
原创 指针 查找子串
本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *search(char *s, char *t);void ReadString( char s[] ); /* 裁判提供,细节不表 */int main(){
2020-12-16 23:07:46 970 1
原创 指针 指定位置输出字符串
在这里插入代码片```char *match( char *s, char ch1, char ch2 ){ int i=0;//记录指针移动的次数 while(*s!=ch1&&*s!='\0')//寻找开头字符 s=s+1; if(*s!='\0')//若找到开头字符 { for(*s;*s!='\0'&&*s!=ch2;s++)//指针从开头字符开始,输出字符直到找到结尾字符 { if(*s==ch2)//若找到结尾字符 break;
2020-12-16 22:27:36 400
原创 指针 查找星期
在这里插入代码片```int getindex(char* s){ { int i; char*p[7] = { "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" };//存入地址// for (i = 0; i < 7; i++) { if (strcmp(s, p[i]) == 0) {//判断是否是相等的//
2020-12-16 21:21:03 417
原创 字符串 字符串排序
在这里插入代码片```#include <stdio.h>#include <string.h>int main(){ int i, j; char a[5][85],t[85]; for (i = 0; i < 5; i++) { scanf("%s", &a[i]); } for (i = 0; i < 4; i++) { for (j = 0; j < 5 - 1 - i; j++) { if (strcmp(a[j],
2020-12-14 21:45:29 66
原创 字符串 删除重复字符
在这里插入代码片```#include <stdio.h>#include <string.h>//用字符函数时记得要加头文件//int main(){ char ch,a[100], b[100],t; int i,l=0 ,j, cnt = 0,k=0,flag=1; ch = getchar(); for (i = 0; ch != '\n'; i++) { a[i] = ch; l++; ch = getchar(); } for (i = 0
2020-12-14 18:37:23 98
原创 点赞
在这里插入代码片```#include <stdio.h>int main(){ int n, a[10000] = { 0 }, max = 0, s = 0, f, t, i; scanf("%d", &n); while (n > 0) { scanf("%d", &t); for (i = 0; i < t; i++) { scanf("%d", &f); a[f]++; } n--; } for (i =
2020-12-14 17:59:48 108
原创 猴子选大王
在这里插入代码片```#include <stdio.h>int main(){ int n,a[1000000], s=0, i; scanf("%d", &n); for (i = 0; i < n; i++) {//给每个人序号// a[i] = i + 1; } int d = n; while (d > 1) { for (i = 0; i < n; i++) { if (a[i] == 0) {//若[i]==0说明此人已
2020-12-14 17:43:19 37
原创 求一批整数中出现最多的个位数字
在这里插入代码片```#include <stdio.h>int main(){ int max=0,c,d,n,a[10]={0},i,j; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&d); while(d>0){ c=d%10; d=d/10; a[c]++;//利用数组进行出现的数累加// } } for(i=0;i<10;i++){ if(a[i]>=
2020-12-12 12:49:50 75
原创 字符串 输出大写英文字母
在这里插入代码片```#include <stdio.h>int main(){ char a[100], b[100]; int i, j, k, cnt = 0, flag; for (i = 0; (a[i] = getchar()) != '\n'; i++) { b[i] = a[i]; } a[i] = '\0';//数组最后要补个‘0’// for (i = 0; a[i] != '\0'; i++) { flag = 1;//控制程序的进入//i i
2020-12-09 17:54:21 507
原创 一维数组 组个最小数
在这里插入代码片```#include <stdio.h>int main(){ int a[10],i,j; for(i=0;i<10;i++){ scanf("%d",&a[i]); } for(i=1;i<10;i++){ if(a[i]!=0){//输出第一个不为零的数// printf("%d",i); a[i]--; break; } } for(i=0;i<10;i++){ while(a[i]!=0){/
2020-12-09 17:03:30 145
原创 7-5 简化的插入排序 (15分)
在这里插入代码片````#include <stdio.h>int main(){ int n, a[100], x, flag = 1, i; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &x); for (i = 0; i < n; i++) { if (x <= a[i] && flag) {//
2020-12-08 22:45:37 678
原创 找鞍点
在这里插入代码片#include <stdio.h>int main(){ int a[6][6],n, i, j,y=0,o=0,p,flag=0; scanf("%d", &n); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%d", &a[i][j]); } } if (n == 1) {\\特判\\ printf("0 0"); retur
2020-12-07 22:43:07 42
原创 使用函数输出一个整数的逆序数
#本题要求实现一个求整数的逆序数的简单函数。函数接口定义:int reverse( int number );其中函数reverse须返回用户传入的整型number的逆序数。裁判测试程序样例:#include <stdio.h>int reverse( int number );int main(){int n;scanf("%d", &n);printf("%d\n", reverse(n));return 0;}/* 你的代码将被嵌在这里 */输入样
2020-12-02 17:18:08 595
原创 单词加密解析
在这里插入代码片``# 7-1 单词加密解析 (15分)输入一个英文单词(由六个小写英文字母组成),按照下列过程将该单词加密:先将英文单词中的小写字母转换为对应的大写字母,再将该大写字母的ASCII码对10整除后取其余数,从而得到一个六位整数密码。输入格式:输入在一行中给出1个由六个小写英文字母组成的英文单词。输出格式:按照规则转换成一个六位整数密码,并输出转换的过程。输入样例:friday输出样例:f->F->0r->R->2i->I->
2020-12-02 16:45:31 1117 2
原创 报数
在这里插入代码片****#include <stdio.h>#define MAXN 20void CountOff( int n, int m, int out[] );int main(){ int out[MAXN], n, m; int i; scanf("%d %d", &n, &m); CountOff( n, m, out ); for ( i = 0; i < n; i++ ) p
2020-12-01 20:56:03 69
原创 统计一行文本的单词个数
在这里插入代码片``##本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 #include <stdio.h>int main(){ char ch; int cnt=0,word=0;//即使第一次不是空格也能执行else if// ch=getchar(); while(ch!='\n'){ if(ch==' '){ word=0; }//选择执行// else if(word==0)
2020-12-01 18:07:41 2106 4
原创 一维数组 数组循环右移
在这里插入代码片```#include <stdio.h>#define MAXN 10int ArrayShift( int a[], int n, int m );int main(){ int a[MAXN], n, m; int i; scanf("%d %d", &n, &m); for ( i = 0; i < n; i++ ) scanf("%d", &a[i]); ArrayShift(a,
2020-11-30 22:36:44 744
原创 使用函数验证哥德巴赫猜想
在这里插入代码片```#include <stdio.h>#include <math.h>int prime( int p );void Goldbach( int n );int main(){ int m, n, i, cnt; scanf("%d %d", &m, &n); if ( prime(m) != 0 ) printf("%d is a prime number\n", m); if ( m <
2020-11-30 21:52:27 275
原创 使用函数输出指定范围内的Fibonacci数
```c在这里插入代码片```#include <stdio.h>int fib( int n );void PrintFN( int m, int n );int main(){ int m, n, t; scanf("%d %d %d", &m, &n, &t); printf("fib(%d) = %d\n", t, fib(t)); PrintFN(m, n); return 0;}/* 你的代码.
2020-11-30 17:45:45 288
原创 冒泡排序
在这里插入代码片```#include <stdio.h>int main(){ int n,a[100],j,i,t; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(i=1;i<n-1;i++){ for(j=0;j<n-i;j++){ if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t;
2020-11-30 13:11:26 56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人