自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 约瑟夫环数据结构

#include<stdio.h>#include<stdlib.h>typedef struct Node//创建结构体,里面存储每个人的序号,密码和后继指针。{int num;int data;struct Node*next;}Node,*LinkList;void createlist(LinkList L,int n)//创建一个循环单链表,把每个人的序号和密码输给循环链表的每个结点{Node *p,*s;int t=1,i;printf("请.

2022-01-24 11:15:50 437

原创 04-4. 猜数字游戏(15)

猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结.

2022-01-24 11:09:21 202

原创 6-2 移动字母 (10分)

6-2移动字母(10分)本题要求编写函数,将输入字符串的前3个字符移到最后。函数接口定义:voidShift( chars[] );其中char s[]是用户传入的字符串,题目保证其长度不小于3;函数Shift须将按照要求变换后的字符串仍然存在s[]里。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXS 10voidShift( chars[] );voidGetSt...

2022-01-21 09:13:31 1423

原创 6-2 字符定位指针函数 (15分)

#include stdio.h char match(char s, char ch); int main(void ){ char ch, str[80], p = NULL; scanf(%s, str); getchar(); 跳过输入字符串和输入字符之间的分隔符 ch = getchar(); 输入一个字符 p = match(str, ch); 调用函数match() .

2022-01-21 09:10:56 1859

原创 7-1 计算天数 (15分)

7-1计算天数(15分)本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2:62#include <Stdio.h>i...

2022-01-21 09:07:33 292

原创 7-2 找出最小值 (20分)

7-2找出最小值(20分)本题要求编写程序,找出给定一系列整数中的最小值。输入格式:输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。输出格式:在一行中按照“min = 最小值”的格式输出n个整数中的最小值。输入样例:4 -2 -123 100 0输出样例:min = -123#include <Stdio.h>int main(){ int n,a[5],min=a[0],i; scanf("%d",&n); f...

2022-01-21 09:05:07 702

原创 7-2 矩阵转置 (10分)函数指针

7-2矩阵转置(10分)用指针实现将一个3*3的整型矩阵转置。要求定义并调用函数void move(int *pointer),实现上述矩阵转置的功能。输出格式:每行数据之间以空格分隔,最后一个数据后面没有空格输入样例:1 2 34 5 67 8 9输出样例:1 4 72 5 83 6 9#include<stdio.h>voidmain(){voidmove(int*pointer);inta[3][3],*p,i,j;fo...

2022-01-21 09:03:48 1364

原创 7-4 判断上三角矩阵 (15分)

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。输入样例:#include <stdio.h>int m.

2022-01-21 08:58:22 146

原创 c语言:用数组来处理求Fibonacci数列问题斐波那契数列

用数组来处理求Fibonacci数列问题。解:程序:#include<stdio.h>int main(){int i, f[20] = { 1,1 };//对最前面两个元素f[0]和f[1]赋初值1for (i = 2; i < 20; i++){f[i] = f[i-2]+f[i-1];//先后求出f[2]~f[19]的值指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、}for (i = 0; i<20; i++){if (i % 5 .

2022-01-21 08:56:00 8813 4

原创 C语言指针返回值

#include <stdio.h>char *match(char *s, char ch) /* 函数返回值的类型是字符指针 */{while(*s != '\0')if(*s == ch)return(s); /* 若在字符串s中找到字符ch,返回相应的地址 */elses++;return(NULL); /* 在s中没有找到ch,返回空指针 */}int main(void ){char ch, str[80], *p= NULL;char ch2 = 0;.

2022-01-21 08:52:56 1148

原创 c语言中1.0/n与1/n有什么区别

1.0/n和1/n的区别取决于n的类型。1、当n为浮点型,包括double, float类型,这时二者没有区别。都是求n的倒数。2、当n为整型类型,包括char, short, int, long以及对应的无符号类型,根据运算规则,结果仍为整型。于是:1.0/n, 结果为double 类型,为n的倒数。1/n, 如果n为1,那么结果为1, n为-1,结果为-1, n为大于1或者<-1的整数时,结果为0。 无论结果如何,其类型均为整型。在c语言中除数和被除数有一个为浮点数时.

2022-01-21 08:51:10 1911

原创 long型占4个字节

#include "stdio.h"main(){char *p="abcdefgh",*r;//首先定义了char指针,p在这里占8个//字节,r未知long *q;//long型占4个字节q=(long*)p;//语句q=(long*)p进行了转换赋值,q首地址指向aq++;//注意变量类型空间,此时q首地址指向er=(char*)q;//赋值,r为efghprintf("%s\n",r);}...

2022-01-20 08:25:15 406

原创 1.7冒泡排序法的主体框架

for (int i = 0; i < 数组长度变量名- 1; i++) { // 内层循环控制每一趟排序多少次,一般为数组长度-外层循环变量-1 for (int j = 0; j <数组长度变量名 - i - 1; j++) { // 升序--如果前面大于后面则交换 if (array[j] 视情况填写大于号和小于号array[j + 1]) { // 引入temp变量作为交换媒介 temp = array[j + 1]; ar.

2022-01-20 08:23:53 117

原创 pta单链表的插入和删除

#include <stdio.h>#include <malloc.h>typedef struct node{ int data; struct node *next;}Snode,*ptr;void insert(ptr h,int x)//将x插入在表头位置,即监督元之后{ ptr p; p=(ptr)malloc(sizeof(Snode)); p->data=x; p->next=h->.

2022-01-20 08:22:37 1188

原创 双链表删除操作

#include<iostream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status; typedef int ElemType;typedef struct DuLNode { ElemType data; struct DuLNode *prior; struct DuLNode *next; } DuLNode, *DuLi.

2022-01-20 08:21:30 750

原创 PTA 尾插法

#输入格式:输入数据为若干正整数,最后以-1表示结尾(-1不算在序列内,不要处理)。所有数据之间用空格分隔。#输入样例:1 2 3 4 5 6 7 8 9 -1#输出样例:1 2 3 4 5 6 7 8 9#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next..

2022-01-20 08:20:18 390

原创 1..汉诺塔

#include <stdio.h>void move (int n,char x,char z)//相当于输入语句 { printf("移动圆盘%d从%c到%c\n",n,x,z);}void hanio(int n,char x,char y,char z)//n圆盘个数,x,y,z塔座 { if(n==1) move(n,x,z); else .

2022-01-20 08:18:49 3834

原创 输出前三个最小的数(末尾无空格)。

现在我们有n个整数,请按从小到大的顺序,输出前3个数据。输入一行,一个n, 3<=n<=100。输出一行,输出前三个最小的数(末尾无空格)。样例输入45 2 1 3样例输出1 2 3#include<stdio.h>int main(){int a[100];int i,j,t,n;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(j=0;j&l..

2022-01-20 08:17:35 111

原创 顺序表合并数据结构P46

#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100typedef struct{ int elem[MAXSIZE]; int length;}SList;int read(SList *L)//读入数据{ int i=0,n=0; printf("元素个数:"); scanf("%d",&n); printf("输入%d个元素:\n",n); for(i=0;i<n;i++).

2022-01-20 08:14:58 108

原创 头插法尾插法

#include <stdio.h>#include <stdlib.h>typedef struct Node{ char data; struct Node*next;}Node;Node* InitList()//初始化单链表 {Node*L=(Node*)malloc(sizeof(Node));L->data=0;L->next=NULL;return L;}void HeadInsert(Node*L,char data)//头.

2022-01-20 08:13:25 265

原创 数据结构链表更正

2.HeadInsert的函数传参和定义函数时不对应3.函数形参是LinkListL时,引用函数时要用引用传入,就是在对象前加上&符4.要传入结构体(或对象)时要在主函数或者函数调用之前先定义出来一个结构体(或对象),才能把它们传进去#include <stdio.h>#include <stdlib.h>typedef struct Node{ char data; struct Node*next;}Node,*LinkList;void In..

2022-01-20 08:12:49 59

原创 约瑟夫问题

约瑟夫问题:编号为1,2,..n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。M的初值为20;n=7,7个人的密码依次为:3,1,7,2,4,8,4,首先m值为6(正确的出列顺序应为6,1,4,7,2,3,5)#include<st.

2022-01-19 17:16:33 666

原创 用struct LNode L与LinkList &L的区别

用void InitList(struct LNode *L), 函数InitList中如果改变了L指针本身的值,对其他函数无影响。用void InitList(LinkList &L),函数InitList中如果改变了L指针本身的值,也影响调用他的函数。这就是引用方式的调用特点。...

2022-01-19 17:05:08 126

原创 scanf(“%s,)与gets()输入字符串的区别,以及与getchar()吸收回车键的搭配

scanf,gets,getchar的区别三者都是从标准输入流stdio (标准输入设备,一般指向键盘)中读取内容。1.scanf输入字符串的时候不会接收Space空格,回车Enter,Tab键,则认为输入结束。2.gets能接收空格键,回车键,Tab键,回车则认为输入结束3.getchar只能接受一个字符,遇到回车结束输入,可接受回车键。常用来吸收回车符。4.scanf()用%c,%s空格键,Tab键,回车键结束一次输入,不会舍弃最后的回车符或空格或Tab(即还在缓冲区中),可使用getcha.

2022-01-19 15:25:46 2843

原创 1.函数习题

#include <stdio.h>#include <math.h>int main(){ int prime(int m); int i,q=0; for(i=2;i<=100;i++) if(prime(i))//if(prime(i)!=0)如果是素数就返回1,不是素数返回0 { q=q+1; if(q%10==0) printf("%6d\n",i); else printf("%6d",i); }...

2022-01-19 15:21:26 56

原创 1.类型转换

比如要转换i(float)i;或者floata=i;a会自动将i的值升级为浮点类型存入ainti;floatf;f=(float)i;#include<stdio.h>intmain(){inti=3;floatf;f=(float)i;printf("%f",f);return0;}

2022-01-19 15:15:43 4036

原创 利用二维数组编程:输入5个学生的学号和3门课的成绩

4、利用二维数组编程:输入5个学生的学号和3门课的成绩,求出每个学生的平均成绩,并输出所有学生的学号及3门课的成绩和平均成绩。分析:可以建立一个5行5列的整型二维数组,其中第0列存放学号,第1,2,3列分别存放3门课的成绩,第4列存放平均成绩。#include<stdio.h>intmain(){inta[5][5];inti,j,sum;printf("输入5个学生的学号及成绩内容(学号成绩1成绩2成绩3):\n");for(i=0;i<5;i++)...

2022-01-19 15:14:40 6591

原创 输出1900~2000年中所有的闰年。每输出3个年号换一行。

//判断年是否闰年的条件://1.年数能被4整除,而不能被100整除//2.年数能被400整除#include<stdio.h>main(){int y;for(y=1900;y<=2000;y++){if((y%4==0&&y%100!=0)||(y%400==0)){printf("%d ",y);}}return 0;}...

2022-01-19 15:12:59 4159 1

原创 输出n~m范围内的完数

#include <stdio.h>//一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。int main(){ int i,n,j,m,sum; scanf("%d-%d",&n,&m); for(i=n;i<=m;i++)//n~m总次数的分布 { sum=0; for(j=1;j<i;j++) { if(i%j==0) sum=sum+j; } if(sum==i) printf("%d是完数\n",i); } r.

2022-01-18 11:53:31 686

原创 跳过输入字符串和输入字符之间的分隔符

#include <stdio.h> char *match(char *s, char ch); int main(void ){ char ch, str[80], *p = NULL; scanf("%s", str); getchar(); /* 跳过输入字符串和输入字符之间的分隔符 */ ch = getchar(); /* 输入一个字符 */ p = match(str, ch); .

2022-01-18 11:52:45 236

原创 递归111

#include <stdio.h>void f(int n){ if(n<5)printf("%d",n);else{printf("%d",n%5);f(n/5);}}int main(){ f(27); return 0;}

2022-01-18 11:51:24 43

原创 实现星号排序

1.#include <stdio.h>int main(){ int j,i;//i是行的个数,j是第几行 for(i=1;i<=10;i++)//1-10列 { for(j=1;j<=10;j++)//j<=1 1个*;j<=2 2个* { printf("*"); } printf("\n"); } return 0;}2.#include <stdio.h>int main(){ int ...

2022-01-18 11:47:08 1626

原创 形式参数和实际参数

#include <stdio.h>void fun(int a,int b,int c)//a,b,c为形式参数{a=456;b=567;c=678;}int main(){int x=10,y=20,z=30;fun(x,y,z);//x,y,z为实际参数printf("%d,%d,%d\n",x,y,z);//在调用的时候取的是实际参数的值return 0;}

2022-01-18 11:44:40 197

原创 有10个地区的面积,要求对他们按由小到大的顺序排列

#include<stdio.h>int main(){int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if (a[i]>a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the s.

2022-01-18 11:43:04 697

原创 在c语言中s[0]-‘0是什么意思?

s[0]是char型,一般用 s[0]-'0'表示整型,如果你想要s[0]的ASCII码值,你可以使用s[0]-'0',减‘0’,是因为字符‘0’对应的ASCII码值是0,这样相减的结果直接就是s[0]字符的ASCII码值。

2022-01-18 11:42:05 2332

原创 在字符串最后加上结束标记符

scanf里面的%s,遇到空格结束,并把输入空格前的所有字符串存入到a里面,如果要读取空格的话要用gets

2022-01-18 11:41:02 662

原创 字符串+1or指针

#include <stdio.h>int main(){ char *a = "abc"; printf ("%s\n", a +1 ); return 0;}voidmain(){chara[]="img";printf("%s\n",a+1);}

2022-01-18 11:38:10 165

空空如也

空空如也

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

TA关注的人

提示
确定要删除当前文章?
取消 删除