c语言问题 这个d+%dc语言中 是什么意思思啊

C语言这个程序是什么意思_百度知道
C语言这个程序是什么意思
#include &stdio.h&void main(){float a=0,k,m=0;
/* a保存素数之和 */float av;
/* av保存1000以内素数的平均值 */for (k=2;k&=1000;k++)if (fun(k))
/* 判断k是否为素数 */{a+=k;m++;av=a/m;printf(&av=%f\n&,av);}}fun(int n)
/* 判断输入的整数是否为素数 */{ int i,y=0;for(i=2;i&n;i++){if (n%i==0){ y=0; }else y=1;return y;}
下面fun(int n)
/* 判断输入的整数是否为素数 */{ int i,y=0;for(i=2;i&n;i++){if (n%i==0){ y=0; }else y=1;return y;}是什么意思
提问者采纳
fun函数给力注释,判断是不是质数,如果是质数,则返回1,如果不是质数就返回0!而if (fun(k))意思就是说如果fun(k)的返回值为1,即fun函数判断后数是质数,就运行if后面括号后的内容!if (fun(k))括号中,a等于每个质数质数之和,m统计出现质数的个数,av为a除以m就是m个质数的平均值!总的来说:求1-1000以内的质数平均值!我想你是打算统计1000以内的素数(素数:只能被1和它本身除尽的数)。a为素数之和,k统计素数的个数,av是所有素数的平均数。fun()是判断是否为素数。但是,你的程序有点问题,就是av的统计结果不是1000以内的素数平均数。
试几个数就知道:开始
av=(2+3)/2 ,然后
av=((2+3)/2 +4)/3
这样里面就多除了一个2.所以av不是想要结果。如果是我认为的,你的av=a/m;
printf(&av=%f\n&,av);应该放到if(){}外面的,而且判断素数的方法也不对。下面是我改正后的程序,你可以参考一下:#include&stdio.h&/*求规定范围内的素数之和(a),平均值(av)*/void main(void){ int a=0,k,m=0; /* a保存素数之和 */
/* av保存1000以内素数的平均值 */ for (k=2;k&=1000;k++) {
int fun(int); //调用函数声明
if(fun(k)) //如果k是素数(返回值为1),则运行if语句
printf(&%5d&,k);//输出查看素数
} } av=a/m; //1000以内素数的平均值 printf(&\n
av=%f\n&,av);
} /* 判断输入的整数k是否为素数 */fun(int n)
int i,y=1; for(i=2;i&n;i++) {
y=y*(n%i);//判断,如果是素数返回y=1,否则返回值y=0
}}以上程序,已成功运行
其他类似问题
c语言的相关知识
其他5条回答
输出的是找到第1,第2....第N个素数时候的,平均值
计算1000以内素数的平均值
判断参数fun(int n)里的参数n是否为素数,如果为素数则返回1,不是素数则返回0;将i为2到n的整数。if(n%i==0)判断i是否整除n,如果整除则i为n的一个因子,即n非素数。
fun函数给力注释,判断是不是质数,如果是质数,则返回1,如果不是质数就返回0!而if (fun(k))意思就是说如果fun(k)的返回值为1,即fun函数判断后数是质数,就运行if后面括号后的内容!if (fun(k))括号中,a等于每个质数质数之和,m统计出现质数的个数,av为a除以m就是m个质数的平均值!总的来说:求1-1000以内的质数平均值!希望以上分析对你有用!
我想你是打算统计1000以内的素数(素数:只能被1和它本身除尽的数)。a为素数之和,k统计素数的个数,av是所有素数的平均数。fun()是判断是否为素数。但是,你的程序有点问题,就是av的统计结果不是1000以内的素数平均数。
试几个数就知道:开始
av=(2+3)/2 ,然后
av=((2+3)/2 +4)/3
这样里面就多除了一个2.所以av不是想要结果。如果是我认为的,你的av=a/m;
printf(&av=%f\n&,av);应该放到if(){}外面的,而且判断素数的方法也不对。下面是我改正后的程序,你可以参考一下:#include&stdio.h&/*求规定范围内的素数之和(a),平均值(av)*/void main(void){ int a=0,k,m=0; /* a保存素数之和 */
/* av保存1000以内素数的平均值 */ for (k=2;k&=1000;k++) {
int fun(int); //调用函数声明
if(fun(k)) //如果k是素数(返回值为1),则运行if语句
printf(&%5d&,k);//输出查看素数
} } av=a/m; //1000以内素数的平均值 printf(&\n
av=%f\n&,av);
} /* 判断输入的整数k是否为素数 */fun(int n)
int i,y=1; for(i=2;i&n;i++) {
y=y*(n%i);//判断,如果是素数返回y=1,否则返回值y=0
}}以上程序,已成功运行。
您可能关注的推广回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言中-i++是什么意思啊!
C语言中-i++是什么意思啊!
就是-i做+1操作
其他回答 (4)
要从两方面来看,如果只是-i++的话,也没有什么意义,只会得到i++的结果,也就是i=i+1;
如果有个条件x=-i++;的话,那么i=i+1;&&而 x=(-i)++;
这个知识点应该是++i和i++的区别。要是i++是先用再加一,而++i是先加一后用。如
int i=1,a;
a=i++;
此时:a=1,i=2;
a=++i;
此时:a=2,i=2;
-i++和-(i++)等价吧,如果不能确定-和++的优先级,只需利于一个知识点,"表达式不能自增”应该就得到-(i++)了吧,
所以根据++放后面时,分解
如计算a=-i++;时,分解如下
&
a=-i;i++;这2个,即后++
如果a=++i;那么分解成
i+=1;a=i;
说白了就是放实际语句的前面+1还是用完后+1的问题。
&
最后提一下,c中表达式也是具有值的。
++i这个表达式和i++的值是不一样的。
如果单纯为了“副作用”,那么语句
i++;和++i;是等价的,都是为了i加1.
那-i++和i++有什么区别啊?
你别管后面那个++,现在就变成了-i和i的区别了,这个就不用说了吧,一正一负
使I自动加以
++是自增运算符
- -是自减运算符
相关知识等待您来回答
编程领域专家C语言中&p[i]-&max是什么意思啊_百度知道
C语言中&p[i]-&max是什么意思啊
还有这个是什么意思struct Stock*
提问者采纳
&p[i]-&max :取p[i]结构体内部的max的值。struct Stock*
:声明Stock类型的结构体指针head。
提问者评价
其他类似问题
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言的问题--这段代码是什么意思_百度知道
C语言的问题--这段代码是什么意思
int i,k; num=0; k=1; for(i=0;s[i]!='\0';i++) { if(num==0 && s[i] =='-') k=-1; if(s[i]&='0'&&s[i]&='9') num=num*10+s[i]-'0'; } return num*k;如上
提问者采纳
把一串字符数字 转换为 long 数据返回。例如 字符串“-12345” 转换为 (long) -12345 代码排版太乱了,重新给你排了一下,并加上了函数名long convert_string_2_long_data(char* s){
num=0; k=1;
for(i=0;s[i]!='\0';i++)
if(num==0 && s[i] =='-')// 检查第一位是否是负号
//如果是符号则记录负号
if(s[i]&='0'&&s[i]&='9')
num=num*10+s[i]-'0'; // 逐位加权累加
return num*k; // 乘上符号并返回。}
提问者评价
其他类似问题
按默认排序
其他2条回答
for循环是将s[]字符串中的所有字符遍历,按发现的前后顺序排列成一个大数字,如果有“-”,则是负数。比如 第一次发现5,第二次发现7,那么就是57,再发现9就是957,如果有“-”,则是-957.数的正负值和发现的“-”的个数有关。这个大数字的的大小和s[]的大小有关。
从字符串中获取数值的简单实现
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁2014年最新版中国石油大学c语言网络作业_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
111页免费91页免费57页免费74页免费37页免费 88页7下载券101页免费5页免费7页免费7页免费
喜欢此文档的还喜欢10页免费4页免费84页3下载券1页2下载券17页免费
2014年最新版中国石油大学c语言网络作业|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 c语言中 是什么意思 的文章

 

随机推荐