c语言输出初回忆

温故而知新

今天做了几道c语言简单的输出题,回忆了输出的精度问题,记录一下

1.字符getchar()和putchar()的输入输出问题

输入的时候为 变量=getchar(),输出的时候可以在putchar()里进行运算。

题目
【顺序结构】大小写转换2
题目描述
用从键盘连续获得两个字符(先大写再小写),中间没有任何分隔符,将两个字符的大小写转换后,用putchar()函数对其进行输出

输入描述
从键盘输入连续两个字符(先大写再小写),中间没有任何分隔符
输出描述
进行大小写转换后的两个字符,中间用换行符隔开
前置条件
输入样例
Gf
输出样例
g
F

AC代码

#include <stdio.h>
int main()
{
    
    
	char a,b;
	a=getchar();
	b=getchar();
	putchar(a+32);
	printf("\n");
	putchar(b-32);
	return 0;
}

2.输出时数的精度问题

(1)要求保留前置0时,保留几个就几个%0n

题目
【顺序结构】小数的精度1
题目描述
输入两个float类型的实数m和n,将结果保留3位小数输出
【注意】在用键盘进行输入m和n的数值时,请务必保证用的是中文输入法
输入描述
输入两个实数m和n,中间用逗号隔开
输出描述
输出保留小数点后三位后的数值(结果四舍五入),要求在输出时采用右对齐的方式,且每个数值最少占8个长度位,不足的地方用0补齐
前置条件
输入样例
5.6789,14.76
输出样例
m=0005.679
n=0014.760

AC代码

#include <stdio.h>
int main()
{
    
    
	float a,b;
	scanf("%f,%f",&a,&b);
	printf("m=%08.3f\n",a);
	printf("n=%08.3f\n",b);
	return 0;
}

(2)小数前对齐为%n.几lf,小数点后为%-n.几lf,补空格

题目
【顺序结构】小数的精度2
题目描述
输入一个double类型的实数num,将结果保留2位小数输出
输入描述
输入一个实数num
输出描述
输出保留小数点后两位后的数值(结果四舍五入),要求在输出时进行左对齐,且输出的小数应该占7个位置的长度,不足的地方用空格补齐
前置条件
输入样例
123.456
输出样例
num=123.46

AC代码

#include <stdio.h>
int main()
{
    
    
	double a;
	scanf("%lf",&a);
	printf("num=%-7.2lf",a);
	return 0;
}

3.字符输入时%c之间一定要有空格隔开

多个输入%c没空格时会出错。

题目
【顺序结构】字符串打印
题目描述
从键盘连续输入5个单个字符,中间用空格隔开,将这些字符组合成字符串的形式输出
输入描述
输入5个单个字符,中间用空格隔开
输出描述
输出这些单个字符组成的字符串
前置条件
输入样例
h e l l o
输出样例
hello

AC代码

#include <stdio.h>
int main()
{
    
    
	char a,b,c,d,e;
	scanf("%c %c %c %c %c",&a,&b,&c,&d,&e);
	printf("%c%c%c%c%c",a,b,c,d,e);
	return 0;
}

4.c语言自带进制转换

c语言自带的输出是十进制转八进制%x和十进制转十六进制%o
但是是无符号类型的,并且没有0和0x

题目
【顺序结构】进制转换
题目描述
输入一个十进制的整数,将它转换成对应的八进制数和十六进制数后输出
输入描述
输入一个整数
输出描述
输出该数对应的八进制数和十六进制数,要求在输出的八进制数和十六进制数前带有该进制对应的前导标记
【注意】输出的时候应与给定的输出样例完全一致
前置条件
输入样例
62
输出样例
八进制:076
十六进制:0x3e

AC代码

#include <stdio.h>
int main()
{
    
    
	int a;
	scanf("%d",&a);
	printf("八进制:0%o\n",a);
	printf("十六进制:0x%x",a);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_46009744/article/details/108781678