栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

输入输出常见错误总结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

输入输出常见错误总结

文章目录
  • 一、C语言:
    • 1、int型
      • 1.1
      • 1.2
    • 2、浮点型
    • 3、 字符的输入输出:
    • 4、进制转换:
  • 二、C++
    • 1、整型
    • 2、浮点型
      • 2.1 控制小数点位数
        • 2.1.1 例: 未给出π的具体值,求圆的面积,要求输出结果保留7位小数(不好写)
        • 2.1.2 例:已给定π=3.14159,求圆的面积,要求输出结果保留4位小数(很好写)
    • 3、字符型
      • 3.1 cin不接受空格,而 gets() 则接受空格
      • 3.2 sizeof和strlen的区别:
      • 3.3 求参数长度不用strlen,用s.size()
      • 3.4 char和string的区别
        • 3.4.1 头文件:
      • 4、结构体
        • 4.1 日期结构体的写法
        • 4.1.1例:日期排序

一、C语言: 1、int型

%md:可以使 不足m位的 int 型变量 进行 右补齐,其中高位用空格补齐,
如果变量本身就超过了m位则不变

1.1
int x=123;
int y=123456;
printf("%3d",x);
printf("%d",y);

输出:

  123
123456

1.2
int x=123;
int y=123456;
printf("%03d",x);
printf("%d",y):

输出:

000123
123456

2、浮点型
double x=12.34567
printf("%.3lf", x);  //保留3位小数,四舍五入

输出:

12.346

3、 字符的输入输出:

数据范围为:-128 ~ 127

4、进制转换: 二、C++ 1、整型 2、浮点型 2.1 控制小数点位数 2.1.1 例: 未给出π的具体值,求圆的面积,要求输出结果保留7位小数(不好写)
#include
#include//setiosflags的头文件 
#include
using namespace std;
int main()
{
 int r;
 double ans;
 double PI=atan(1.0)*4;//求出精确的圆周率π 
 
 cin>>r;
 ans=PI*r*r;//圆的面积 
 
 cout< 
2.1.2 例:已给定π=3.14159,求圆的面积,要求输出结果保留4位小数(很好写) 
#include 
#include 
#include 
using namespace std;
int main()
{
    double r;
    cin >> r;
    
    printf("A=%.4lf",3.14159*r*r);
}
3、字符型 3.1 cin不接受空格,而 gets() 则接受空格 3.2 sizeof和strlen的区别:

sizeof ( ) 用来计算 参数所占的空间字节大小
strlen ( ) 用于 计算字符串的长度,是一种函数,必须为char,不能是string

3.3 求参数长度不用strlen,用s.size()

先定义一个字符串s,遍历时再用 s.size() 就可以求出

3.4 char和string的区别 3.4.1 头文件:

#include //char
#include //string

   getline
4、结构体 4.1 日期结构体的写法
struct Date
{
	int year;
	int month;
	int day;
}a[1000];
4.1.1例:日期排序

注意:日期结构体和比较函数cmp的写法

#include
#include
using namespace std;

//日期结构体 
struct Date
{
	int year;
	int month;
	int day;
}a[1000];

//比较日期A与日期B函数 
//注意输入格式   用const struct Date &A 
//int cmp(const struct Date &A,const struct Date &B)
int cmp(Date A,Date B)
{
	if(A.year!=B.year)
		return A.year
	int n;
	scanf("%d",&n);
	
	for(int i=0;i	
		scanf("%d/%d/%d",&a[i].month,&a[i].day,&a[i].year);
	} 
	sort(a,a+n,cmp);
		
	for(int i=0;i
		//输出补足前导0 
		printf("%02d/%02d/%04dn",a[i].month,a[i].day,a[i].year);
		//cout<
	}

	return 0;
}

​

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号