自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 输出斐波那契数列前n项和

感觉不太对但是输出正确欢迎指正#include<stdio.h>int main(){ int n,sum=0; int a1=1,a2=0,a3; scanf("%d",&n); while(n>0) { a3=a1+a2; a1=a2; a2=a3; sum+=a3; n--; } printf("%d",sum); return 0;}

2020-12-23 01:29:27 1376

原创 四则运算计算器

#include<stdio.h>void main(){ float x,y; char op; scanf("%f%c%f",&x,&op,&y); switch(op) { case'+': printf("%.1f%c%.1f=%.1f",x,op,y,x+y); break; case'-': printf("%.1f%c%.1f=%.1f",x,op,y,x-y); break; case'*': printf("%.1

2020-12-23 01:14:19 374

原创 输入n个数(n<=100),将其中的奇数从小到大排序,然后输出

#include<stdio.h>#include<stdlib.h>int main(){ int n,i,j,temp;; scanf("%d",&n); int *p1=(int *)malloc(sizeof(int)*n);//没说是多少就动态分布一个大小 for(i=0;i<n;i++)//输入数据 { scanf("%d",p1+i); } for(i=0;i<n-1;i++)//对输入的数冒泡排序 { for(j=0;

2020-12-23 00:43:25 1864

原创 输入一个正整数,用递归算法将此数逆序输出

其实就是用递归代替完成for的作用#include<stdio.h>void show(int n){ int s=0; static j=1;//j的值会变定义成static变量 s=n%(j*10)/j;//依次求出个 十 百...位上的数 printf("%d",s);//输出 j*=10; if(j<n)//如果没到最高位则继续调用 { show(n); }}int main(){ int n; scanf("%d",&n); sho

2020-12-22 02:05:20 4115

原创 输入10个数,输出最大值和平均值。

#include<stdio.h>int main(){ int i,j,temp; float sum=0; int a[10]={0}; for(i=0;i<10;i++)//输入10个数 { scanf("%d",&a[i]); } for(i=0;i<10-1;i++)//对这10个数按大小冒泡排序 { for(j=0;j<10-i-1;j++) { if(a[j]>a[j+1]) { temp=a[j+

2020-12-22 01:28:53 4686

原创 读取文件,每行不超过100个字符,输出每行中字母最多的单词的字母数

#include<stdio.h>#include<stdlib.h>int main(){ int sum=0,c=0; char a[100]; FILE *fp=fopen("D:/字母.txt","r");//自己建一个 while(fgets(a,100,fp)!=NULL)//若文本不为空每次取100个给字符串 { for(int i=0;i<100;i++) { if('a'<=a[i]&&a[i]<='z

2020-12-21 01:59:11 933 1

原创 编程:歌唱大赛,十个专家打分,去掉一个最高分,去掉一个最低分,输出剩余专家打分的平均分

#include<stdio.h>int main(){ int i,j,temp; float sum=0; int a[10]; for(i=0;i<10;i++)//输入每个裁判评分 { scanf("%d",&a[i]); } for(i=0;i<10-1;i++)//对评分进行排序 { for(j=0;j<10-i-1;j++) { if(a[i]>a[i+1]) { temp=a[i]; a[

2020-12-21 01:36:01 3017

原创 输入两个年月日输出两个时间天数差

#include<stdio.h>int sum(int y,int m,int d){ unsigned char a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//月份天数 int i,sum=0; for(i=1;i<y;i++) { if(i%4==0&&i%100!=0||i%400==0)//闰年 { sum+=366; } else { sum+=365;//不是闰年.

2020-12-21 00:40:42 272

原创 调用函数输出字符串中字母的个数

#include<stdio.h>void MyStrlen(char a[]){ int sum=0; for(int i=0;i<=100;i++) { if('a'<=a[i]&&a[i]<='z'||'A'<=a[i]&&a[i]<='Z') { sum++; } } printf("%d",sum);}int main(){ char a[100]={0}; scanf("%s",.

2020-12-20 23:37:20 435

原创 二维数组每行分别进行从小到大排序输出

#include<stdio.h>int main(){ int temp,i,j,q; int a[3][4] = {1,12,2,11,3,10,4,9,5,8,6,7};//数组 for(i=0;i<=3;i++)//冒泡排序行 { for(j=0;j<4-1;j++)//冒泡排序每行进行排序 { for(q=0;q<4-j-1;q++) { if(a[i][q]>a[i][q+1]) { temp

2020-12-20 02:19:56 4620 1

原创 输出区间内的偶数和(递归)

#include<stdio.h>int MySum(int m,int n){ int sum=0; for(int i=m;i<=n;i++) { if(i%2==0) { sum+=i; } } printf("%d",sum); return 0;}int main(){ int m,n; scanf("%d%d",&m,&n); MySum(m,n); return 0;}

2020-12-20 01:36:19 447 1

原创 最大公因数最小公倍数(辗转相除法)

假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里得算法,是这样进行的:1997 / 615 = 3 (余 152)615 / 152 = 4(余7)152 / 7 = 21(余5)7 / 5 = 1 (余2)5 / 2 = 2 (余1)2 / 1 = 2 (余0)至此,最大公约数为1当余数为0时最大公因数为此时的除数1最小公倍数为 (1997*615)/1#include<stdio.h>int main(){ int m,n; scanf("%d%

2020-12-20 01:03:48 1470 2

原创 输出三个数输出其最大值

应该有更好的方法我感觉我这个不用想直接比较输出(没有技巧性)#include<stdio.h>int main(){ int a,b,c,d; scanf("%d%d%d",&a,&b,&c); if(a>b&&a>b) { printf("%d",a); }else if(b>a&&b>c) { printf("%d",b); }else { printf("%d",c); }

2020-12-19 01:32:33 318 1

原创 输入一个数倒序输出(递归)

#include<stdio.h>void reshow(int n){ static int i=0,j=1;//静态变量每次递归后i与j的值会被记录下来不会被从新赋值 i=n%(j*10)/j+i*10;//与回文数原理类似 j*=10; if(j<n) { reshow(n);//递归 }else { printf("%d",i); }}int main(){ int n; scanf("%d",&n); reshow(n); retur

2020-12-19 01:24:12 663 1

原创 输出字符串中整数个数且输出字符串中的整数

#include<stdio.h>int main(){ int i,sum=0,num=0; char a[100]={0}; scanf("%s",a); for(i=0;i<=100;i++) { if(a[i]>='1'&&a[i]<='9')//判断是否为1——9 { sum++; }else { if((sum!=0))//说明整数连续中断,之前的数为一个整数 { num++;//统计整数个数

2020-12-19 00:56:43 458 1

原创 c语言输出时%d,%c这些都分别代表什么

1、%u 十进制无符号整数。2、%f 表示输出浮点数。3、%s表示输出 字符串。4、%c表示输出单个字符。5、%p表示输出指针的值。6、%e表示输出指数形式的浮点数。7、%x, %X 表示输出无符号以十六进制表示的整数。8、%0 表示输出无符号以八进制表示的整数。9、%g表示输出自动选择合适的表示法。...

2020-12-18 01:50:25 12775 1

原创 把一个字符串的前n个移到后面 eg:输入abcdefg 输入3 输出defgabc

答案(伪) 因为并不是真正实现要求我只是把前n个复制到了后面并且从第n+1个输出所以我认为是答案(伪)#include<stdio.h>int main(){ char a[100]={0}; int n,i,l; scanf("%s",a); scanf("%d",&n); for(i=0;i<=100;i++) { if(a[i]=='\0') { l=i; break; } } for(i=0;i<n;i++)

2020-12-18 01:45:07 639

原创 求二次方程的根 b^2-4ac的三种可能

#include<stdio.h>#include<math.h>int main(){ int a,b,c; double i,j,w; scanf("%d%d%d",&a,&b,&c); if((b*b-4*a*c)>0) { w=(b*b-4*a*c); i=(-b+sqrt(b*b-4*a*c))/(2*a); j=(-b-sqrt(b*b-4*a*c))/(2*a); printf("△=

2020-12-18 01:17:46 1972

原创 输入一个数,计算1+2+2+3……n+……n eg:输入3,输出14

#include<stdio.h>int main(){ int n,c; int sum=0; scanf("%d",&n); for(int i=1;i<=n;i++) { c=i; for(int j=i;j>0;j--) { sum+=c; } } printf("%d",sum); return 0;}

2020-12-18 00:58:41 174 1

原创 求数组内所有偶数的和

#include<stdio.h>#define M 3#define N 2int main(){ int sum=0,b; int a[M][N]={0}; for(int q=0;q<=M;q++) { for(int h=0;h<=N;h++) { scanf("%d",&a[q][h]); } } for(int i=0;i<=M;i++) { for(int j=0;j<=N;j++) { b=

2020-12-15 01:59:42 4348

原创 给出一个日期,判断是该年的第几天

#include<stdio.h>int main(){ int y,m,d; int sum=0; char a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//每月天数 printf("请输入年月日"); scanf("%d%d%d",&y,&m,&d); if(y%4==0 && y%100!=0 || y%400==0)//判断是否为闰年 { a[2]=29;//若为闰年二月为29天

2020-12-13 01:31:30 264

原创 输出一个区间内的质数(素数)

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。#include<stdio.h>int main(){ int m,n; int a=0; scanf("%d%d",&m,&n);//输入区间的上限和下限 for(int i=m;i<=n;i++)//区间循环 { for(int j=2;j<i;j++)//对区间内的数进行从2到它本身-1进行取余 { if(i%j==0) { a++; }

2020-12-11 01:35:19 3649 3

原创 输出字符串中的整数和整数个数

#include<stdio.h>int main(){ int sum=0,num=0; char a[20]={0}; scanf("%s",a); for(int i=0;i<=20;i++) { if(a[i]>='0'&&a[i]<='9') { sum++; printf("%c",a[i]); } else { putchar('\0'); if(sum>0) { nu

2020-12-11 01:07:08 720

原创 将一个整数逐位输出(递归)

#include<stdio.h>int a;int b=1;void show(int n){ a=n%(b*10)/b; printf("%d\n",a); b*=10; if(b<=n) { show(n); }}int main(){ int n; scanf("%d",&n); show(n); return 0;}

2020-12-10 01:55:21 430

原创 分母为阶乘的n个项累加

#include<stdio.h>double jiecheng(int n){ int j=1; for(int i=1;i<=n;i++) { j*=i; } return j;}int main(){ int s=1; double sum=0; //%f double w=jiecheng(s); while((1/w)>=1e-6) { sum+=(1/w); ++s;//++s直接加,s++的话再运行jiecheng 所得值不变.

2020-12-10 01:21:53 1530

原创 水仙花数

水仙花数条件:1.严格来说3位数的3次幂数2.三位数 每位数的三次方的和相加与原数相等例如:1^3 + 5^3+ 3^3 = 153#include<stdio.h>int main(){ int n; int sum,a=0; scanf("%d",&n); for(int i=1;i<n;i*=10) { sum=n%(i*10)/i; a+=(sum*sum*sum); } if(n==a) { printf("是水仙花数"); }e

2020-12-09 01:25:16 143

原创 杨辉三角形

1.首先定义n行第一个数都为12.根据a[i][j]=a[i-1][j-1]+a[i-1][j]#include<stdio.h>int main(){ int n; int a[10][10]={0}; scanf("%d",&n); for(int i=0;i<n;i++) { a[i][0]=1; } for(i=1;i<=n;i++) { for(int j=1;j<i;j++) { a[i][j]=a[i-1][j-1

2020-12-07 01:36:45 141

原创 求自定义区间内偶数和(递归)

#include<stdio.h>int MySum(int m,int n){ int sum=0; for(int i=m;i<=n;i++) { if(i%2==0) { sum+=i; } } return sum;}int main(){ int m,n; scanf("%d%d",&m,&n); int a=MySum(m,n); printf("%d",a); return 0;}

2020-12-06 23:49:02 408

原创 求n个数的和(递归)

1.利用递归实现循环2.输入n(输入数的个数)再输入n个数(求这n个数的和)#include<stdio.h>int a[10];int m=0;void input(int n){ if(n>=1) { scanf("%d",&a[n-1]); input(n-1); }}int sum(int n){ if(n>=1) { m=m+a[n-1]; sum(n-1); } return m;}int main(

2020-12-06 02:21:26 2548

原创 闰年

闰年的判别条件为1.可以被4整除但不被100整除的年份为闰年2.可以被100整除且被400整除的年份为闰年#include<stdio.h>int main(){ int n; scanf("%d",&n); if((n%4==0&&n%100!=0)||(n%400==0&&n%100==0)) { printf("%d是闰年\n",n); }else { printf("不是\n"); } return 0;}

2020-12-06 02:07:03 136

原创 汉诺塔(递归)

输入汉诺塔层数n输出搬运步骤#include<stdio.h>void s(char a,char b){ printf("%c柱—>%c柱\n",a,b);}void d(int i,char a,char b,char c){ if(i==2) { s(a,b); s(a,c); s(b,c); } else if(i>2) { d(i-1,a,c,b); s(a,c); d(i-1,b,a,c); }}int main()

2020-12-01 20:56:39 94

原创 回文数(升级版)

利用for循环和if语句对输入的值进行判断,如果没有输入-1则可以连续输入整数进行判断是否为回文数,如果输入-1则结束#include<stdio.h>int main(){ int a[100]={0}; int s=0; int i; printf("请输入整数:"); for(i=0;i<200;i++) { scanf("%d",&a[i]); if(a[i]!=-1) { for(int j=1;j<=a[i];j*=10)

2020-11-30 21:27:38 92

原创 回文数

C语言 判断是否为回文数#include<stdio.h>int main(){int n;int s=0;printf(“请输入一个数:”);scanf("%d",&n);for(int i=1;i<=n;i*=10){s=n%(10i)/i+10s;}if(s==n){printf(“是回文数”);}else{printf(“不是回文数”);}return 0;}...

2020-11-30 20:30:05 53

空空如也

空空如也

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

TA关注的人

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