
笔记
killfafa
这个作者很懒,什么都没留下…
展开
-
C语言判断鞍点
#include<stdio.h>int main()//鞍点{ int arr[4][4] = { 1,7,4,1,4,8,3,6,1,6,1,2,0,7,8,9 }; int i = 0, j = 0, max = 0, col = 0,k=0, flag = 1; for (i = 0; i < 4; i++) { max = arr[i][0]; for (j = 0; j < 4; j++) { if (arr[i][j] > max).原创 2022-03-11 13:50:58 · 1052 阅读 · 0 评论 -
c语言递归实现十进制转换
#include<stdio.h>void func(int x){if(x==1) printf("%d",x%2);else {func(x/2);printf("%d",x%2);}x%2}int main(){int n=0;scanf("%d",&n);func(n);}原创 2022-03-05 15:24:41 · 597 阅读 · 0 评论 -
C语言兔子产子
//有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月//后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//1 1 2 5 8 13 21#include<stdio.h>int main(){ int i = 0; long int fib1=1, fib2=1; for (i = 0; i <= 10; i++) { printf("%-3d %-3d ", fib1, fib2); if ((i+1) % 2 == 0..原创 2022-01-28 19:26:51 · 175 阅读 · 0 评论 -
C语言公倍数和公因数
#include <stdio.h>int main(){ int a=0, b=0; int t; scanf("%d %d", &a, &b); int x = a, y = b; //最大公因数,辗转相除法 while (b) { t = a % b; a = b; b = t; } //最小公倍数 t = x * y / a; printf("公因数为:%d 公倍数为:%d", a,t);}...原创 2022-01-28 19:24:33 · 528 阅读 · 0 评论 -
C语言分解质因数
//将一个正整数分解质因数。例如:输入90,打印出90=233*5。//对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成://(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。//(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商, 作为新的正整数你n,//重复执行第一步。//(3)如果n不能被k整除,则用k + 1作为k的值, 重复执行第一步。#include<stdio.h>int main(){ i.原创 2022-01-28 19:05:02 · 4644 阅读 · 1 评论 -
c语言输出左下半三角
#include<stdio.h>int main(){ int a[5][5]; int i,j; int *p=a[0]; for(i=0; i<5*5; i++) p[i]=i+1; for(i=0; i<5; i++) { for(j=0; j<=i; j++) { printf("%d ",a[i][j]);} printf("\n"); }...原创 2022-01-20 21:03:06 · 1545 阅读 · 0 评论 -
c语言删除数组每行最大数
一个5x5的数组将每行最大值变成0将剩余数据输出#include<stdio.h>#include<time.h>#include<stdlib.h>int main(){ int a[5][5]; int b[5]; srand((unsigned)time(NULL)); int *p=a[0]; int i,j; for(i=0; i<=5*5; i++) *(p+i)=rand().原创 2022-01-16 15:31:33 · 698 阅读 · 0 评论 -
c语言将数字插入有序数组
将无序数列降序将10插入数组中#include<stdio.h>int main(){ int a[9] = {14,20,5,6,7,8,11,12}; int temp1, temp2, number=10, end; int i,j,key; for(i=1; i<8; i++)//用个插入排序 { key=a[i]; j=i-1; while(j>=0&&a[.原创 2022-01-16 14:17:37 · 1775 阅读 · 1 评论 -
c语言矩阵对角线之和
#include<stdio.h>int main(){ int a[3][3]= {1,2,3,4,12,13,14,21,23}; int i,j,s=0,sum=0; for(i=0; i<3; i++) { for(j=0; j<3; j++) { if(i==j) s=s+a[i][j]; if(i+j==2) sum=sum原创 2022-01-16 11:01:49 · 4543 阅读 · 0 评论 -
c语言二维数组冒泡排序
将二维数组看成一维数组进行冒泡排序int (*p)[5],是行指针int *p是int单元的列指针#include<stdio.h>int main(){ int i=0; int j=0; int tmp; int arr[3][5]= {99,98,97,96,95,94,93,92,91,90,89,87,86,84,21}; int *p=0; p=arr;//列指针=行指针 int max=arr[0][0]; .原创 2022-01-16 09:01:29 · 2293 阅读 · 3 评论 -
c语言找回文
#include<stdio.h>#include<string.h>int huiwen(char *str){ int left=0; int right=strlen(str)-1; while(left<right) { if(str[left]!=str[right]) return 1; left++; right--; } return 0;}原创 2022-01-15 21:49:43 · 151 阅读 · 0 评论 -
c语言统计字符串中各字母的个数
#include<stdio.h>#include<string.h>int main(){char str[]="zhangqilingxingconglianyexiukillfafachuzihang";char word[26]={0};int i=0;for(i=0;i<strlen(str);i++){word[str[i]-'a']++;//这个好好琢磨是这样的,str[i]如果是b,b-a就是1,word[26]都是0,//此时word[1原创 2022-01-15 21:19:55 · 11182 阅读 · 0 评论 -
c语言在字符串中找字符出现的次数
#include<stdio.h>#include<string.h>char *my₋str(char* dest,char * src){ if(*src=='\0')//如果src直接为空,那就返回dest return dest; char *s1=NULL;//遍历dest字符串 char *s2=NULL;//遍历src字符串 char *sign=dest;//记录dest while(*sign)原创 2022-01-15 20:07:23 · 2197 阅读 · 0 评论 -
c语言模拟实现strstr
#include<stdio.h>char *kk₋str(char* dest,char * src){ if(*src=='\0')//如果src直接为空,那就返回dest return dest; char *s1=NULL;//遍历dest字符串 char *s2=NULL;//遍历src字符串 char *sign=dest;//记录dest while(*sign) { s1=sign;//每回都让s原创 2022-01-15 18:50:30 · 165 阅读 · 0 评论 -
c语言删除字符串空格
#include<stdio.h>void delete(char *str){ char *search=str;//遍历整个字符串 char *record=str;//记录非空格字符串 while(*search) { if(*search!=' ')//如果不是空格,就往record里加 { *record=*search; record++; }原创 2022-01-15 14:13:26 · 658 阅读 · 0 评论 -
c语言数组逆置
#include<stdio.h>int main(){ int arr[]= {1,2,3,4,5,6,7}; int tmp,i; int left=0,right=sizeof(arr)/sizeof(arr[0])-1; int n=right; while(left<right) { tmp=arr[left]; arr[left]=arr[right]; arr[right]=原创 2022-01-15 08:38:07 · 142 阅读 · 0 评论 -
c语言模拟实现字符串相关函数
#include<stdio.h>char* kk₋strcat(char * dest,char * src);int kk₋strlen(char * str)//模拟实现strlen{ int count=0; while(*str++) count++; return count;}char *kk₋strcpy(char *dest,char *src)//模拟实现strcpy{ char* ret=dest; while(*des原创 2022-01-15 09:08:14 · 96 阅读 · 0 评论 -
c语言二维数组与指针的应用
#include<stdio.h>void search(float(*p)[4],int n);void average(float *p,int n){ int i=0; float sum=0.0,aver=0.0; for(i=0; i<n; i++) sum+=p[i]; aver=sum/n; printf("sum=%5.2f,aver=%5.2f\n",sum,aver);}void search(float原创 2022-01-13 19:19:03 · 130 阅读 · 0 评论 -
c语言函数实现数组输入输出
#include<stdio.h>void reading(int * pa,int m){ int i; for(i=0; i<m; i++) scanf("%d ",pa+i);//pa+i→&pa[i]}void print(int *pa,int m){ int i; for(i=0; i<m; i++) printf("%d ",pa[i]);//pa[i]→*(pa+i)}int mai原创 2022-01-13 16:23:40 · 7139 阅读 · 0 评论 -
c语言传址交换两数
#include<stdio.h>int f(int * pa,int * pb)//形参为解引用a和b{ int tmp=0; tmp=*pa; *pa=*pb; *pb=tmp;}int main(){ int i; int a,b; scanf("%d %d",&a,&b); f(&a,&b);//实参为a和b的地址 printf("a=%d,b=%d",a,b); r原创 2022-01-13 15:47:27 · 489 阅读 · 0 评论 -
c语言随机生成数字排序后找到对应下标
产生20个3位正整数使用插入法排序再用二分查找找到输入的数x输出其下标,找不到输出-1#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ int a[20],i,j,x; int key; srand(time(0)); for(i=0; i<20; i++)//产生三位数[m,n],[100,999] { //m+rand()%.原创 2022-01-12 13:24:21 · 260 阅读 · 0 评论 -
c语言生成随机数再升序
#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ int a[20],i,j; int flage=1,t; srand((unsigned)time(0)); for(i=0; i<20; i++)//产生三位数[m,n],[100,999] {//m+rand()%(n-m+1) a[i]=flage*(100+rand()原创 2022-01-12 12:49:22 · 446 阅读 · 0 评论 -
c语言二分查找
#include<stdio.h>int binary₋search(int a[],int k,int s){ int left=0; int right=s-1; int mid; while(left<=right) { mid=(left+right)/2; if(a[mid]<k) { left=mid+1; } else if(a[mid原创 2022-01-12 11:54:19 · 134 阅读 · 0 评论 -
c语言求几位数并逆序
谭浩强C程序设计page109输入一个数求位数按位逆序#include<stdio.h>int main(){ int num; scanf("%d",&num); int count=1; int n=num; while(n/10) { n/=10; count++; } printf("是%d位数\n",count); while(num) { n.原创 2022-01-11 21:33:33 · 682 阅读 · 0 评论 -
c语言二维数组找最大值
#include<stdio.h>int main(){ int a[3][4]= {18,24,23,84,56,66,45,7,5,9,38,43}; int row=0; int col=0; int max=a[0][0]; int i=0,j=0; for(i=0; i<3; i++) { for(j=0; j<4; j++) { if(a[i][j]&原创 2022-01-11 14:53:09 · 5981 阅读 · 0 评论 -
c语言交换两个二维数组
#include<stdio.h>int main(){ int a[2][3]= {1,2,3,4,5,6}; int b[3][2]; int i=0; int j=0; printf("array a is:\n"); for(i=0; i<2; i++) { for(j=0; j<3; j++) { printf("%5d",a[i][j]); b[j][原创 2022-01-11 14:41:08 · 633 阅读 · 1 评论 -
c语言倒序水仙花数组
题目要求:编写水仙花函数,将水仙花存入数组a再将数组a倒序存入数组b最后打印数组a和b#include<stdio.h>#include<math.h>int isShui( int number );int main(){ int m=0,x=0,i,a[100],b[100]; for(i=100; i<1000; i++) { if ( isShui(i) ) { a[x++]=i; .原创 2022-01-09 18:58:54 · 358 阅读 · 0 评论 -
c语言函数判断水仙花
#include<stdio.h>int kk₋pow(int n,int k);int isShui( int number );int main(){ int m=0,x=0,i,a[1000]; for(i=100; i<1000; i++) { if ( isShui(i) ) { //为水仙花时返回1时将此时i的值存入数组 a[x++]=i; } } for(i=0; i&l原创 2022-01-09 17:43:10 · 428 阅读 · 0 评论 -
c语言字符串内大小写转换
#include<stdio.h>#include<string.h>int main(){ char a[100]; int i; gets(a); for(i=0; i<strlen(a); i++) { if(a[i]>='a'&&a[i]<='z') a[i]-=32; else if(a[i]>='A'&&a[原创 2022-01-09 16:39:16 · 658 阅读 · 0 评论 -
c语言cm 英尺换算
#include<stdio.h>/*米是(foot+inch/12)*0.3048。用户输入的是厘米数别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:输出这个厘米数对应的英尺和英寸的整数值,中间用空格分开。*/int main(){int cm=0;scanf("%d",&cm);int foot=cm/30.48;int inch=(cm/30.48-foot)*12; printf("%d %d",foot,i原创 2022-01-09 14:20:00 · 1178 阅读 · 0 评论 -
c语言实现加减乘除
可使用回调函数优化#include<stdio.h>int min(int x,int y);int mul(int x,int y);int div(int x,int y);/*计算2个正整数的和、差、积、商并输出。输入格式:输入在一行中给出2个正整数A和B。输出格式:“A 运算符 B = 结果”顺序输出和、差、积、商。*/int add(int x,int y) { return x+y;}int min(int x,int y) { return原创 2022-01-09 14:10:12 · 6793 阅读 · 0 评论 -
c语言模拟实现strlen
指针实现#include<stdio.h>int kk₋strlen(char * str){//用指针实现char *tmp=str;while(*str++);//str地址++再解引用,如果读到0就跳出return str-tmp-1;}int main(){ char str[]="killfafa"; int ret=kk₋strlen(str); printf("%d",ret); return 0;}计数器实现#inc.原创 2022-01-09 12:18:18 · 211 阅读 · 0 评论 -
c语言模拟实现strcpy
#include<stdio.h>char *kk₋strcpy(char* dest,const char*src) { char* ret=dest; while(*dest++=*src++); return ret;}int main(){ char arr[]="abcdef"; char *p="ABCDE"; kk₋strcpy(arr,p); printf("%s",arr); return 0;}.原创 2022-01-09 12:05:27 · 101 阅读 · 0 评论 -
c语言递归实现阶乘
#include<stdio.h>int fun(int x){if(x==1)return 1;elsereturn x*fun(x-1);}int main(){int n=0;scanf("%d",&n);if(n<=0)printf("the number is wrong");else printf("%d!:%d",n,fun(n)); return 0;}原创 2022-01-08 20:02:30 · 267 阅读 · 0 评论 -
c语言数组顺时针转90°
#include<stdio.h>int main( ){ int i,j; int n,m,a[100][100]; scanf("%d %d",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) scanf("%d",&a[i][j]); } for (int i = 0; i < 3; ++i) {原创 2022-01-08 10:12:50 · 1334 阅读 · 0 评论 -
c语言递归实现n的k次方
#include<stdio.h>double my₋pow(int n,int k) { if(k<0) //为负次方时 return (1.0/(my₋pow(n,-k))); //2的-1次方=1/2¹ else if(n==0) //0次方为1 return 1; else return n*my₋pow(n,k-1); //递归}int main(){ int a,b; scanf原创 2022-01-07 11:30:49 · 188 阅读 · 0 评论 -
c语言公因数公倍数
#include<stdio.h>int max2₋digital(int a,int b);//穷举法int max3₋digital(int a,int b);//递归int min₋digital(int a,int b);//最小公倍数int max1₋digital(int a,int b)//辗转相除法求最大公因数{ int c; while(b) { c=a%b; a=b;原创 2022-01-07 03:07:48 · 314 阅读 · 0 评论 -
c语言字符串单词逆序
#include<stdio.h>int my₋strlen(char *plen);char reverse(char *pstr,char *pend) { char tmp; while(pstr<=pend) { tmp=*pstr; *pstr=*pend; *pend=tmp; pstr++; pend--; }原创 2022-01-07 01:52:59 · 685 阅读 · 0 评论 -
c语言杨辉三角
#include<stdio.h>int main(){ int arr[10][10]= {0}; int i=0,j=0; for(i=0; i<10; i++) { for(j=0; j<=i; j++) { if(j==0||i==j) //输出外层1原创 2022-01-07 00:28:36 · 88 阅读 · 0 评论 -
c语言输出空心菱形
#include<stdio.h>int main(){int i=0;int j=0;int n=0;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n+i-1;j++){//n+i-1:每行*的位置if(j==n-i+1||j==n+i-1)//n+i-1:每行最后*的位置printf("*");elseprintf(" ");}printf("\n");}//————————↑打印上半部分△ for(i=1;i<n;i原创 2022-01-06 21:17:31 · 4121 阅读 · 1 评论