- 博客(12)
- 收藏
- 关注
原创 数字的对齐输出
给出一串整数,要求每个整数占n个字符的宽度,并且右对齐输出。例如:占8个字符输出。#include<stdio.h>int a[10010];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n;i++){ printf("%8d",a[i]); //占n个字符就是%nd } return 0
2021-11-25 21:24:10 620
原创 正负分数的求和
求1-1/2+1/3-1/4+1/5+...+1/n。#include<stdio.h>int main(){ int n; double sum=0.0,ret=1.0; scanf("%d",&n); for(int i=1;i<=n;i++){ sum+=ret/i; ret=-ret; //使分数前面的系数正负交替 } printf("%lf",sum); return 0;} ...
2021-11-25 13:33:24 1726
原创 正分数求和并以浮点数形式输出
求1+1/2+1/3+...+1/n的和,并以小数形式输出结果。观察分母可以知道,分母是递增的形式,所以只要一个for循环就可以搞定啦。#include<stdio.h>int main(){ int n; double sum=0.0; //把和定义为浮点数的形式 scanf("%d",&n); for(int i=1;i<=n;i++){ sum+=1.0/i; //先把分数化为浮点数形式 } printf("%lf",sum); re
2021-11-24 23:15:54 259
原创 求最大公约数
法一:枚举法。输入两个数a,b。求a,b的最大公约数。1.设t为2。2.如果a和b都能被t整除,则记下这个t。3.t加1后重复第二步,直到t等于a或b。4.那么,曾经记下的最大的可以同时整除a和b的t就是最大公约数。#include<stdio.h>int main(){ int a,b; int min; int ret=0; scanf("%d %d",&a,&b); if(a>b){ min=b; }else{ min=
2021-11-23 13:43:45 426
原创 C语言中所有格式化类型的定义
1. %d 接受整数值并将它表示为有符号的十进制整数,输出带有符号的整数。2. %u 无符号的十进制整数3. %o 无符号的8进制整数(不输出前缀0)。4. %x/%X 无符号的16进制整数,x对应输出小写abcdef,X对应输出大写ABCDEF(不输出前缀ox)。5. %f/%lf 表示单精度浮点数和双精度浮点数。6. %e/E 科学计数法表示的数(指数形式的浮点数),此处“e"的大小写表示在输出时用的*e"的大小写。7. %g/G 表示有效位数(自动选择合适...
2021-11-22 23:39:23 820
原创 十进制转换成十六进制
给出一个无符号的十进制的正整数N,求这个数N的十六进制。“除R取余法”:十进制整数转换成R进制整数,可用十进制整数连续地除以R,每次除法获得的余数即为相应R进制数一位,最后商为零时,按逆序输出结果。例如十进制数92转换为十六进制即为5C。解析:设a为余数,b为商。a=92%16=12,b=92/16=5,这时候,第一个余数是12.a=5%16=5,b=5/16=0。第二个余数为5。由十六进制可知,12对应的是C,所以92的十六进制数为5C。代码如下:#include<
2021-11-20 23:58:19 10752
原创 简单的前缀和运算
给出一个正整数n,输入n个数,并求这n个数的某个区间的和。首先要定义一个数组,这个数组的大小要比n要大,否则会出现越界的情况,用这个数组来装这n个数。先给出代码,随后附上解析。#include<bits/stdc++.h> using namespace std;int a[100005];int sum[100005];//将数组放在函数外面就会将数组里的每个值都初始化为0 int main(){ int N,M; int L,R; int t; cin>
2021-11-19 23:58:49 381
原创 倒叙输出一个整数
给出一个正整数,要求倒着输出这个整数。例如输入123,则输出为321。对于这样的题目,就需要取余和除法。#include<stdio.h>int main(){ int x; int a; int b=0; scanf("%d",&x); while(x>0){ a=x%10; //取余得到最后一位数 printf("%d",a); //打印出那个数 //b=b*10+a; x/=10; } return 0;} 拿123来举例,第
2021-11-18 23:06:14 3928 1
原创 水仙花数题
水仙花数的定义:一个三位数(100~999)的各位数的立方和等于它本身。题目大意:输入一个数n,求这个100到这个数的区间内有多少个水仙花数,并打印出来,用空格分隔。若区间没有水仙花数,则输出Not Found.一个三位数的各位数的立方和,则要先求出这个数的各个数,就用取余,除10的方法。#include<bits/stdc++.h>using namespace std;int main(){ int n,i; int a,b,c; int cnt=0;//使用变量来计
2021-11-17 23:43:46 1293
原创 打印乘法表
题目大概是这样:输入一个数n,打印出n行的乘法表。先丢出一串代码。#include<stdio.h>int main(){ int n; int i,j; scanf("%d",&n); for(i=1;i<=n;i++){ for(j=1;j<=i;j++){ printf("%d * %d = %d\t",j,i,i*j);// \t是水平制表符 } printf("\n");//打印完一行后换行 } return 0;
2021-11-16 23:32:51 171
原创 程序错误类型及分析
对于很多新手小白来说,第一次写程序的时候,基本上都会出现错误,我也不例外,关键是有了错误且编译器提醒了,我还是找不出来,于是乎,为了以后写代码能够尽快找出错误,我将程序可能 会出现的错误总结下来。程序错误分为两类。一是语法错误,二是逻辑错误。1.语法错误。语法问题:缺少或多加了符号。这样的错误编译器一般会指明错误所在,但由于代码是彼此联系的,有时编译器给出的提示就未必是正确的,出错的地方可能是编译器提示的地方,也可能在提示的前面,也可能在前面很远的地方。有时候一个错误会让编译器给出很多错误提示,
2021-11-13 10:24:34 3834
原创 字符串转换
新手一枚~先从字符转换开始八字符串的转换#include<stdio.h>#include<string.h>int main(){char str[1000];int i;gets(str);for(i=0;str[i]!=' ';i++){ //空格代表输入停止,也可以用EOF!来表示输入结束if(str[i]>='A'&&str[i]<='Z') str[i]+=32;else if(str[i]>='a'&a
2021-11-10 22:45:52 678
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人