c语言,求大神解答!

作者&投稿:南仪 (若有异议请与网页底部的电邮联系)
C语言编程,求大神解答~

# include
int main()
{
int i;
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c||a+c<=b||b+c<=a)
printf("不能构成三角形");
else
{
if(a==b==c)
printf("构成等边三角形");
else
if(a==b||a==c||b==c)
printf("构成等腰三角形");



else printf("构成普通三角形");
}

}

*(bit+cnt) = (ch>>cnt)&1; 意思就是把ch的二进制每位,相应的存放到数组bit中

*ch |= *(bit + cnt)<<cnt; 意思正好是上面的逆,就是把每位二进制移位之后,合成一个整数

输出结果是: 1,23,456。
scanf格式化输入,scanf("%c",&c)这句代码,读取一个字符,并赋值给c,也就是‘1’(注意,此时是字符1,不是数字1,实际上c如果按照整形输出的话,等于49);
接着是第二次格式化输入scanf("%d",&i),也就是23。因为scanf一次性接收的数据会因为空格而结束,在输入缓冲区里面,123中的‘1’被c那走了,所以剩下的23以整形的格式赋值给i;
然后第三次格式化输入scanf("%s",s),以字符串的形式接收一串字符,如上面所提到的,scanf一次性接收的数据会因为空格而结束,那么字符串s里面的值为“456”。
最后,在输入缓冲区里面任然存在未被读取的数据“789”,这些数据直到这段程序的结束而被操作系统自动清除。
不懂再追问吧。

:,123,456
格式读时遇到不匹配的类型会结束读取,并把数据放回缓冲区
%c 以字符格式读,于是: 被读到c里面 ,缓冲区剩下123<空格>456<空格>789<回车>
%d以整型格式读,遇到空格或者回车结束,于是123被读到i里面,空格被识别为%d结束标志。缓冲区剩下456<空格>789<回车>
%s读入字符串,遇到空格或者回车结束,于是456被看成字符读到字符串里。

123456789
123456


跪求语言学大神解答!音节的各组合位置上的搭配限制是什么?(如下图问题...
一、 音节的结构 音节是听觉能感受到的最自然的语音单位,有一个或几个音素按一定规律组合而成。普通话里,除个别情况外,一个汉字就是一个音节。二、普通话的音节结构特点 普通话音节由声母、韵母和声调三个部分构成,韵母内部又可分为韵头、韵腹、韵尾。从《普通话音节结构表》可以看出,普通话音节结构...

C语言题目,求大神解答
根据要求,可以编写如下结构数组数据处理程序:include <stdio.h> include <string.h> \/\/定义结构类型 typedef struct { long id; \/\/学号 char name[10]; \/\/姓名 char sex[2]; \/\/性别 }PS;\/\/删除函数 int delete(PS *p1, int m, PS *p2, int n){ int i, j;\/\/遍历p1数组...

C语言题目,求大神解答
以下是一个简单的C语言程序,可以实现为指定的文本文件创建一个副本文件的命令:```c include <stdio.h> include <stdlib.h> int main(int argc, char *argv[]) { FILE *fp1, *fp2;int ch;if (argc != 3) { printf("Usage: %s source_file dest_file\\n", argv[0]);exit(EXIT_FAI...

C语言问题,本人菜鸟,跪求大神详解!!
c=(d=a+b),(b+d);也是逗号表达式,算法是d=a+b=10+10=20,再把20赋给c,所以最后a=10,b=10,d=20,c=20。

c语言 论述题 求大神解答
由于double的尾数区长度52,再加上1位隐藏位,可以放置完整的32位定点整数,故从int强转为double时可以完全保留精度。(1) (double)(float)x==dx 否 float的尾数区长度23+1,不能完整保留32位int的精度,所以左边为近似值 (2)dx*dx >= 0 永真 浮点数相乘,符号位和尾数位分开相乘,尾数用原码表...

C语言不会,求大神指导,要详细的解答过程,谢谢了
int main(){ int a=13,b=013,c=-1; \/\/特别注意,这里给b赋值013,说明是八进制数13,相当于十进制数11 printf("%d\\n",a=a+1,a+b,b+1); \/\/由于printf双引号中只有一个格式说明符,因此,只输出a=a+1的值14 printf("%d\\n",(a=a+1,a+b,b+1));\/\/ 现在,输出的数据是一...

C语言问题,求大神解决,说下所使用的原理及知识点,谢谢啦,我是小白。
char c=’A’; \/\/在ASCII码中 字符'A'是 65 c = (c>=’A’ && c<=’Z’) ? (c+32) : c;这个表达式的意思是: c>=’A’成立, c<=’Z’也成立,所以执行c+32 c+32 = 65+32 = 97;在ASCII码中 字符97是字符'a'所以答案选择 B ...

一个C语言的问题,求大神解答原因!
1、sub1中的变量a,b是其所在文件中定义的,其中a是静态全局变量,b是全局变量 a会默认初始化为0,因此第一次执行sub1()时输出结果中a=0+2=2, b=3+3=6。sub2中的变量a是其所在文件中定义的静态全局变量,因为与sub1()所处不同文件,因此变量a是不同的;而变量b是与另一个文件共享的全局...

C语言问题,求大神解决,我是小白,最好解释下原因,谢谢拉。
if (a=b)x++; \/\/合法,但是逻辑错误 if (a=<b) x++; \/\/不合法应该是 a<=b if (a-b) x++;\/\/合法,当a-b不等于0时为真 if (a<=b<=c) x++;\/\/合法,但是逻辑有误 if(1) x++; \/\/合法,死循环

C语言问题,求大神科普,谢谢啦,我是小白。
以你的例子来说, 2 && 2 = 1,是因为,在 C 语言中,非零整数值被转换为逻辑值的规则是非零为真,零为假。所以, 表达式中的两个操作数‘2’表示两个‘真’,结果‘1’也表示‘真’。 式子的含义即是: 真 与 真 = 真。 同理,2 || 1 = 1,即为 真 或者 真 = 真。如果 ...

会同县19151276296: c语言问题,求大神解答!给一个不多于5位的正整数.①求出它是几位数.②分别输出每一位数字.③按逆序输出各位数字.例如原数位465,应输出5 6 4.... -
以芬欣维:[答案] #include#include#includeint main(){int num,tmp,i,j;int n[5]={0};//用于存储num分解后的每位上的数字,由于num不超过5位,所以数组有5个单元就可以了 int *sq_ls_num;printf("请输入一个不多于5位的正整数: ");sc...

会同县19151276296: C语言大神求答案~1.从键盘输入两个运算数(datal和data2),做加法运算,并输出计算结果.2. 判断一个数n能否同时被3和5整除3. 求1+2+3+……+100 -
以芬欣维:[答案] 第一题: #include void main() { int data1,data2; printf("请输入第一个数:"); scanf("%d",&data1); printf("请输入第二个数:"); scanf("%d",&data2); printf("两个数的和为%d",data1+data2); } 第二题: #include void main() { int ...

会同县19151276296: 求C语言高手解答
以芬欣维:1)选择A,逗号表达式的值为最右值 2)选择A,类型必须说明 3)选择D,不能以数字开头 4)选择C,没啥可解释的,int数组只能依次输出 5)选择C,因为它是后加 6)选择C,C语言的数据类型包括整型、实型和逻辑型 7)选择C,分别打印的是a[0][2],a[1][1]和a[2][0] 8)选择D,考察先减和后减的区别 9)选择C,x输入为6和3,++后分别为7和4,打印x--因为是后减所以仍然输出4. 10)选择A,字符串数组实际上是一个二维字符数组 以下懒得解释了,不明白的话追问吧 11-15)DCBDA 16-20)ABBCA 望采纳哈:)

会同县19151276296: C语言,求大神帮忙 -
以芬欣维: int 65个分号,5个语句6个字符,表示字符串的结尾Dijob...

会同县19151276296: 跪求C语言大神解答,急用急用,谢谢大哥大姐们解答. 急需C语言大神,必有重谢 -
以芬欣维: #include <stdio.h> int main() { int n,i; double s=0; scanf("%d", &n); for(i=2;i<=n;i+=2) { s+=1.0/i; } printf("%lf", s); return 0;}

会同县19151276296: 求C语言高手解答 -
以芬欣维: c是比较智能的,当他明确知道一个表达式的值时,剩下的式子不会再进行运算.比如&&运算,当两个值其中一个为0时,他就是0了,第二个式子就不用运算,由于a=5,b=6(m=a>b)相当于(m=5>6)所以,m=0...

会同县19151276296: 求c语言大神解答 -
以芬欣维: 首先你printf后面的是打错了吧.是选择B,没错. 因为p数组没有结束符,用strlen测长度会出错,而q数组,虽然后面没有结束符,但是,q数组指定了它的长度为10,那么后面就还有7个0,那么就也相当于有了结束符,所以q数组是不会出错的,而且会有输出结果,是3

会同县19151276296: 请教一道简单的C语言题目,求大神解答 -
以芬欣维: 你没考虑到相邻两个数相等你情况.你看样例第四组数开头有两个7,输出是-1,说明严格递增是a[i+1]>=a[i],严格递减是a[i]>=a[i+1].

会同县19151276296: c语言! 求大神详解!!!!!! -
以芬欣维: 本题选B!字符串包含以下八个字符:a \041--》)#041 \\--》\ b

会同县19151276296: C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因 -
以芬欣维: 已修改,看注释#include int main() { char a[20],b[20],c[50],*p1,*p2,*p3; p1=a,p2=b,p3=c; gets(a); while(*p1) { *p2 = (*p1)+3; //对字符串中的每个字符用加3的方法加密并存入数组b p1++; p2++; }*p2='\0'; //串结束符 p2=b ; //p2重新指向b的开始位置 while(*p2) { *p3 = (*p2)-3; //对b中的字符串解密存入数组c p3++; p2++; }*p3='\0'; puts(a); //puts是输出一个串 puts(b); puts(c); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网