1.题目描述:
编写程序,用户输入任意的3个小数;将这3个小数相加并显示结果;将结果按四舍五入方法转换成整数并显示。
输入输出格式:
输入:3个小数,空格分隔;
输出:和,四舍五入后的整数,1行显示,空格分隔
#include
int main()
{
printf("pls input 3 real number\n");
float a, b, c;
scanf_s("%f%f%f\n", &a, &b, &c);
float d = a + b + c;
int intD = (int)(d + 0.5);//强制取整,加0.5四舍五入
printf("%f %d\n", d, intD);
return 0;
}
2.题目描述:
输入一个十进制整数(int 型),输出该数的十六进制形式,再以十六进制形式分别输出该数高端2字节和低端2字节对应的值,逗号分隔。
输入输出格式:
输入:一个整数(十进制)
输出:第一行该数的十六进制;第二行该十六进制数高端2字节(逗号分隔)该十六进制数低端2字节
提示:int a=1;printf("%04d",a);则输出为:0001
#include
int main()
{
int a, b, c;
scanf_s("%d", &a);
b = a & 0xffff;//低端
c = a >> 16 & 0xffff;//高端
printf("%x\n", a);//这里如果写成"%d\n",那么输出的是十进制整数;改为"%x\n"输出的即是十六进制数
printf("%04d,%04d", c, b);
return 0;
}
3.题目描述:
编写程序,输入一个三位正整数,分别输出其中个位数字,十位数字和百位数字,并用逗号分隔(英文逗号)。
输入输出格式:
输入:正整数(100~999之间)
输出:个位数,十位数,百位数(逗号分隔三个数字)
#include
int main()
{
int a ,onesplace ,tensplace, hundredsplace;
scanf_s("%d", &a);//scanf_s()会进行边界检查,防止数据溢出
onesplace = a/1 % 10;//数字除10后的余数即为各位数字
tensplace = a/10 % 10;//数字除10后,除十的余数取整即为十位数字
hundredsplace = a/100 % 10;
printf("%d,%d,%d",hundredsplace , tensplace,onesplace );
return 0;
}
4.题目描述:
输入一个大写英文字母, 输出与其相邻的字母串(将字母A-Z看作是收尾相接的环状排列)。
输入输出格式:
输入: 大写英文字母
输出:该字母前面的字母,该字母,该字母后面的字母。(三字母间无间隔)
#include
int main()
{
char a, b, c;//输入的ABC...仅仅代表字母,因此数据类型为字符型,用“char”
scanf_s("%c", &b);
if (b == 'A')
{
printf("ZAB");
return 0;
}
else
{
if (b == 'Z')
{
printf("YZA");
return 0;
}
else
{
a = b - 1;//在ASCⅡ码上+1-1即可完成字母的左右移动;
//另外,大小写的转化可直接+(大换小)-(小换大)32,或者用'a'-'A'。
c = b + 1;
printf("%c%c%c", a, b, c);
return 0;
}
}
return 0;
}
**纠错警示: