二
R...
这个作者很懒,什么都没留下…
展开
-
计算a+aa+·····+aaa(n个a)的值
#include <stdio.h>void main(){ int a,n; scanf("%d%d",&a,&n); int sum = 0; int temp = 0; for(int i = 1;i <= n;i++) { temp = temp*10+a; sum += temp; } printf("%d\n",sum)...原创 2019-07-24 21:01:03 · 696 阅读 · 0 评论 -
两个递增有序链表合并成递减排序
1.注意临时指针还是用来保存指针值,不要用来指结点#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data; struct LNode* next;}LNode,*LinkList;LinkList CreateList(){ LinkList L; L = (Lin...原创 2019-08-21 21:00:41 · 853 阅读 · 0 评论 -
删除链表中的最小值
1.用一个保存最小值,一个保存最小值的前驱#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data; struct LNode* next;}LNode,*LinkList;LinkList CreateList(){ LinkList L; L = (LinkLis...原创 2019-08-22 20:06:08 · 753 阅读 · 0 评论 -
字符串排字典序
1.注意使用函数strcmp <#include string.h>2.注意获取字符值的时候先存入二维数组,再存入指针数组#include <stdio.h>#include <string.h>void Sort(char* str[],int n){ char* temp; for(int i = 0;i < n;i++) {...原创 2019-08-22 20:31:25 · 178 阅读 · 0 评论 -
用递归的方式找最大值和最小值
1.INT_MIN和INT_MAX在<limits.h>头文件中2.递归就是划分小问题3.注意函数的max和min要传引用类型,因为要改变他们的值#include <stdio.h>#include <limits.h>void MinMax(int arr[],int n,int &max,int &min){ if(n...原创 2019-08-22 20:53:20 · 3148 阅读 · 0 评论 -
从程序执行效率来说,C语言采取的措施和原因
1.使用指针:对于指针的理解简单点可以认为类似于汇编中的寻址方式,正是指针的存在使C语言威力无穷。有些程序用其他语言也可以实现,但C能够更有效地实现;有些程序无法用其它语言实现,如直接访问硬件,但C却可以。正因为指针可以拥有类似于汇编的寻址方式,所以可以使程序更高效。2.使用宏函数:函数和宏函数的区别就在于,宏函数占用了大量的空间,而函数占用了时间。函数调用是要使用系统的栈来保存数据的,如果编译...原创 2019-08-22 20:56:01 · 2014 阅读 · 0 评论 -
Josegh
设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请编制函数Josegh()实现此功能。#include <stdio.h>#include <math.h>#include <s...原创 2019-08-29 17:12:47 · 364 阅读 · 0 评论 -
报数问题
注意计数值的初始值25个人围成一个圈,从第一个人开始顺序报号,凡报号为3和3的倍数者退出圈子,找出最后留在圈子中的人的编号#include <stdio.h>int main(){ int i,k,m,n,num[50],*p; printf("\ninput number of person: n="); scanf("%d",&n); ...原创 2019-08-29 17:31:57 · 2838 阅读 · 0 评论 -
递归算排列组合
C(m,n)#include <stdio.h>long fun(int m,int n){ if(m == n || n == 0) return(1L); else { return(m*fun(m-1,n)/(m-n)); }}void main(){ int m,n; printf("Cm^n\n"); scanf("%d%d",&am...原创 2019-08-29 21:12:14 · 203 阅读 · 0 评论 -
Replace函数替换字符串
#include <stdio.h>#include <string.h>char* Replace(char *str,char *substr,char* newstr){ int i,j,k,m,n; for(i = 0;i < strlen(str);i++) { k = i; for(j = 0;j < strlen(subst...原创 2019-08-29 21:00:11 · 4601 阅读 · 0 评论 -
黑白子交换
#include <stdio.h>int count = 0;void print(int *a); //输出黑白子的函数/void change(int *m, int *n); //交换黑白子的函数/void main(){ int i, flag; in...转载 2019-08-30 21:07:28 · 337 阅读 · 0 评论 -
数组顺序
对数组A中的N个整数从小到大编号,输出各个元素的编号,要求不能改变数组元素的顺序,且相同的整数要有相同的编号。#include <stdio.h>#include <math.h>#include <string.h> void number(int A[],int N){ int arr[2][100]; for(int i = 0;i &...原创 2019-08-11 21:15:14 · 301 阅读 · 0 评论 -
八皇后问题
注意主对角线和副对角线的判断#include <stdio.h>int pat[8][8] = {0};int count = 0;void findQueen(int row);void printQueen();bool check(int row,int column);void findQueen(int row){ if(row > 7) {...原创 2019-08-13 21:19:25 · 108 阅读 · 0 评论 -
平方是回文数
注意sprintf(str,"%d",N)利用字符串指针编写一程序求所有不超过200的N,N的平方是具有对称性质的回文数#include <stdio.h>#include <string.h>bool check(char str[]){ int i,j; for(i = 0,j = strlen(str) - 1;i != j;i++,j--) ...原创 2019-08-13 21:38:43 · 564 阅读 · 0 评论 -
求数字的乘积根
1620 = 1 * 6 * 2 = 12, 12 = 1 * 2 = 2,2为1620 的乘积跟#include <stdio.h>void main(){ int count[9] = {0}; int a; for(int i = 1;i < 10000;i++) { int plex = i; a = i; while(plex/10 !...原创 2019-08-15 21:28:33 · 1663 阅读 · 1 评论 -
用递归的方式计算机两个整数的最大公约数
#include <stdio.h>int Common(int a,int b){ int t; if(a < b) { Common(b,a); } else if(a % b == 0) return b; else Common(b,a%b);}void main(){ int a,b; scanf("%d%d",&a,...原创 2019-08-15 21:52:04 · 581 阅读 · 0 评论 -
分组
1.注意先从后面开始比编写一个函数,把整数序列分成两个部分,使得左边部分不大于右边#include <stdio.h>#include <stdlib.h>void main(){ int n; scanf("%d",&n); int* arr = (int *)malloc(sizeof(int)*n); int i,j; for(i ...原创 2019-08-21 19:59:03 · 123 阅读 · 0 评论 -
链表
用链表存储输入的数字,要求存储的顺序与输入的顺序相反1.记住分配空间啊!!!!#include <stdio.h>#include <stdlib.h>typedef struct LNode{ int data; LNode *next;}LNode;void main(){ LNode *L = NULL; LNode *p = NUL...原创 2019-08-21 19:45:03 · 105 阅读 · 0 评论 -
利用泰勒级数
#include <stdio.h>#include <math.h>void main(){ float x; scanf("%f",&x); int count = 0; float result = x; float term = x; int n = 1; do { term = -term*x*x/((n+1)*(n+2...原创 2019-07-24 21:52:32 · 1202 阅读 · 0 评论 -
反序十六进制数
//(*)编写一个程序要求任意输入4位十六进制整数,以反序的方式输出该十六进制数。#include <stdio.h>int main(){ unsigned short a,b; scanf("%4X",&a); b = (a & 0X000F) << 12; b += (a & 0X00F0) << 4; b +...原创 2019-07-21 21:38:11 · 3100 阅读 · 2 评论 -
输出十六进制数
//(*)编程从键盘输入任意一个十六进制负整数,以输入的形式输出。例如输入-FA98,输出-FA98#include <stdio.h>int main(){ short int a; scanf("%X",&a); printf("-%hX",-a); return 0; } //这个方法只有visual C++上可以 ...原创 2019-07-21 21:39:57 · 3266 阅读 · 0 评论 -
变换值不借助变量
//(*)编程从键盘输入两个整数分别给变量a和b,要求在不借助于其他变量的条件下,将变量a和b的值实现交换。#include <stdio.h>int main(){ int a,b; scanf("%d%d",&a,&b); a = a+b; b = a - b; a = a - b; printf("%d %d",a,b); return ...原创 2019-07-21 21:41:08 · 271 阅读 · 0 评论 -
输出杨辉三角
#include <stdio.h>#include <math.h>void main(){ int a[6][6]; for(int i = 0;i < 6;i++) { a[i][0] = 1; a[i][i] = 1; } for(i = 1;i < 6;i++) { for(int j = 1;j < i;j...原创 2019-08-03 21:35:36 · 176 阅读 · 0 评论 -
反序输入字符串
#include <stdio.h>#include <math.h>#include <string.h>void main(){ char str[80]; gets(str); for(int i = strlen(str)-1;i >= 0;--i) { printf("%c",str[i]); } printf("\n...原创 2019-08-03 21:39:32 · 357 阅读 · 0 评论 -
连接字符串
strlen不算\0注意用‘\0’判断结束,不然有错误字符输出#include <stdio.h>#include <string.h>void main(){ char des[2000]; char src[2000]; scanf("%s%s",&des,&src); for(int i = strlen(des),j = 0...原创 2019-08-03 21:53:59 · 98 阅读 · 0 评论 -
求做好事者
A说不是我B说是CC说是DD说他胡说已知三个人说的是真话,一个人说的是假话。现在问做好事的人是谁?#include <stdio.h>#include <math.h>void main(){ char man = ' '; int sum; for(int i = 0;i < 4;i++) { man = 'A' + i;...原创 2019-07-27 21:26:42 · 302 阅读 · 1 评论 -
排序 奇数在前 偶数在后 且各自有序
#include <stdio.h>void sort(int arr[],int low,int high){ int temp; for(int i = high;i > 0;i--) { for(int j = low;j < i;j++) { if(arr[j] > arr[j+1]) { temp = arr[j];...原创 2019-07-27 21:58:33 · 2304 阅读 · 0 评论 -
矩阵
注意有重复的元素要去掉输入5*5的矩阵,编程实现a.求两条对角线上的各元素之和b.求两条对角线上行、列下标均为偶数的各元素之积#include <stdio.h>#include <math.h>void main(){ int a[5][5]; int i,j; for(i = 0;i < 5;i++) { for(j = 0;...原创 2019-08-01 21:47:31 · 214 阅读 · 0 评论 -
加密
1.字符串怎么判断结束2.直接读取,省去中间步骤3.memset4.取余操作#include <stdio.h>#include <string.h>void password(int sum[]){ int temp; int s; for(int i = 0;i < 6;i++) { temp = sum[i]; wh...原创 2019-08-18 20:27:14 · 130 阅读 · 0 评论 -
计算两个正整数的最大公约数的函数(不用其余变量的方法)
#include <stdio.h>#include <math.h>#include <string.h>int MaxCommonFactor(int a,int b){ if(a <= 0 || b <= 0) return -1; while(a != b) { if(a > b) a = a - b;...原创 2019-08-09 21:19:27 · 1520 阅读 · 0 评论 -
求分式
1.递归思想2.如何控制分数的检查将1-9这9个数字,分别填入到下面公式的括号中,满足数字不能重复,分母不能为1,并且要求分子分母没有除了1以外的公因数。#include <stdio.h>#define N 9int num[9] = {0};int visit[9] = {0};int gcd(int a,int b){ if(a < b) ...原创 2019-08-19 20:05:29 · 284 阅读 · 0 评论 -
文件操作
注意判断文件是否打开成功feoffgetsfgetcfprintffputctolowertoupper1.加上行号#include <stdio.h>#include <stdlib.h>void main(){ FILE *fp1,*fp2; fp1 = fopen("C:\\Users\\瑞\\Desktop\\fp1...原创 2019-08-23 20:29:44 · 100 阅读 · 0 评论 -
使用指针完成两个数值的交换
#include <stdio.h>void main(){ int a = 10; int b = 100; int *p = &a; int *q = &b; int t = *p; *p = *q; q = &t; printf("%d %d",*p,*q);}原创 2019-08-23 20:39:15 · 714 阅读 · 0 评论 -
递归实现将整数转换成字符串
每次把之前存的往后放#include <stdio.h>#include <string.h>char str[100];int length = 0;void toStr(int num){ if(num == 0) return; else { for(int i = strlen(str) - 1;i >= 0;i--) {...原创 2019-08-25 21:19:34 · 2428 阅读 · 1 评论 -
实现字符左移n个位置
注意s+1#include <stdio.h>#include <string.h123>void strshif(char s[],int shif){ char temp; int len = strlen(s); for(int i = 1;i <= shif;i++) { temp = s[0]; strncpy(s,s+1,le...原创 2019-08-25 21:29:09 · 368 阅读 · 0 评论 -
排序使得奇数在前偶数在后使用快排的思想
#include <stdio.h>void main(){ int a[]={3,5,4,2,7,8,1,6}; int n=sizeof(a)/sizeof(a[0]); //插入排序的思想 O(n^2) for(int index=1;index<n;++index) { if(a[index]%2==1) //奇数 { int pos=i...原创 2019-08-30 21:34:38 · 225 阅读 · 0 评论