一道简单的c语言题,新手求教!!!

作者&投稿:公荷 (若有异议请与网页底部的电邮联系)
新手C语言一些简单题目向高手大侠请教~

1,(int)(x*1000+0.5)/(float)1000中 (int)(x*1000+0.5)= 5169
除以1000,为5.169000(小数点后保留6位)
2,int型中没有小数点,1/2=0.5直接显示为0
3,c为数组名。表示的是C数组的头地址,就不用加地址符号了
4,%10.5f表示的是10位有效数字和小数点后保留5位
5,printf("*%010.2f*
",a); 和上题差不多,%010.2f表示的是10位有效数字,不够前面用0表示,小数点后保留2位
6这个我就没看出要注意什么的地方了
7,%后面跟不同的代号表示不同的输出方式,(%d)不在输出的方式中,所以编译器认为其是一个字符串直接打出!

问题问得不清楚!!! 是求 n + 1/n(n 从1 到20) 各项的和??
1,while
#include

int main(void)
{
int n = 1;
float sum = 0;

while (n <= 20) {
sum += n + 1.0 / n;
n++;
}
printf("sum = %f
", sum);
return 0;
}

2, do while
#include

int main(void)
{
int n = 1;
float sum = 0;

do {
sum += n + 1.0 / n;
n++;
} while (n <= 20);
printf("sum = %f
", sum);
return 0;
}

3, goto
#include

int main(void)
{
int n = 1;
float sum = 0;
LOOP:
sum += n + 1.0 / n;
n++;
if (n <= 20)
goto LOOP;
printf("sum = %f
", sum);
return 0;
}

答案是2没有错,&&是与,即左右两边都正确,整个式子正确,如果其中一边错误,整个式子错误。(m = a > b)是错误的,此时不用在计算(n = c > d)是否正确,就能判断整个式子是错的,所以n还是原来的2,没有改变

本来n就是2.
“与”是这样的:如果前面的为0,为了节约内存,后面的不运行;该语句为0。
a > b 不成立,所以m = a > b = 0;后面的语句不运行,保持原值,n = 2。

呵呵,算你倒霉。
逻辑与的运算,前面是 0(m=a>b)(这个不用解释吧?),
0 && 任何数,都是0;
所以,编译器没有对后面的语句进行编译,也就是 没执行 n=c>d;所以n不变,还是2;

0

C语言大神请进小弟新手求教
答:优化了一下你的主程序 int main(){ int n;double a,b,e,s;int x=1; //增加一个符号变量 s=0;scanf("%lf %lf",&a,&e); //注意& scanf()函数参数为指针 double对应%lf for(n=0;;n++) //循环退出条件在循环体内 { b=pow(a,2*n+1)/jc(2*n+1); //计算当前应加...

新手求教关于C语言的数组与指针问题!求高手!
答:你的疑问非常有理!这题就是胡扯谈,A还能占上边,其它全不占边。题目是“指向数组指针pt的是”——这话都没说清楚,这选项中哪有“指向指针pt”的标识符?可能是想说“指向数组的指针pt是”,那就是A了……B——把数组pt的下标为5的元素强制为int *型指针,这错得太多。C——声明pt是有5个...

c语言新手问题。求教。
答:include<stdio.h> int main(){ char s[100];freopen("1.in","r",stdin);freopen("1.out","w",stdout);fclose(stdin);fclose(stdout);return 0;}

新手求教:大侠看一段很简单的c语言代码,真没看出来哪儿错了
答:因为1是任意数的因子,所以a[i]初值应为1,循环次数最好改成min(m,n),否则运算中会有负数除法。还有要求a和(M-a)都是N的因子,所以应该用逻辑与。修改程序如下:include<stdio.h> int main(){ int N[100],M[100],a[100];int K,i,min;scanf("%d",&K);for (i=0;i<K;i++)...

C语言指针部分 入门 有题求教
答:我一行一行给你分析语句吧 根据代码,申请的指针类型、数组类型都是int型,这个不用多说了哈。第一行:1.定义了一个2行3列的数组a[][],并且对其赋值。2.定义了一个1行2列指针数组s[],就相当于这个指针数组由两个指针s[0],s[1]组成啦。3.定义了一个指向指针的指针pp,你可以把它当做一个...

新手简单的C语言程序求教
答:for(;i>=0;i--)s[j++]=s[i];这样写的话,原先字符串前面的支付就被覆盖掉了,应该是交换s[j++]和s[i]的值 这么改:include<stdio.h> include<conio.h> int main(){ char s[]="abcd";int i,j=0;char temp;for(i=0;s[i]!='\0';i++);i--;for(;i>=j;i--,j++){...

C语言 新手 求教
答:是20啊,哪儿来的500?

一个关于C语言的问题,求教!!
答:a=b 是赋值;a==b 是等号;这是新手长犯错误 C语言中经常犯的毛病!!初学者必看!!!C 语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说...

C语言 新手求教 如何编写这道计算的程序呢? 在线等
答:include<stdio.h> float g(float x) { return (9*x*x*x-5*x-3)/(27*x*x-5); } void main(){ float c;int i;c=2;for ( i=0;i<6;i++ ) { printf("C%d=%f\n",i+1,c); c=g(c); } }

新手请教C语言问题,
答:include<stdio.h> include<string.h> int main(){ char str[5][20], **p = &str[0];int i;for(i=0;i<5;i++)gets(str[i]);for(i=1;i<5;i++)if(strcmp(str[i],str[i - 1])>0)p = str[i];printf("\nThe largest sring is:%s\n", *p);return 0;} ...