c语言
杪秋
一个小白!
展开
-
今日份暴力破解
求出A的子数组之和的最大值原创 2022-12-04 19:55:46 · 362 阅读 · 1 评论 -
字符串的输入问题
字符串的输入:gets() 遇到换行才结束scanf()遇到’ ’ 就会结束#include<stdio.h>#include<string.h>int main(int argc, char* argv[]) { char s[10]; char t[10]; gets(t);//gets() 遇到换行才结束 scanf("%s",s);//scanf()遇到' ' 就会结束 puts(s); puts(t);} 输入:abcd eabce原创 2022-04-18 08:55:03 · 119 阅读 · 0 评论 -
栈在括号匹配中的应用
表达式中允许的括号包括( ,[ ,{ ,英文输入法下。其嵌套的顺序任意,([])或{([])}等为正确匹配的格式,{()]或(((}}})))为不能匹配的格式。算法的思想如下:1. 初始定义一个空栈,顺序读入括号2. 若是左括号,左括号进栈,若是右括号,将栈顶元素与其匹配,不匹配直接返回false(此时如果栈是空的也返回false),匹配则继续读入括号,直至读完。3. 算法结束是,如果栈空,则括号能正确匹配,否则不能。具体代码如下:#include<stdio.h>#原创 2022-04-14 18:01:03 · 1257 阅读 · 0 评论 -
408 2020统考真题41题附代码(包含主函数,可直接运行)
41. ( 13分)定义三元组(a,b,c)(a, b,c均为正数)的距离D= |a- bl + |b-c |+ lc - a|。给定3个非空整数集合S1、S2和S3,按升序分别存储在3个数组中。请设计一个尽可能高效的算法,让算并输出所有可能的三元组(a, b,c)(a∈S1,b∈S2,c∈S3)中的最小距离。例如Sl = {-1,0,9},S2 = {-25,-10,10,11},S3 ={2,9,17,30,41},则最小距离为2,相应的三元组为(9,10,9)。要求:(1)给出算法的基本设让思想。原创 2022-04-14 10:04:33 · 2631 阅读 · 0 评论 -
C++引用
C++的引用就是把&写在形参前面,此时在其他函数里操作形参与在主函数里操作实参的效果是一样。 操作一个数两个数的交换操作一个数直接上代码:#include<stdio.h>int change(int &a){ a++;}int main() { int a=10; change(a); printf("%d",a); }输出为:11C想要达到这样的效果就要用指针了;即:#include<stdio.h>int change(i原创 2022-03-11 17:25:29 · 1361 阅读 · 2 评论 -
指针的自增
直接上代码:#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ int a[3]={1,5,9}; int *p; int j; p=a; j=*p++; printf("%d %d %d",a[0],j,*p); } 结果是:1 1 5跟你想的一样吗?此处的j=*p++; 表示的是p这个地址+1,先用后加,所以j还是a[0]即1,而*p因为原来的地原创 2022-03-08 08:15:28 · 1255 阅读 · 0 评论 -
指针的应用
1.整型(其他类型同理)#include<stdio.h>#include<string.h>#include<stdlib.h>int change(int *a){ *a=100;} int main(){ int b=11; printf("before change: b=%d\n",b); change(&b); printf("after change: b=%d\n",b); } 结果如下:before change原创 2022-03-07 18:37:30 · 111 阅读 · 0 评论 -
C语言数组合并,去重和不去重
先介绍一个头文件include<algorithm>本次代码所用的sort函数和unique函数就在这个头文件里面上代码:#include<iostream>#include<stdlib.h>#include<algorithm>using namespace std;int main(){ int a[3],b[5]; int i; for(i=0;i<3;i++) { cin>>a[i]; } for(原创 2022-01-20 17:54:21 · 1097 阅读 · 0 评论 -
结构体数组的定义和使用
结构体数组的定义struct st{ char name[10];//姓名 int no;//学号 int age;//年龄 char sex[10];//性别 }stu[10];//这里的10也可以换成n;使用:输入:cin>>stu[i].name>>stu[i].no>>stu[i].age>>stu[i].sex; 输出:cout<<stu[i].name<<" "<<stu[i].no&原创 2022-01-17 19:40:24 · 6123 阅读 · 0 评论 -
break和continue的用法
break直接跳出循环(结束所有循环)如:#include<iostream>using namespace std;int main(){ int i,j; for(i=1;i<=9;i++) { if(i==5) break; cout<<i<<" "; }}运行结果如下:1 2 3 4continue结束本次循环,其他的照常进行;如:#include<iostream>using namespace原创 2022-01-17 16:11:36 · 472 阅读 · 0 评论 -
九九乘法表
打印九九乘法表#include<iostream>using namespace std;int main(){ int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%2d ",j,i,i*j); } cout<<endl; }}结果如下:1*1= 11*2= 2 2*2= 41*3= 3 2*3= 6 3*3= 91*4= 4 2*4= 8 3原创 2022-01-17 16:05:34 · 276 阅读 · 0 评论 -
sizeof的用法
sizeof的作用是求数据类型所占的字节数#include<stdio.h>#include<stdlib.h>int main(){ int i=10; short s=20; double us=1.234; printf(" i(int) is %dB\n s(short) is %dB\n us(double) is %dB\n",sizeof(i),sizeof(s),sizeof(us)); printf("%d\n%d\n%.3lf\n",s,i,us)原创 2022-01-16 21:09:07 · 110 阅读 · 0 评论