用字符串的形式输入两个数字如scanf("%s",a)编写函数将两个字符串转换为数值并输出这两个
用字符串的形式输入两个数字如scanf("%s",a)编写函数将两个字符串转换为数值并输出这两个用字符串的形式输入两个数字如scanf("%s",a)编写函数将两个字符串...
用字符串的形式输入两个数字如scanf("%s",a)编写函数将两个字符串转换为数值并输出这两个用字符串的形式输入两个数字如scanf("%s",a)编写函数将两个字符串转换为数值并输出这两个数和差积商的值
用字符串的形式输入两个数字(如,scanf("%s",a)),编写函数将两个字符串转换为数值,并输出这两个数和差积商的值。
要求,除了#include<stdio.h>语句外,不允许有其他任何包含语句,否则0分。
请参考下列输入输出示例:
例1,
输入:
请输入两个数字:
3.5
2.82
输出:
3.5+2.82=6.32
3.5-2.82=0.68
3.5*2.82=9.87
3.5/2.82=1.24113
要求,除了#include<stdio.h>语句外,不允许有其他任何包含语句
请参考下列输入输出示例:
例1,
输入:
请输入两个数字:
3.5
2.82
输出:
3.5+2.82=6.32
3.5-2.82=0.68
3.5*2.82=9.87
3.5/2.82=1.24113
例2,
输入:
请输入两个数字:
2.82
3.5
输出:
2.82+3.5=6.32
2.82-3.5=-0.68
2.82*3.5=9.87
2.82/3.5=0.80571
例3,
输入:
请输入两个数字:
2.82
ab3.5
输出:
字符串"ab3.5"无法转换成数字!请重新输入两个数字。
请输入两个数字: 展开
用字符串的形式输入两个数字(如,scanf("%s",a)),编写函数将两个字符串转换为数值,并输出这两个数和差积商的值。
要求,除了#include<stdio.h>语句外,不允许有其他任何包含语句,否则0分。
请参考下列输入输出示例:
例1,
输入:
请输入两个数字:
3.5
2.82
输出:
3.5+2.82=6.32
3.5-2.82=0.68
3.5*2.82=9.87
3.5/2.82=1.24113
要求,除了#include<stdio.h>语句外,不允许有其他任何包含语句
请参考下列输入输出示例:
例1,
输入:
请输入两个数字:
3.5
2.82
输出:
3.5+2.82=6.32
3.5-2.82=0.68
3.5*2.82=9.87
3.5/2.82=1.24113
例2,
输入:
请输入两个数字:
2.82
3.5
输出:
2.82+3.5=6.32
2.82-3.5=-0.68
2.82*3.5=9.87
2.82/3.5=0.80571
例3,
输入:
请输入两个数字:
2.82
ab3.5
输出:
字符串"ab3.5"无法转换成数字!请重新输入两个数字。
请输入两个数字: 展开
1个回答
展开全部
#include "stdio.h"
int check(char a[])
{
if((a[0]>9||a[0]<0)&&a[0]!='-')
{
printf("字符串“%s”无法转成数字!请重新输入两个数字。",a);
return -1;
}
for(int i=1;i<strlen(a);i++)
if((a[i]>9||a[i]<0)||a[i]!='.')
{
printf("字符串“%s”无法转成数字!请重新输入两个数字。",a);
return -1;
}
return 1;
}
float assign(char a[])
{
float m=0;
int light1=1;
int light2=10;
if(a[0]=='-')
light1=0;//首位变负号
for(int i=0;i<strlen(a);i++)
{
if(a[i]=='.')break;
m=m*10+(a[i]-'0');
}
for(;i<strlen(a);i++)
{
m=m+(a[i]-'0')/light2;
light2=light2*10;
}
if(light1==0)
m=0-m;
return m;
}
int main()
{
char a[]="\0";
char b[]="\0";
float m,n;
while(1)
{
printf("请输入两个数字:\n");
scanf("%s",a);
scanf("%s",b);
if(check(a))
m=assign(a);
if(check(b))
n=assign(b);
if(check(a)&&check(b))
{
printf("%s+%s=%f",a,b,m+n);
printf("%s-%s=%f",a,b,m-n);
printf("%s*%s=%f",a,b,m*n);
if(n==0)
{
printf("除数不能为0\n");
break;
}
printf("%s/%s=%f",a,b,m/n);
}
}
}
int check(char a[])
{
if((a[0]>9||a[0]<0)&&a[0]!='-')
{
printf("字符串“%s”无法转成数字!请重新输入两个数字。",a);
return -1;
}
for(int i=1;i<strlen(a);i++)
if((a[i]>9||a[i]<0)||a[i]!='.')
{
printf("字符串“%s”无法转成数字!请重新输入两个数字。",a);
return -1;
}
return 1;
}
float assign(char a[])
{
float m=0;
int light1=1;
int light2=10;
if(a[0]=='-')
light1=0;//首位变负号
for(int i=0;i<strlen(a);i++)
{
if(a[i]=='.')break;
m=m*10+(a[i]-'0');
}
for(;i<strlen(a);i++)
{
m=m+(a[i]-'0')/light2;
light2=light2*10;
}
if(light1==0)
m=0-m;
return m;
}
int main()
{
char a[]="\0";
char b[]="\0";
float m,n;
while(1)
{
printf("请输入两个数字:\n");
scanf("%s",a);
scanf("%s",b);
if(check(a))
m=assign(a);
if(check(b))
n=assign(b);
if(check(a)&&check(b))
{
printf("%s+%s=%f",a,b,m+n);
printf("%s-%s=%f",a,b,m-n);
printf("%s*%s=%f",a,b,m*n);
if(n==0)
{
printf("除数不能为0\n");
break;
}
printf("%s/%s=%f",a,b,m/n);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询