![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
Lois_δ
这个作者很懒,什么都没留下…
展开
-
求符合条件的整数集
题目:给定不超过6的正整数A,考虑从A开始的四个数字。请输出所有由它们组成的无重复数字的三位数。输入一个正整数A输出输出满足条件的三位数,要求从大到小,每行六个,整数间以空格隔开,但行末不能有多余的空格。#include <stdio.h>int main(){ int a; scanf("%d",&a); int i,j,k; int cnt; cnt=0; i=a; while(i<=a+3){原创 2020-12-08 09:35:33 · 287 阅读 · 0 评论 -
求最大公约数(辗转相除法)
辗转相除法:1、如果b=0,计算结束,a就是最大公约数;2、否则,计算a除以b的余数,让a=b,而b=那个余数;3、回到第一步。代码如下:#include <stdio.h>int main(){ int a,b; int t; scanf("%d %d",&a,&b); while(b!=0){ t=a%b; a=b; b=t } printf("最大公约数是%d\n",a); return 0;}...原创 2020-12-02 19:03:23 · 199 阅读 · 0 评论 -
求最大公约数(枚举)
1、设t为2;2、如果a\b都能被t整除,则记下这个t;3、t加1后重复第2步,直到t等于a或b;4、那么曾经记下的最大的可以同时整除a和b的t就是a、b的最大公约数代码如下:#include<stdio.h>int main(){ int a,b,i,min,x; scanf("%d %d",&a,&b); if(a>b){ min=b; } else{ min=a; }原创 2020-11-11 09:47:41 · 337 阅读 · 0 评论 -
凑硬币
从嵌套的循环中跳出用1角,2角,5角的硬币凑出10元以下的金额。代码如下:#include <stdio.h>int main(){ int one,two,five; int x; scanf("%d",&x); for(one=1;one<=x*10;one++){ for(two=1;two<=x*5;two++){ for(five=1;five<=x*2;five++){原创 2020-10-28 10:16:06 · 435 阅读 · 1 评论 -
找出100以内的素数
题目描述逐个输出100以内的素数,两个数之间有空格。输入没有输入输出100以内的素数#include <stdio.h>int main(){ int x; int i; for(x=1;x<=100;x++){ int n=1; for(i=2;i<x;i++){ if(x%i==0){ n=0; break;原创 2020-10-23 09:12:29 · 1412 阅读 · 1 评论 -
判断素数
题目输入一个数,判断是否是素数。素数是只能被1和它本身整除的数。输入一个正整数输出Yes/No#include <stdio.h>int main(){ int n,i,x; x=1; scanf("%d",&n); for(i=2;i<n;i++){ if(n%i==0){ x=0; break; } } if(x==0){原创 2020-10-18 11:18:37 · 85 阅读 · 0 评论 -
零基础学C/C++51——完数
题目描述一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子有:1,2,3;由于6=1+2+3,所以6是完数。要求对于输入的任意一个正整数,验证它是否是完数。输入输入大于2的正整数n。输出如果是完数,输出“xxx is cloze.”;否则输出“xxx is not cloze.”。这里的xxx是输入的整数。样例输入 Copy6样例输出 Copy6 is cloze.提示样例输入242样例输出242 is not cloze.#include <stdio.原创 2020-10-15 10:20:19 · 740 阅读 · 0 评论 -
零基础学C/C++50——求最大公约数
题目描述两个数能同时被一个数所整除,这个数就是公约数。例如,12和20的公约数有1,2,4。其中4是12和20的最大公约数。输入输入两个正整数,用逗号分隔。输出输出这两个数的最大公约数。样例输入 Copy24,60样例输出 Copy12提示可以用辗转相除法计算最大公约数;也可以用穷举法求最大公约数。辗转相除法求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后原创 2020-10-15 10:06:41 · 562 阅读 · 0 评论 -
零基础学C/C++48——求多项式(含浮点)
题目描述输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+…+1/(1-3+5-…+2n-1)的值输入输入一个整数n输出输出1+1/(1-3)+1/(1-3+5)+…+1/(1-3+5-…+2n-1)的值,保留2位小数样例输入 Copy1样例输出 Copy1.00#include <stdio.h>int main(){ int i=1; int n,count=0; float a=0.0,sum=0.0; scanf("%d原创 2020-10-15 09:37:07 · 660 阅读 · 0 评论 -
C语言第一课
Hello World!#include <stdio.h>int main(){ printf("Hello World!\n"); return 0;}欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下原创 2020-10-09 10:03:36 · 169 阅读 · 0 评论 -
除法算术题
输入没有输入输出输出8除以5,保留1位小数样例输出1.6注意:两个整数的运算结果只能是整数,例:10/3=3,当浮点数与整数一起运算时,C语言会将整数转换成浮点数,然后进行运算,例:10.0/3=3.333…#include<stdio.h>int main(){ printf("%.1f\n",8.0/5); return 0;}...原创 2020-10-09 10:16:06 · 180 阅读 · 0 评论 -
求2个日期之间的天数
输入输入2个日期,日期按照年月日,年月日之间用符号-隔开输出求出这2个日期之间的天数(不包括自身)样例输入 Copy2011-1-12011-1-5样例输出 Copy3提示为了简单之见,本题假设输入的是同年同月的2个日期,且第一个日期小于第2个日期#include <stdio.h>int main(){ int a,b,c,d; scanf("%d-%d-%d %d-%d-%d",&a,&b,&c,&a,&b,&原创 2020-10-09 10:30:30 · 416 阅读 · 0 评论 -
求2个时间之间的分钟数
题目描述输入2个时间,求2个时间之间的分钟数(不包括自身),为了简单之见假设这2个时间在同一天且前面的时间较小输入输入2行,分别是2个时间,时间小时与分钟之间用:隔开输出输出之间的分钟数样例输入 Copy12:1212:16样例输出 Copy3#include <stdio.h>int main(){ int h1,m1,h2,m2; scanf("%d:%d %d:%d",&h1,&m1,&h2,&m2); pr原创 2020-10-09 10:39:04 · 1390 阅读 · 0 评论 -
三位数反转(取余取整)
题目描述输入1个3位数,分离出它的百位、十位和个位,反转后输出输入输入1个3位整数输出输出3位整数的反转数样例输入 Copy250样例输出 Copy052提示分离出各位数字可以用取余和除数注意在C语言里,2个整数相乘除结果还是整数 比如8/3在C语言里结果是2取余采用符号%比如8%3的结果应该是2,即8除以3后的余数#include <stdio.h>int main(){ int n,a,b,c; scanf("%d",&n);原创 2020-10-09 10:48:21 · 1386 阅读 · 0 评论 -
交换变量
题目描述输入2个整数,交换后输出输入输入2个整数输出交换后输出样例输入 Copy825 23样例输出 Copy23 825#include <stdio.h>int main(){ int a,b,c; scanf("%d %d",&a,&b); c=a; a=b; b=c; printf("%d %d\n",a,b); return 0;}...原创 2020-10-09 10:52:46 · 486 阅读 · 0 评论 -
判断奇偶数
题目描述输入一个整数,判断是奇数还是偶数输入输入1个正整数输出如果是偶数,输出even否则输出odd样例输入 Copy2样例输出 Copyeven#include <stdio.h>int main(){ int n; scanf("%d",&n); if(n%2==1){ printf("odd\n"); } else{ printf("even\n"); } return原创 2020-10-09 11:26:40 · 136 阅读 · 0 评论 -
三个数中求较大的数
输入输入三个数,用空格隔开输出输出三个数中最大数样例输入 Copy1 2 3样例输出 Copy3#include <stdio.h>int main(){ int a,b,c,max; scanf("%d%d%d",&a,&b,&c); if(a>b){ if(a>c){ max=a; } else{ max=c;原创 2020-10-10 09:00:22 · 393 阅读 · 0 评论 -
判断是否直角三角形
输入输入三角形3条边(均为整数)输出如果3条边组成的是直角三角形,输出yes否则输出no样例输入 Copy3 4 5样例输出 Copyyes#include <stdio.h>int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){ printf("yes\n"); }原创 2020-10-10 09:06:34 · 1123 阅读 · 0 评论 -
闰年
题目描述输入一个整数年份,要求判断是否是闰年。符合以下两种情况都是闰年:1. 能被4整除但是不能被100整除 2. 能被400整除。输入输入一个整数年份输出如果是闰年输出Yes,否则输出No样例输入 Copy2000样例输出 CopyYes#include <stdio.h>int main(){ int y; scanf("%d",&y); if(y%4==0&&y%100!=0||y%400==0){ p原创 2020-10-10 09:36:30 · 276 阅读 · 0 评论 -
判断某整数是否既是5又是7的整数倍(&&)
题目描述输入一个正整数,判断该数是否既是5又是7的整数倍。若是,则输出Yes,否则输出No.输入输入一个正整数输出若该数是5和7的倍数,则输出Yes,否则输出No.样例输入 Copy35样例输出 CopyYes#include <stdio.h>int main(){ int n; scanf("%d",&n); if(n%5==0&&n%7==0){ printf("Yes\n"); } e原创 2020-10-10 09:57:51 · 5499 阅读 · 0 评论 -
3个数比较大小(从大到小依次输出)
题目描述输入3个整数,将它们从大到小输出。思路提示:假设输入a b c三个数,可以先找出最大数和a交换,确保a最大; 然后剩下两数中找出最大数和b交换,确保b最大;剩下的c就是最小数;输出a b c就是从大到小排列了(注意:自己和自己不交换,如a本身就是最大,就不需要和a交换的)。输入输入3个整数,输出从大到小输出,中间用空格隔开样例输入 Copy2 5 1样例输出 Copy5 2 1#include <stdio.h>int main(){ int a,b原创 2020-10-10 10:55:27 · 28980 阅读 · 9 评论 -
switch-case
多路分支switch(控制表达式){ case 常量: 语句 ... case 常量: 语句 ... default: 语句 ...}控制表达式只能是整数型结果,常量可以是常数,也可以是常数计算的表达式。switch语句可以看作一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的分支标号处。分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束为原创 2020-10-10 11:28:06 · 244 阅读 · 0 评论 -
多路分支-成绩转换
本题要求编写程序将一个百分制成绩转换成五分制成绩。转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入一个整数的百分制成绩输出对应的五分制成绩输入样例90输出样例A#include <stdio.h>int main(){ int grade; scanf("%d",&grade); grade/=10; switch(grade){ case 10: case原创 2020-10-10 13:05:19 · 748 阅读 · 0 评论 -
逆序输出
题目描述给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。输入输入一个不多于5位的正整数输出输出分2行,第一行是一个整数,输出是几位数,第2行逆序输出样例输入 Copy4578样例输出 Copy48754#include <stdio.h>int main(){ int x,a,b,c,d,e,f; scanf("%d",&x); if(x>9999) { f=5; }原创 2020-10-10 13:29:30 · 1539 阅读 · 0 评论 -
零基础学C/C++39——求方程的解
题目描述求ax2+bx+c=0方程的实根。a,b,c由键盘输入. 解方程要考虑系数a等于零的情况,且解x1、x2必须是float型。a等于零有两种情况(b==0,b!=0),a不等于零有三种情况(delta>0、==0、<0),先计算得到x1、x2,再printf输出输入输入三个数a,b,c输出输出方程的实根,如果方程有实根,则输出根;如果方程有2个不等实根,则分2行输出,第一行输出较大根,第二行输出较小根。 其余情况(如无实根等)则输出No样例输入 Copy1 -3 2样例输原创 2020-10-13 09:02:07 · 1188 阅读 · 1 评论 -
零基础学C/C++40——鸡兔同笼
题目描述鸡和兔关在同一笼子中,已知总数量n和腿的总数量m,求鸡的数量和兔的数量。输入输入2个整数分别是n和m(n, m > 0)输出输出鸡的数量和兔的数量,中间用空格隔开,如果无解则输出No样例输入 Copy14 32样例输出Copy12 2#include <stdio.h>int main(){ int n,m,a,b; scanf("%d %d",&n,&m); a=(4*n-m)/2; b=n-a; i原创 2020-10-13 09:16:13 · 1300 阅读 · 0 评论 -
数位数的算法
1、输入x;2、初始化n=0;3、x=x/10,去掉个位;4、n++;5、如果x>0,返回到3;6、否则n就是结果。#include <stdio.h>int main(){ int x; int n=0; scanf("%d",&x); n++; x/=10; while(x>0){ n++; x/=10; } printf("%d\n",n); return 0;}如果while循环前没有n++;x/=10;则无法判断0的位原创 2020-10-13 09:44:49 · 597 阅读 · 0 评论 -
猜数游戏
计算机产生一个随机数,让用户来猜,用户每输入一个数,就告诉大了还是小了, 直到用户猜中为止,最后还要告诉用户猜了几次。每次召唤rand(),就产生一个随机数。x%100的结果是0到99的一个整数。#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){ srand(time(0)); int number=rand()%100+1; int count=0;原创 2020-10-13 16:51:09 · 355 阅读 · 0 评论 -
for循环
#include <stdio.h>int main(){ int i; for(i=1;i<=5;i++){ printf("i=%d ",i); } printf("\n最后i=%d\n",i); return 0;}i=1 i=2 i=3 i=4 i=5最后i=6循环进行了5次,i最后的值为6.原创 2020-10-14 09:01:04 · 272 阅读 · 0 评论 -
零基础学C/C++43——求多项式
题目描述形如1-2+3-4…+n,你会编写吗?输入输入1个正整数n输出输出1-2+3-4…+n的值样例输入 Copy3样例输出 Copy2#include <stdio.h>int main(){ int n,i; int sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { if(i%2==0){ sum -=i; }原创 2020-10-14 19:43:36 · 500 阅读 · 0 评论 -
零基础学C/C++47——继续求多项式
题目描述输入1个正整数n, 计算1+(1+2)+(1+2+3)+…+(1+2+3+…+n)输入输入正整数n输出输出1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值样例输入 Copy2样例输出 Copy4#include <stdio.h>int main(){ int n,i=1,sum=0,x=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum +=i;原创 2020-10-15 09:10:29 · 429 阅读 · 0 评论 -
零基础学C/C++45——N个数找最大和最小
题目描述输入一个正整数N和N个整数,找出这N个数中的最大数和最小数。输入输入一个正整数N(1≤N≤100),然后再输入N个整数,用空格分隔。输出最大数和最小数。样例输入 Copy10 -4 5 12 88 23 -9 2 0 8 10样例输出 Copymax=88, min=-9#include <stdio.h>int main(){ int i=1; int n,x,max,min; scanf("%d",&n); scanf(原创 2020-10-14 20:32:24 · 1691 阅读 · 1 评论