关于C语言,浮点型数据和定义数组的问题
发布网友
发布时间:2022-05-14 22:38
我来回答
共3个回答
热心网友
时间:2023-11-03 23:29
c语言, sscanf 可以转数值字符串 为 数值。
第2个数值起,定位用:“如果前一个字符是空白,后一个是数字,就是数的开始”
n -- 统计个数,若想把数据存入数组,则可以用n为下标。
例程:
#include <stdio.h>
#include <stdlib.h>
main()
{
char str[100]="123 667.23 54e-2";
int i,L,n=0;
double y;
L = strlen(str);
if (sscanf(str,"%lf",&y)){ printf("%g ",y);n++;} // 取第一个数值
for (i=1;i<L;i++)
if (str[i]==' ' && (str[i+1]>='0' && str[i+1]<='9')) {
sscanf(&str[i+1],"%lf",&y);
printf("%g ",y);
n++;
}
printf("-- total %d data I have read\n",n);
return 0;
}
热心网友
时间:2023-11-03 23:30
c语言,
sscanf
可以转数值字符串
为
数值。
第2个数值起,定位用:“如果前一个字符是空白,后一个是数字,就是数的开始”
n
--
统计个数,若想把数据存入数组,则可以用n为下标。
例程:
#include <stdio.h>
#include <stdlib.h>
main()
{
char str[100]="123 667.23 54e-2";
int i,L,n=0;
double y;
L = strlen(str);
if (sscanf(str,"%lf",&y)){ printf("%g ",y);n++;} // 取第一个数值
for (i=1;i<L;i++)
if (str[i]==' ' && (str[i+1]>='0' && str[i+1]<='9')) {
sscanf(&str[i+1],"%lf",&y);
printf("%g ",y);
n++;
}
printf("-- total %d data I have read\n",n);
return 0;
}
热心网友
时间:2023-11-03 23:30
大写i 肯定是写错了呗
6.2 .2表示只显示小数点后面最多2位,只是显示,不做计算 6表示如果显示的数字未超过6长度则在该显示前补空格 即右对齐 如 空格33.22 空格空格3.22
-6的话左对齐
3||0 的结果是1 ||后要么0 要么1 答案是1追问你是指其实这个应该是a[i]=i么,
而其实6.2,最后的答案应该是三个空格再2.25么,那float型数据要不要四舍五入呢
最后一个懂了
追答额 .2只是显示过滤而已,不做什么计算啊四舍五入的
这里是2个空格 .也算长度的
最后个的话是
a||(b+c)&&(b-c)
3||9&&(-1)
3||1 注意这里(-1)也是真的 非0都为真
1