c++编程怎样让input是百分之几

来源:百度知道 编辑:UC知道 时间:2024/05/14 16:32:10
比如说用户输入10%,是0.1的意思是把,但怎样可以使程序识别10%就是0.1呢?谢谢。
回答的太深奥了啊。。。老师一看就知道不会是我做的。。。==|||.....有没有简单点的方法。。我才刚学了2周啊。。。

我跟你解释一下啊

int t;
scanf("%d%",&t);
double num = (double)t/100;
scanf就是格式化输入的%d%是格式化输入字符串,%d表示是整形数就是匹配10%前面的10,%d%的后面一个%匹配10%的%。然后整形数10被读取到t当中,t前面加&是取地址(不明白就看书)。
然后将t/100可以取到小数。但直接除会取整,所以整数t先转为double,num就是最终要的0.1了

这样是最简单的了,放心老师不会怀疑的

用字符方式读入。最后一个字符是 % 则 除100.0; 否则不除。
字符到float用 sscanf 转。

思路如下:

char str[]="12.345%";
int L;
float x;

scanf("%s",&str[0]);
L = strlen(str);
if (str[L-1] == '%') {
str[L-1] = '\0';
sscanf(str,"%f",&x);
x = x / 100.0;
} else {
sscanf(str,"%f",&x);
};

printf("%f",x);

1.输入一个字符串,截取%之间的,再转化成数字
或者
2.scanf("%d%",&num);