Debug个人小总结

//求三角形面积
#include "stdafx.h"
#include<stdio.h>
#include<math.h>

float Trianglearea(float a, float b, float c){
	float p = (a + b + c) / 2;
	float s = sqrt(p*(p - a)*(p - b)*(p - c));
	return s;
}
int main(){
	float a, b, c, s;
	printf("请输入三角形的三条边:\n");
	scanf_s("%f %f %f", &a, &b, &c);
	 s = Trianglearea(a, b, c);
	printf("三角形的面积为:%f", s);
}

1.由于在写代码时经常使用整形,所以在应用printf 或者scanf_s函数时第一个想到的或者说写出来的总是%d,刚才找了半天错误没找出来,下次一定注意,浮点数(float double)就用%f (char)用%c

2.scanf_s函数忘记使用取地址值

2.四舍五入函数round--->math.h中的,用C++实现四舍五入

#include "stdafx.h"
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
	double d;
	cin >> d;
	int a = round(d);
	cout << a << endl;
	return 0;

}

#include "stdafx.h"
#include <iostream>
using namespace std;
int main(){
	long long sum = 0, total = 0;
	for (int i = 1; i <= 10; i++){
		sum = sum * 10 + 9;
		total = total + sum;
	}
	cout << total << endl;
}

 1.前面写的算法都没有问题,但是运行结果是一个负值,后来看答案发现int的取值范围只有10位数,而正确的结果有十一位数,应该使用long long型。

2.一下为各种类型的取值范围

 3.保留小数点后几位小数,用#include<iomanip>头文件中的的setprecision函数

如保留一位小数

//保留小数点后一位小数
cout<<fixed<<setprecision(1)<<num<<endl;

4.对数组求长度

int arr[6]={0};
int len=sizeof(arr)/sizeof(int);

5.实现元素的反转


#include <iostream>
using namespace std;

int main() {

	int arr[6] = { 0 };

	int len = sizeof(arr) / sizeof(int);

	for (int i = 0; i < len; i++) {
		cin >> arr[i];
	}

	cout << "[";
	for (int i = 0; i < len; i++) {
		if (i == len - 1) {
			cout << arr[i] << "]" << endl;
			break;
		}
		cout << arr[i] << ", ";
	}

	// write your code here......


	cout << "[";
	for (int i = len-1; i >=0; i--) {
		if (i ==  0) {
			cout << arr[i] << "]" << endl;
			break;
		}
		cout << arr[i] << ", ";
	}

	return 0;
}

5.选择排序

#include <iostream>
using namespace std;

int main() {

	int arr[6] = { 0 };
	int len = sizeof(arr) / sizeof(int);

	for (int i = 0; i < len; i++) {
		cin >> arr[i];
	}
	int mix,temp;
	// write your code here......
	for (int i = 0; i < len - 1; i++)
	{
		
		for (int j = i + 1; j < len; j++){
			if (arr[i] >arr[j])
			{
				temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
	}
	for (int i = 0; i < len; i++){
		cout << arr[i] << " ";
	}

	return 0;
}

6.打印0——99  一行有十个数

#include "stdafx.h"
#include<iostream>
using namespace std;
int main(){
	for (int i = 0; i < 100; i++){
		cout << i<<"   ";
		if ((i+1) % 10 == 0){
			puts("");
		}
	}

7.实现字母序列循环

#include "stdafx.h"
#include<iostream>
using namespace std;

int main(){
char str[] = { "abcdefghigklmnopqrstuvwxyz" };
for (int i = 0; i < 26; i++){
int k = i;
for (int j = 0; j < 26; j++){

cout << str[k];
k = k + 1;
if (k % 26 == 0){
	k = 0;
}
}
puts("");
}
return 0;

}

1.求最小公约数(辗转相除法)

欧几里得算法

#include "stdafx.h"
#include<iostream>
using namespace std;
//辗转相除法(欧几里得算法)
int main(){
	int a, b;
	cin >> a >> b;
	while(b != 0){
		int tep = a%b;
		a = b;
		b = tep;
	}
	cout << a;
return 0;

}

32位操作系统指针占4字节

64位操作系统指针占8字节 

 

 4.结构体

#include "stdafx.h"
#include<iostream>
using namespace std;
struct Student{
	char s_id[10];
	char s_name[10];
	char s_sex[10];
	int ege;
};
int main(){
	struct Student bling{ "136 ", "wbling", "women",20 };
	struct Student *p = &bling;
	cout << (*p).s_id << endl << p->s_name << endl << bling.s_sex << endl << p->ege;

return 0;

}

1.在结构体中定义一个变量,采用  结构体+结构名+定义名称

如:struct Student bling{   };

同理,在定义指针时也一样

如:struct Student *p=&bling ;

2.结构体后不跟括号struct Student{

};

3.结构体末尾的花括号后必须紧跟一个分号{};

4.(*p).s_id=p->s_id=bling.s_id

struct Student{
	char s_id[10];
	char s_name[10];
	char s_sex[10];
	int ege;
}stud;
struct Student stud;//全局结构体变量

5.EOF是一个宏常量   代表值是-1

6.typedef 用于将定义一个类型名称

如:

#include<iostream>
using namespace std;
typedef unsigned int bling;

int main(){
	bling w = 520;
	cout << w << endl;
return 0;

}

 1.感觉今天弄懂了好多知识i  嘻嘻嘻

 2.外部关键字 extern 只对

3.static 如果未对其进行赋值,将默认其初始值为0;

static 是静态变量  每次保存前一次的值  将数据存在.data中  (作用于不变  生存期改变)

#include<iostream>
using namespace std;
void fun(){
	int a = 1;
	static int b = 1;
	a++;
	b++;
	cout << a << "   " << b << endl;
}
int main(){
	for (int i = 0; i < 5; i++){
		fun();
	}
return 0;

}

2.全局变量和函数属于文件作用域。

3.static 只能修饰的全局变量或者函数 只能在本文件中使用,即使一个项目中其他的文件加了entern 也无法使用。

在static之前加上extern会出现编译错误  如同神仙打架 static 声明只能在本文件中使用。而extern代表的意义是可以在外部使用。

const如果想被同一个工程中的其他文件使用的话,需要在const之前加上entern 。

4.字符0 

'0'的ASCII码值为48

'\0'的ACSII码值为0

NULL的ASCII码值为0

空格的ASCII码值为32

#include<iostream>
using namespace std;
//C语言中的空为大写
int main(){
	bool x = 0;//false
	bool a = '0';//48  true
	bool b = '\0';//0  false
	bool c = NULL;  //0 false
	bool d = " ";//32  true
	cout << x << endl << a << endl << b << endl << c << endl << d << endl;
	return 0;
}

运算符优先级(由高到低)

!非---->算术运算符(+  -)---->关系运算符(== >  <  >=  <=)---->逻辑运算符(||  &&)---->赋值运算符(=)

2022.1.28

1.输出三个数中中间的一个数

#include "stdafx.h"
#include<iostream>
using namespace std;
int main(){
	int a, b, c, t;
	cin >> a >> b >> c;
	if (a > b){
		t = a;
		a = b;
		b = t;
	}
	if (b > c){
		t = b;
		b = c;
		c = t;
	}
	if (a > c){
		t = a;
		a = c;
		c = t;
	}
	cout << b << endl;
}


2.  switch语句中的default  以及default语句中的break均可省略。

3. switch 可以嵌套

4. bool 类型中,0表示假,非0表示真。

4.有限状态机(判断一个字符串由多少单词构成)

#include "stdafx.h"
#include<iostream>
#include<ctype.h>
#define BEGIN 0
#define IN_WORD 1
#define OUT_WORD 2
using namespace std;
//字符串三件套  []  {""}
int main(){
	char str[] = { "wangbuding is a beautiful girl" };
	int sum = 0;
	int tag = BEGIN;
	for (int i = 0; str[i] != '\0'; i++){
		switch (tag)
		{
		case BEGIN:
			if (isalpha(str[i]))  tag = IN_WORD;
			else {
				tag = OUT_WORD;
			}
			break;
		case IN_WORD:
			if (!isalpha(str[i]))  tag = OUT_WORD;
			break;
		case OUT_WORD:
			if (isalpha(str[i]))  tag = IN_WORD;
			sum = sum + 1;
			break;
		}
	}
	if (tag == IN_WORD){
		sum = sum + 1;
	}
	cout << sum << endl;

	
	return 0;
}
//switch语句不加break 语句真的会死

5.判断那一年那一个月有多少天

#include<iostream>
using namespace std;
int main(){
	int y, m;
	cin >> y >>m;
	if ((y % 4 == 0 && y % 100 != 0 || y % 400 == 0)&&m==2)
	{
		cout << y << "年" << m << "月有29天" << endl;
	}
	else cout << y << "年" << m << "月有28天" << endl;
	if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
		cout << y << "年" << m << "月有31天" << endl;
	}
	if (m == 4 || m == 6 || m == 9 || m == 11){
		cout << y << "年" << m << "月有30天" << endl;
	}
	return 0;
}

6.判断是否为闰年

#include "stdafx.h"
#include<iostream>
using namespace std;
void judge_Year_Month_D(int y, int m){
	if ((y % 4 == 0 && y % 100 != 0 || y % 400 == 0) && m == 2)
	{
		cout << y << "年" << m << "月有29天" << endl;
	}
	else cout << y << "年" << m << "月有28天" << endl;
	if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
		cout << y << "年" << m << "月有31天" << endl;
	}
	if (m == 4 || m == 6 || m == 9 || m == 11){
		cout << y << "年" << m << "月有30天" << endl;
	}
}
int main(){
	int y, m;
	cin >> y >>m;
	judge_Year_Month_D(y, m);
	return 0;
}

6.输入年月日判断是那一年的哪一天(呜呜呜也算是至今为止自己编过最长的代码吧!)

#include "stdafx.h"
#include<iostream>
using namespace std;
//输入  year  month  day 判断这一天是这一年的第几天
void judge_YMD_D(int y, int m, int d){
	int sum = 0;
	if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
	{//闰年
		for (int i = 1; i < m; i++)
		{
			switch (i)
			{
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				sum = sum + 31;
				break;
			case 2:
				sum = sum + 29;
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				sum = sum + 30;
				break;
			}

		}
		cout << y << "年" << m << "月" << d << "日为" << y << "年的第" << sum + d << "天" << endl;

	}
	else{
		for (int i = 1; i < m; i++)
		{
			switch (i)
			{
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				sum = sum + 31;
				break;
			case 2:
				sum = sum + 28;
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				sum = sum + 30;
				break;
			}

		}
		cout << y << "年" << m << "月" << d << "日为" << y << "年的第" << sum + d << "天" << endl;
	}
}
int main(){
	int y, m, d;
	cin >> y >> m >> d;
	judge_YMD_D(y, m, d);

	return 0;
}

1.交换元素(1. 值传递  2.指针传递)

2.判断字符串中有多少控制字符 数字字符 大写 小写字符 其他字符

#include "stdafx.h"
#include<iostream>
#include<ctype.h>
#define KONGZHIZIFU 1
#define SHUZIZIFU   2
#define XIAOXIE     3
#define DAXIE       4
#define QITA        5
using namespace std;
int main(){
	char str[] = { "WangBuding Is 100\n ,,, Cute!" };
	//控制字符 1  数字字符3  小写16  大写 5  其他 2
	int a = 0, b = 0, c = 0, d = 0, e = 0;
	for (int i = 0; str[i] != '\0'; i++)
	{
		char tag;
		if (iscntrl(str[i]))  tag= KONGZHIZIFU;
		else if (isdigit(str[i])) tag = SHUZIZIFU;

		else if (islower(str[i])) tag = XIAOXIE;
		else if (isupper(str[i])) tag = DAXIE;
		else if (ispunct(str[i]))  tag = QITA;
		switch (tag){
		case KONGZHIZIFU:
			a++; break;
		case SHUZIZIFU:
			b++; break;
		case XIAOXIE:
			c++; break;
		case DAXIE:
			d++; break;
		case QITA:
			e++; break;
		}
		
	
	}
	cout << "控制字符:  " << a << "   " << "数字字符:  " << b << "   " << "小写:   " << c << "   " << "大写:   " << d << "   " << "其他:  " << e << "   " << endl;

	return 0;
	
}

3.清晰易懂的比较三个数中的中间值

#include "stdafx.h"
#include<iostream>
#include<ctype.h>
using namespace std;
void swap(int *a, int *b){
	int t = *a;
	*a = *b;
	*b = t;
}

int main(){
	int a, b, c;
	cin >> a >> b >> c;
	if (a > b){
		swap(&a, &b);
	}
	if (b > c){
		swap(&b, &c);
	}
	else if (a > b){
		swap(&a, &b);
	}
	cout << b << endl;
	return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: debug.exe是Windows系统中的一个命令行工具,主要用于调试应用程序或操作系统。debug.exe并不是一个官方发布的独立软件,而是随着Windows操作系统一起提供的。 在CSDN(中国软件开发者社区)上下载debug.exe并不可行,因为CSDN主要是一个面向开发者的知识分享平台,提供了众多软件开发相关的教程、资源和论坛等。但是像debug.exe这样的操作系统内置工具,通常不会在CSDN上提供下载。 如果你需要获取debug.exe,可以通过以下几种途径来获得: 1. 通过Windows操作系统安装盘或官方镜像:debug.exe是Windows操作系统的一部分,当你安装或重新安装Windows时,它应该会随之一同安装。 2. 通过Windows开发者工具包(Windows SDK):Windows开发者工具包是用于Windows平台软件开发的一套工具,其中包含了一些常用的工具,如debug.exe等。你可以前往微软官方网站下载并安装Windows SDK,然后从中获取debug.exe。 3. 从他人或其他可靠的网站获取:在互联网上,你可能会找到其他网站或个人分享了debug.exe或Windows操作系统的内置工具。在获取时请注意确保来源的可信度,并对下载的文件进行杀毒检查。 总之,debug.exe是Windows操作系统的一部分,通常不会在CSDN上提供下载。你可以通过Windows操作系统安装盘、Windows开发者工具包或其他可靠来源来获取debug.exe。 ### 回答2: debug.exe是一个用于调试程序的工具,可以在开发过程中帮助开发者找出程序中的错误并进行修复。关于debug.exe的下载路径,我们可以在CSDN(中国软件开发网)上找到它。 1. 首先,打开浏览器并访问CSDN的官方网站。 2. 在网站的搜索栏中输入"debug.exe"。 3. 在搜索结果页面中,可能会得到很多关于debug.exe的相关内容,我们需要筛选出下载路径。 4. 可以根据搜索结果的排序方式选择按照时间或者相关度排序。通常,时间排序可以确保我们得到最新的、最可靠的下载链接。 5. 在搜索结果中找到一篇包含debug.exe下载链接的文章或者帖子。可以根据标题或者内容预览进行选择。 6. 点击下载链接,可能会弹出一个下载页面。根据指示进行操作,可能需要进行登录或者其他验证过程。 7. 一旦验证完成,debug.exe的下载将开始。可以选择保存文件到自己的电脑上,通常会默认保存到下载文件夹中。 需要注意的是,下载debug.exe的路径可能因为时间、网站更新等原因而有所变化。如果以上步骤无法找到最新的下载路径,可以尝试使用其他开发者社区的网站或者搜索引擎进行查询获取。同时也要谨慎下载,确保文件的来源可靠,以避免下载并运行恶意软件。 ### 回答3: 在CSDN不同资源页面上,可以找到debug.exe的下载路径。首先,打开CSDN的官方网站。在主页上,可以看到网站的搜索框,输入"debug.exe"进行搜索。 在搜索结果页面上,可以看到各种与debug.exe相关的资源、博客、问答等。点击其中的一个资源链接,进入资源详情页。 在资源详情页上,可以看到资源的详细描述、截图、标签等信息。同时,在页面的右侧或下方,会有一个下载按钮或链接,点击它即可进入debug.exe的下载页面。 在下载页面上,可以看到debug.exe的具体信息,如版本号、文件大小等。通常会有一个下载按钮,点击它即可开始下载debug.exe文件。 下载过程可能需要一定时间,取决于网络状况和文件的大小。下载完成后,可以打开文件所在目录,找到下载好的debug.exe文件。 总结来说,在CSDN上下载debug.exe的路径为:CSDN官方网站 -> 搜索框搜索"debug.exe" -> 进入资源详情页 -> 找到下载按钮 -> 点击下载按钮 -> 下载debug.exe文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值