一道简单的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;
}
本来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;} ...