译码程序
要求:
- ④实现简单的译码程序,要求输入一个1~100之间的整数,输出其相应ASCII码后四位的字符。
题目分析:
1.接收的字符是否为整数。
2.接收的数值是否是三位数。
3.接收的数值是否小于100。
代码实现:
#include<stdlib.h>
#include<stdio.h>
int main(){
int number=0,i;
char str_[100];
printf("请输入一个0~100的整数:");
//scanf("%d", &number);
scanf("%s",&str_);
for (i = 0; i <= 3; i++){ //控制字符数,是否是三位数以内。
if (!(str_[3] == '\0')) //判断判断第四个字符是否为结束符,如果是结束符,进行非运算,为真执行错误提示语句
{
if (str_[i] >= '0' && str_[i] <= '9') //判断第三个字符的字符类型,如果为数字,则输入数字超出范围,程序结束。
{
printf("请输入小于100的数字,程序结束。");
break;
}
else //若不是字符,则执行输入错误提示,程序结束。
{
printf("请输入数字,程序结束。");
}
}
else //否则,第四个字符为结束符
{
if (!(str_[i] >= '0' && str_[i] <= '9')) //逐一判断各个位置字符是否为数字,如果是则跳出判断,如果不是则执行下面的语句
{
if (str_[i] == '\0') //判断该字符是否为结束符,如果是则执行
{
number = atoi(str_); //atoi函数为stdlib.h文件的函数,其做用是将字符串(char)转化为整型(int)
if (number <= 100) //判断数字是否小于100,如果是,输出想要的值,程序结束。
{
printf("您输入的ASCII码为“%d”,对应的字符为“%c”,加4后显示的字符为“%c”", number, number, number + 4);
break;
}
else //否则数据为三位数大于100的数值,提醒用户,程序结束。
{
printf("请输入小于100的数,程序结束。");
break;
}
}
else
{
printf("请输入数字,程序结束。");
break;
}
}
}
}
getchar();
getchar();
}
如果是同学百度到这里,请仔细阅读理解代码
文档
和C
都是初学者,文档表达和程序尚有不足之处,望批评指正,谢谢各位