c语言·问几道题

1.编程判断输入的整数的正负和奇偶2.输入a.b.c为三角形三边判断能否构成三角形,如果能是什么类型的三角形求详细的解答... 1.编程判断输入的整数的正负和奇偶
2.输入a.b.c为三角形三边 判断能否构成三角形,如果能 是什么类型的三角形

求详细的解答
展开
 我来答
03dkp4pcf
2011-03-28 · TA获得超过1121个赞
知道小有建树答主
回答量:1374
采纳率:0%
帮助的人:788万
展开全部
"stdio.h"
main()
{
char a;
int b;
a=getchar(); scanf("%d",&b);
a=a-'A'+0;
b=b*2;
printf("%c %d",a,b);
}
对于第二题:在scanf函数中,符号*表示在本项读入后不赋值给相应的变量,抑制本次的输入,也就是这项的数值输了也白输。就该题而言,当输入10 20 30时,由于*号出现在第二项,则第二项20就被抑制输入了,由紧接的下一项30代替,而第三项因为没有多余数据输入,保持原来的0不变。
对于第三题:必须了解scanf("%2d%2d",&a,&b);中%2d的含义,它表示输入数据的宽度是2.这你就知道了吧?
对于第四题:我运行了一下,结果是a+b=30,会不会是你弄错了,或者和编译的系统有关?
对于第五题:我们要知道逗号表达式的运算是从左向右运算,然后整个表达式的值是最后一个式子的值。对于该题,先把2给i,然后进行++i的运算,的i为3,最后整个式子的值为i++,即3
对于第六题:对于运算符%要求左右两边均为整型,而对于右边进行的f必须进行强制转换,形式为(int)(f) 。这是特别需要引起注意的,int两边一定要有括号,否则就不是强制转换了。
对于第七题:对于b选项只要一个范例就可以,a代入kk>='A'为真,则kk>='A'‖kk<=’Z’为真,则会整个式子为假,将A代入kk>='A'为真,则kk>='A'‖kk<=’Z’为真,则会整个式子为假。判断不出大小写字母。
对于第八题:就重点说下B选项,对于符号‖来说,当左边为真的时候,右边的式子就不执行了,只有当左边是假的时候才执行右边的。对于在2到6之间的数,左边(c>=2&&c<=6)为真,停止执行,整个式子为真,对于该范围以外的,左边(c>=2&&c<=6)为假,执行中间的(c!=3),为真,整个式子为真。
对于第九题:功能相同的都表示a为0的时候。输出y,a不是0的时候,输出x。也许你颇有疑问的是a选项。对于该选项,我们得看if(a) 表示什么含义,只要a是不为0,if语句就会判断条件为真,就执行下面的语句。
对于第十题:我们必须看清case 2: a++; b++; break;case 3: a++; b++; 这两个语句是属于switch(x)还是switch(y)的,显然是switch(x)的。一起来看,x=1,执行switch(y),又因为y=0,执行case 0: a++; break;此时,a=1,b=0.然后程序就跳到case 2前面的} 号,注意没有跳到整个程序外面,因为case 2前面的} 号的后面没有 break。然后就执行case 2: a++; b++; break,此时=2,b=1。程序结束。

对于第11题:特别注意while语句后面有分号,表示执行空语句。当表达式y--的值是0的时候,就会跳出空语句,执行下面的语句,而此时显然 y--是0,而y本身变成-1 。
对于第12题:k=5,执行while(--k)后,k的值为4,条件为真,就执行printf("%d",k-=3),得到k的值为1,接着while(--k)中的--k,得到k的值为0,条件为假,不执行printf("%d",k-=3)。
对于第13题:开始k=5,n=0;然后switch(k)判断,执行default :n=0;k--;由于后面没有break语句,就执行case 2: case 4:n+=2;k--;break;此时,n=2,k=3.满足k>0&&n<5,接着做,k=3,就执行case 3:n+=1; break;此时n=3,k=3.满足k>0&&n<5,接着做,执行case 3:n+=1; break;此时n=4,k=3,满足k>0&&n<5,接着做,case 3:n+=1; break;此时n=5,k=3,不满足,跳出循环,结束。

我不知道你14题哪里不明白?

对于15题:x=8,第一次执行for语句然后if语句判断8%3=2,为真,执行printf("%d, ",x--); 输出8,x本身为7,再执行continue继续循环,接着执行for语句中的x--,x为6。 第二次执行for语句,if判断,6%3=0,为假,直接执行printf("%d, ",--x);就输出5,x本身也是5.接着执行for语句中的x--,x为4。第三次执行for语句,if判断,4%3=1,为真,执行printf("%d, ",x--); 输出4,执行continue;接着执行for语句中的x--,x为3。第四次执行for语句,if判断,3%3=0,为假,直接执行printf("%d, ",--x);就输出2.
百度网友90cc3d6
2011-03-27 · TA获得超过240个赞
知道答主
回答量:122
采纳率:0%
帮助的人:54万
展开全部
1.
#include <stdio.h>
#include <stdlib.h>

int
main()
{
int number; //定义一个数

printf ( "Please input a number : "); //提示用户输入一个数
scanf ( "%d", &number );//接受用户输入的数

if ( number < 0 )//判断是否小于零
printf (" 该数是一个负数.\n" );
else
printf (" 该数是一个正数.\n" );

if ( number % 2 == 0 )//判断是否为偶数,%为取余操作符,,如果number 除以 2的余数为
//零,则该数是偶数
printf ( "这是一个偶数.\n" );
else
printf ( "这是一个奇数.\n" );

return EXIT_SUCCESS;//返回成功
}
2.
#include <stdio.h>
#include <stdlib.h>

int
main ()
{
float a, b, c;
float temp;

printf( "Enter the lengths of the three sides of the triangle: " );//提示用户输入三条边
scanf( "%f %f %f", &a, &b, &c ); //接受三条边的数值,为浮点数

if ( a > b ){
temp = b;
b = a;
a = temp;
}
if ( a > c ){
temp = c;
c = a;
a = temp;
}
if ( b > c ){
temp = c;
c = b;
b = temp;
}//以上为交换a, b, c的值使a为最短, c为最长

if ( a < 0 || a + b <= c )//如果最短边小于零,,或二边之和没有大于第三边则不是三角形
printf( " This is not a triangle " );

else if ( a == b && b == c )
printf( "Equilateral.\n");//为等边三角形

else if ( a == b || b == c )
printf( "Isosceles.\n" );//为等腰三角形

else
printf( "Scalene.\n" );//为不等边三角形
return EXIT_SUCCESS; //返回成功
}

都是经过编译成功的。。希望对你有帮助。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-01
展开全部
名”CIN。

2 B。
A不正确,必须指定联合变量的成分才能赋值:x.f=10.5;
C不正确,y是整型数据,x是结构类型的数据,不能互相赋值;
D不正确,没有指定联合变量的成分,这里只能是x.i。

3 B。
s^=32即s=s^32,^是按位异或运算符,即比较两个二进制数据的各位,相同的输出0,不相同的输出1,32和32化成二进制完全相同,故结果为二进位信息全零,用整型输出就是0。

4 B。
for(i=0;i<4;i++)
fwrite&ch[i],1,1,fp) ;
将ch[]内的值全部写入二进制文件abc.dat中,
fseek(fp,-2L,SEEK_END); 将文件指针以文件末尾为基准前移2字节,即c之前,fread(&t,1,1,fp); 从当前文件指针开始将1×1字节的内容写入t,最后一句输出c的内容,即c。

***结束***
另外,站长团上有产品团购,便宜有保证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-27
展开全部
1) 前面有符号为负数,否则为正数, %2==0为偶数,否则为奇数

2) 三边为、b、c, a+b>c && a+c>b && b+c >a 为true构成三角形,数学上怎么判断,计算机上怎么判断
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SOSSUN0
2011-03-27 · TA获得超过389个赞
知道小有建树答主
回答量:257
采纳率:100%
帮助的人:177万
展开全部
#include<stdio.h>
#include<math.h>
main()
{
float n;
printf("please enter a num\n");
scanf("%f",&n);
if(fabs(n)==n)
printf("shi zheng shu\n");
else
printf("bu shi zheng shu\n");
}

#include<stdio.h>
main()
{
float a,b,c;
printf("please enter 3 bian geshi(a,b,c)");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c)
if(a==b)
if(b==c)
printf("it is dengbian\n");
……
……}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式