永发信息网

键盘输入n,判断n是否是数字,如果是字母等,输出提示要求再输入,直到n全为数字,再计算1/(n+5)的结果

答案:2  悬赏:40  手机版
解决时间 2021-11-13 10:19
键盘输入n,判断n是否是数字,如果是字母等,输出提示要求再输入,直到n全为数字,再计算1/(n+5)的结果
最佳答案

#include
#include

int main() {
char s[20];
int num = 0,len,i;
while(1) {
printf("请输入一个整数 : ");
gets(s);
len = strlen(s);
for(i = len - 1; i >= 0; --i) {
if((s[i] < '0') || (s[i] > '9')) break;
num = 10 * num + s[i] - '0';
}
if(i > 0) printf("输入错误,重新输入。\n");
else break;
}
printf("1/(%d + 5) = %lf\n",num,1.0/(num + 5.0));
return 0;
}追问为什么当输入01时却是将他当10计算呢,请问能否解答一下,还有一点就是每次提示错误输入时,要求重新输入,应当将num重新至0,不然会出现错误结果,第二个问题我已自己解决,就是前面那个问题不懂追答为了避免非规范的整数得到正确的结果,还需强壮代码。
#include
#include

int main() {
char s[20];
int num = 0,n,len,i;
while(1) {
printf("请输入一个整数 : ");
gets(s);
len = strlen(s);
for(n = 0; s[n] == '0'; ++n);
for(i = len - 1; i >= n; --i) {
if((s[i] < '0') || (s[i] > '9')) break;
num = 10 * num + s[i] - '0';
}
if(i > n) printf("输入错误,重新输入。\n");
else break;
}
printf("1/(%d + 5) = %lf\n",num,1.0/(num + 5.0));
return 0;
}
全部回答
#include
// #include 一下注释的用到
#include
int main()
{
char n[30];
int i,j,leap=1,num;
while(leap)
{
num = 0;
gets(n); //读取行字符,或用scanf("%s",n); 不过不能有空格,tab.
for( i = 0; i < strlen(n); i++) //strlen函数是返回字符串元素个数
if(!( n[i]>='0' && n[i] <= '9')) break; //遇到不是数字就跳出了,在循环就是了
if(i>=strlen(n))
{
for(i = 0; i < strlen(n); i++)
num=num*10+n[i]-'0';
leap = 0;
}
if(leap == 0)
printf("%.2f\n",1.0/((float)n+5));
}
return 0;
}
最后说几句,程序里可以用库函数就可以搞定了,不过我不知道你知不知道,就不写了,特别一个好用的用itoa(参数)函数,直接把字符串变为数字,另外还有一个 sscanf() 这个也同样可以实现追问怎么又错呢。
显示:Error executing cl.exe.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求大神,新买的阿迪贝壳女士鞋子。不知道是否
贺普丁的介绍
词汇运用
全相联方式和组相联方式的哪一个的冲突概率更
有人称黄河人悬河,这是为什么?请回答。
金立s5l和s5s有什么差别
摩托手机上网设置怎样G变E~?
广州至桂林的高铁,其中有三对是深圳开出G字
我爱人前几天被骗走两万一,说是垫资开新三板
福泰园洗浴宾馆地址在哪,我要去那里办事,
老人跌倒千万不要扶,因为法官也说了,这都是
怎么样做可以当网红
明星眼镜(汇文路店)地址在什么地方,想过去办
下面一句为什么没用陈述语气?写成Who you di
PEEK板的硬度是多少
推荐资讯
请问蛇多久会排泄一次
为什么天正坐标输入的坐标和点引出来的坐标和
在旧的环氧树酯地面上可以做新的吗
刘德华主演里面有一个叫o的是哪部电影
展翅高飞蝴蝶什么鸟吃?
涓,绢,奔,愧可以组什么词
小米4全网通16g多少钱
9月30日DNF无故封号
皮带轮怎样测量它的直径和内径视频
好视力眼镜(人民中街)地址好找么,我有些事要
求问超薄羽绒服会不会暖和,适不适合冬天穿河
蟹脚兰可不可以放在卧室?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?