c语言编程题,急!

求问一道大一c语言的题:商店卖文具,铅笔一支0.8元,圆珠笔一支1元,钢笔一支3.5,输入分别买三种笔的数量,输出应付的款数。以下是我的编程,但是显示x,y,z没有定义。... 求问一道大一c语言的题:
商店卖文具,铅笔一支0.8元,圆珠笔一支1元,钢笔一支3.5,输入分别买三种笔的数量,输出应付的款数。
以下是我的编程,但是显示x,y,z没有定义。。。求解啊!!!!

#includes<stdio.h>
main()
{
float a,b,c,x,y,z,sum;
a=0.8;
b=1.0;
c=3.5;
sum=a*x+b*y+c*z;
scanf("%d%d%d",&x,&y,&z);
printf("%f\n",sum);
}
展开
 我来答
创作者mYpTnDM4v9
2019-01-30 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.3万
采纳率:28%
帮助的人:672万
展开全部
因为等腰三角形和直角三角形不是按同一条件进行划分的,所以它们的关系是并列的,┱Sévén
的程序有点逻辑错误,我把它改了一下,调试过,应该没问题
#include<stdio.h>+
void
main()
{
//a,b,c用来记录输入的三条边长
float
a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a>0
&&
b>0
&&
c>0
&&
a+b>c
&&
a+c>b
&&
b+c>a)//判断三边长能否构成三角形
{
if(a==b
&&
b==c)
printf("等边");//判断是否是等边三角形
else//如果不是
{
if(a==b
||
a==c
||
b==c)
printf("等腰");//判断是否是等腰三角形
if(a*a+b*b==c*c
||
a*a+c*c==b*b
||
b*b+c*c==a*a)
printf("直角");//判断是否是直角三角形
else
printf("任意");//如果都不是,则输出"任意"
}
}
else
printf("不是");//如果不能构成三角形则输出"不是"
printf("三角形\n");
}
创作者9YIuIbY8m3
2019-09-14 · TA获得超过3万个赞
知道大有可为答主
回答量:1.3万
采纳率:35%
帮助的人:771万
展开全部
程序自己写吧,对提高你的能力有帮助.
思路:
先用三个变量a
b
c存输出
再根据它们按余弦定理算每个角的余弦值
下面可用IF结构
if(两个值相等)
为等腰
if(三个值相等)
为等边
if(一个值为0)
为直角
else
为任意三角形
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gyhmichael
2010-06-25 · TA获得超过257个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:126万
展开全部
//1:编一个程序:从键盘输10个正数计算平均值,并输出.
//要求:1:输入负数时需提示用户重新输入
//2:平均值输出时保留两位小数
#include
void main(void)
{
double nA[10]={0};
double sum=0;
printf("Input ten numbers:\n");
for(int nI=0; nI<10; ) //利用数组接收10个数
{
scanf("%lf",&nA[nI]);
if( nA[nI]<0 ) //判断是否负数
{
printf("Input error,again input please!\n");
continue;
}
sum+=nA[nI]; //求和
nI++;
}
double Average=sum/10; //求平均值
printf("The average is: %.2lf\n",Average);
}

//从键盘上输入一个字符串,把字符中的字母小写变大写,大写变小写,其它不变,再把变后的字符输出
#include
void main(void)
{
char str[256]={0};
int nI=0;
printf("Input string:\n");
scanf("%s",str);
while( str[nI]!='\0' )
{
if(str[nI] >='a' && str[nI]<='z')
{
str[nI]=str[nI]-32;
}
else if(str[nI]>='A'&& str[nI]<='Z')
{
str[nI]=str[nI]+32;
}
nI++;
}
printf("Output is:\n%s\n",str);
}

//3:编写一个invert 函数long invert(char Str[])将一个数字字符串转换为一个倒置的整数.例如:输入字符串"2345'转化为"5432'
#include
#include

long Invert (char str[]) //定义Invert函数
{
int sum=0,temp=0,nJ=10;
int len=strlen(str); //得到字符串长度
for(int nI=0;nI< len;nI++)
{
temp=str[nI]-'0'; //转换成数字
if(nI>0)
{
temp*=nJ;
nJ*=10;
}
sum+=temp; //叠加到sum 变量
}
return sum;
}

void main (void)
{
char str[256]="654321";
long nA=Invert(str); //调用Invert函数
printf("%d\n",nA);
}

//4:磁盘文件1TXT 中有10个整数,将所有整数保存到a 数组中并将其输出!
#include

void main (void)
{
int nA[10]={0};
FILE * fp=fopen("d:\\1.txt","r"); //打开磁盘D:\\1.txt 文件
for(int nI=0; nI<10; nI++)
{
fscanf(fp,"%5d",&nA[nI]); //按固定格式取出数字到数组
}
fclose(fp);
for(nI=0;nI<10;nI++)
{
printf("%d-",nA[nI]); //输出
}
printf("\n");
}

/*文件中存放数字的格式必须是以下格式
12 25 36 69 47 52 58 24 47 36
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙霸漫天
2010-06-24 · 超过11用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:33.5万
展开全部
包含命令拼错了~~
直接把算法写到输出那里~
定义的float类型,记得scanf的时候是%f,不是%d
#include<stdio.h>
main()
{
float a,b,c,x,y,z;
a=0.8;
b=1.0;
c=3.5;

scanf("%f%f%f",&x,&y,&z);

printf("%f\n",a*x+b*y+c*z);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫色素兰7T
2010-06-24
知道答主
回答量:15
采纳率:0%
帮助的人:14.5万
展开全部
你把scanf语句放前面试试啊,程序如下:
#includes<stdio.h>
main()
{
scanf("%d%d%d",&x,&y,&z);
float a,b,c,x,y,z,sum;
a=0.8;
b=1.0;
c=3.5;
sum=a*x+b*y+c*z;
printf("%f\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式