- 博客(91)
- 收藏
- 关注
原创 矩阵的转置
首先有一个问题就是输入时只有九个数,我们要先把这九个数弄成三乘三的矩阵,然后再将此矩阵转置。所以开头定义a[9],b[3][3],c[3][3],首先输入这九个数字,其次用双重for循环,让b[i][j]=a[3*i+j](这步很重要,且最开始并没有想出来)。
2023-12-17 16:09:38
560
原创 十进制转二进制(递归函数)
十进制转二进制是用除法,一直除以二然后取余数。余数倒着依次写就是二进制数了。因为是倒着写,所以第一个余数是乘以1,第二个余数是乘以十这样的节奏。把每个余数乘以对应的位数后相加就能得到结果。因此在开始是要定义一个sum=0;因为要有乘积,所以定义x=1。整体用while判断,判断的条件是这个数不为0。首先里面的过程:第一步取余数,第二步sum加,用它加上上一步的余数y与x的乘积,之后x乘以十,原数n整除2。
2023-12-17 14:00:35
1714
原创 能被7或11整除的所有整数
这里我们是用调用函数。对我自己而言遇到的第一个问题是不知道怎样把满足条件的一组数放到一个数组a中。我们在这里用到的是for循环,i等于1,判断条件是i小于等于n(题目中的范围),然后用if判断语句,后面的操作a[j++]=i;就是把满足条件的i放入到了a数组中,且数组元素也随之增加最后的满足条件的个数就是j。
2023-12-15 22:04:37
634
原创 关于结构体
int main()的位置是在第一个struct结束的后面,第二个struct结束的前面。strcmp括号内的两个元素比大小,若两个元素相同,那么就会等于0。
2023-12-15 20:18:28
441
原创 打印直角三角形图案
与上两次三角形不同的是这次是倒三角而且右对齐(左边是空格)。此时的外循环与倒三角一样for(i=n;i++)不过里面有两个内循环,分别是输出空格和输出1的循环。j++)这是输出空格,这里需要注意判断的条件!输出数字1就和之前一样,判断条件是j<=i。
2023-12-14 14:51:20
447
原创 输出三角形字符阵列
首先我们要输出的是一个倒三角,其次我们要输出的是字符。输出倒三角是需要for的双重循环。第一个for(i=n;i--)判断条件是i>0(n为行数)。第二个for(j=1;输出时是大写的ABC……依次输出,所以输出的是%c,'A'+a(a开始等于0,循环中a++!)注意:为了分层,在小循环外大循环内加上一个输出\n!
2023-12-14 14:41:39
1648
原创 输出100到200之间的素数,每行输出八个数
用双重for循环,第一个for(i=100;i++)第二个for(j=2;j<=sqrt(i);j++)这个是用来判断i是否为素数的,因为用到了开根号sqrt,所以在开头需要写#include<math.h>。在循环里面,用if条件语句判断:如果是素数的话,输出,同时m++(开头定义m=0),然后若m%8=0那么输出一个"\n"(注意,这个m的操作是在大的for循环里面的。
2023-12-13 17:19:46
705
原创 打印之间九九乘法表
直角的九九乘法表,每一行数字加一,乘的数从1开始依次加一知道等于这一行的行数,即两个乘数相等。所以在开始先定义两个字母i,j;之后用双重for循环。首先是for(i=1;第二个是for(j=1;
2023-12-13 17:06:01
358
原创 新学的结构体
strcpy(s1.name,"张函瑞");正确,而不能直接写s1.name="张函瑞";,并且,因为用了ctrcpy,所以在开头要写#include<string>,名字是字符串,所以用char name[20];而性别用F或者M,是单个字符,所以用char sex;
2023-12-13 16:56:01
380
原创 求奇数的阶层和
首先要求阶层,其次要将其求和,还得是奇数。遇到sum就定义一个sum=0.还得再定义一个t=1(既能储存每个奇数的阶层值阶层为乘积形式,不能为0,又能作为第一个数1的阶层,后面直接从3开始)。为实现奇数,用for循环。x=x+2)后面是t=x*t*(x-1);sum=sum+t;(因为两个奇数之间差一个数,所以与连续数的阶层不同,它还要乘以(x-1)
2023-12-12 23:00:48
470
原创 各位数字之和
求一个整数的各位数字之和。我这里用的do while.在最开始先int a,sum=0;(因为是求和)然后do{(sum=sum+a%10;先用sum加上个位数,在将此整数个位数去掉,这样依次进行下去。
2023-12-12 22:51:36
406
原创 判断闰年哦
用if判断,闰年的条件就是1:除以4余数为0,且除以一百余数不为0。2:除以400余数为0。所以if((x%4==0)&&(x%100!=0)丨|(x%400==0))
2023-12-12 22:43:03
371
原创 冒泡法排序
这个冒泡法是共20个数,将中间的10个数使用冒泡法排序。所以是第六个到第十五个进行排序,冒泡法的第一个for循环是指次数,所以这个循环依然是for(int i=0;i++)最开始我用的i=5所以一直不对,忘记这个i指的是循环次数,而与第一个数无关!
2023-12-10 16:47:47
383
原创 一批数中最大值最小值
例如输入十个数,int i=1;那么while(i<=10) 就scanf("%d",&n);1:最后输入负数时结束输入。用if判断语句,输入数n,若n<0那么break;
2023-12-09 18:17:16
517
原创 判断一个数是否为素数
素数的定义:只能被1和自身整除的大于1的自然数。那么我们可以用for循环。定义i开始=2,用数a除以i,当余数为0时停止,当然,这个for循环判断的条件是i<=a,进行的操作是i++。最终用if判断语句,若最后i等于了a,那么这个数是素数,否则不是。(用最后的结果判断)
2023-12-09 17:54:32
430
原创 最大公约数和最小公倍数
最大公约数*最小公倍数=m*n(两个数相乘),所以找到最大公约数就能知道最小公倍数,所以要定义一个字母r=m%n,当r等于0的时候就是循环停止,出结果的时候。
2023-12-09 17:35:46
358
原创 求整数的位数及各位数字之和
如果要求每个数字的和,那么只需要每次用sum=0加上其个位数即x%10,然后再将数变为x/10,做循环while(x>0)
2023-12-09 17:17:20
989
原创 字符串中的小写字母转化为大写字母
判断小写字母用逻辑语句if(p[i]>='a'&&p[i]<='z')且小写字母的值比大写字母大32,A为65,a为97。
2023-12-08 16:57:23
347
原创 输出的形式为1 2 3 4
有三种方式:1:先输出第一个数,且它前面无空格,再输出后三个数,输出时“ %d”,百分号前面有空格。2类似于第一种,不过是先输出前三个数,且每个数后面有空格,最后单独输出最后一个数。3:用if条件语句判断,如果不是第一个数,那么就在先输出一个空格。有三种方式:1:先输出第一个数,且它前面无空格,再输出后三个数,输出时“ %d”,百分号前面有空格。2类似于第一种,不过是先输出前三个数,且每个数后面有空格,最后单独输出最后一个数。3:用if条件语句判断,如果不是第一个数,那么就在先输出一个空格。
2023-12-07 21:38:06
357
原创 输入输出之打折
小数点后保留几位小数的方法,如果保留三位,那么输出时printf("%.3f",c);百分号后的小数点后的数字就是保留的小数的位数。
2023-12-07 19:39:44
343
原创 输入输出之逆序的三位数
把123输出为321,首先定义这个三位数为一个字母例如a,再定义三个字母,把每个位置的值赋给这三个字母。个位用a%10,十位用a%100/10,百位用a/100。
2023-12-07 19:34:58
584
原创 计算时间时,int start,end,hour,minite;给出的两个四位整数分别/100后相减得hour,分别%100后相减得minite,但得注意如果分钟小于0的话,分钟加六十,小时减一
2023-12-07 19:25:58
348
原创 递归求fabonacci数列
return后面不能直接写函数名!例如:前面有函数的定义 double fact(int n) ,后面不能写成return fact;
2023-12-06 22:46:03
398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人