当前位置:首页 » 编程语言 » c语言编译价格问题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言编译价格问题

发布时间: 2022-10-31 21:46:54

‘壹’ c语言的编译问题Invalid argument

你确保下有“F:\软件\CFREE~1\C-FREE~1\mingw32\Bin\ld.exe”这个文件吗?

如果没有就肯定不行了。。

提示的是安装有问题啊~

或者试下改变目录名,不要超过8个字符,也不要有中文、空格。。。

‘贰’ c语言的编译问题

aaa.c 假设有a()函数
在aaa.h 里加 export a();

bbb.c 假设有b()函数
在bbb.h 里 加export b();

ccc.c 假设有c()函数
在ccc.h 里 加export c();

需要用某个函数,就在源文件里 #include 相应的.h文件

例如:
aaa.c 里可以
#include bbb.h
#include ccc.h

bbb.c 里可以
#include aaa.h
#include ccc.h

ccc.c 里可以
#include aaa.h
#include bbb.h

‘叁’ C语言菜单点菜并计算价格问题

输出的格式对齐你自己可以调一下,程序本身没有任何问题。
程序是在Visual Studio 2008上编译运行的。

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
using namespace std;

char menu[6][8][16]={
{"菜单","开胃菜","主菜","主食","饭后甜点","饮料"},
{"开 胃 菜","烧椒皮蛋","蓝莓山药墩","竹笋干炒肉","干煎野山菌","小炒黄牛肉"},
{"主 菜","菠萝古老肉","水煮鱼","茄汁基围虾","盐焗手撕鸡","红烧黄花鱼","蚝油生菜","金牌蒜香骨"},
{"主 食","三鲜水饺","手擀面","米饭"},
{"饭后甜点","草莓奶昔","冰激凌","蛋糕"},
{"饮 料","雪碧","蔬菜汁","啤酒","果汁"},
};
double price[6][8]={
{0},
{0,8,10,8,13,12},
{0,15,20,35,30,28,8,18},
{0,15,12,2},
{0,10,16,10},
{0,5,8,8,8}
};
vector<int> menuvec; //保存选了那些菜单项
vector<int> foodvec; //保存选了那些食物
vector<int> countvec; //保存每个食物都选了几份

bool dinner()
{
for(int i = 0; i < 6; i++)
{
if (i == 0)
{
cout << menu[0][i] ;
cout<<":"<<endl;
}
else
{
cout << " " << i << ".";
cout << menu[0][i] << endl;
}
}
cout <<" "<<"0点餐结束"<<endl;

int imenu = 0; //选择菜单项
cout << "请选择 ";
cin >> imenu;
if (imenu == 0)
return false;
cout << " "<< imenu << "." << menu[0][imenu] << endl;
for(int i = 1; i < 8 ; i ++)
{
if (strcmp(menu[imenu][i],"") == 0)//如果没有此项食物则退出输出
break;
cout << " "<< i << "." << menu[imenu][i] << " " << price[imenu][i] << endl;
}
cout <<" 0 返回" << endl;
int ifood = 0;//选择要点的食物
int icount = 0;//选择要点的食物的份数
cout << "请选择";
cin >> ifood ;
if (ifood == 0)
return true;
cout <<"你点的是" << menu[imenu][ifood] << ","<<"请问你要几分:";
cin >> icount;

menuvec.push_back(imenu);
foodvec.push_back(ifood);
countvec.push_back(icount);

return true;
}
int main()
{
while(dinner())
{
system("cls");
}
system("cls");
cout << "你点的菜单是:" << endl;
cout << " 菜名 "<<" 单价 "<<" 数量 " <<" 价格 "<< endl;

vector<int>::iterator menuIter = menuvec.begin();
vector<int>::iterator foodIter = foodvec.begin();
vector<int>::iterator countIter = countvec.begin();
double pricesum = 0; //计算总价钱
for(;menuIter != menuvec.end(),foodIter!= foodvec.end(),countIter != countvec.end();menuIter++,foodIter++,countIter++)
{
int menutemp = *menuIter;
cout << menu[0][menutemp];
cout << ":";
int foodtemp = *foodIter;
cout << menu[menutemp][foodtemp];
cout << " " << price[menutemp][foodtemp];
int counttemp = *countIter;
cout << " "<<counttemp;
cout << " "<< counttemp*price[menutemp][foodtemp] << endl;
pricesum += counttemp*price[menutemp][foodtemp] ;
}
cout <<"-----------------------------------------------------------------------------"<<endl;
cout << " "<<"总价是 "<< pricesum << endl;
}

‘肆’ c语言计算价格

intmain()
{
intprice[100];
intn,m,total=0,i;
scanf("%d%d",&n,&m);
i=0;
while(i<n){
intno,p;
scanf("%d%d",&no,&p);
price[no-1]=p;
i++;
}
i=0;
while(i<m){
intno,cnt;
scanf("%d%d",&no,&cnt);
total+=cnt*price[no-1];
i++;
}
printf("%d ",total);
return0;
}

‘伍’ c语言中"商品价格"应该用什么格式输出

浮点型吧(float,double)
因为价格一般都有小数部分;
int型会自动去除小数部分,导致精度丢失;
所以一般定义成浮点型
float x=12.38;或double x=12.38;
printf("%f",x);//输出时,没有精度要求的,都可以用%f,%lf
scanf("%lf",&x);//输入时,double型占位符(格式符)必须用%lf
scanf("%f",&x);//输入时,float型占位符(格式符)必须用%f

‘陆’ c语言 促销的价格(多分支和简单循环)

你这样写代码,肯定是输入一个数,执行完显示结果在允许你输入另一个数呀。

建议建立一个数组,一次性把所有数字输入完,然后再让程序一并输出,下面给你改了改main函数。另外最好使用double的浮点数,因为计算机默认是使用double类型,并且即便是int类型的b,遇到浮点数计算时,系统也会自动将其转化为double,不需要人为添加强制转换的语句。
int main()
{

int a, i;
double c;
scanf("%d", &a);

int *b = (int*)malloc(a * sizeof(int));
for (i = 0; i < a; i++)
{
scanf("%d", &b[i]);
}
for (i = 0; i < a; i++)
{

if (b[i] >= 5000)
c = b[i] * 0.8;
else if (b[i] >= 3000)
c = b[i] * 0.85;
else if (b[i] >= 2000)
c = b[i] * 0.9;
else if (b[i] >= 1000)
c = b[i] * 0.95;
else c = b[i];
printf("%.1f\n", c);
}
return 0;
}

‘柒’ 编程(C语言)题,查询价格的程序,说查询满五次自动结束,输出Thank you,输入0,自动结束,输出Thank you.

如果是acm 的题的话, 可能这个数据会很大
主要说一下算法, 自己写代码:
两个数可以在一次输入中获取, 分别存于char *strNum1, char *strNum2中,
1, 首先判断符号位, 如果没有符号(直接是数字)或者有+表示为正数, 如果是-则为负数.
2, 两个数字去头零(小数点的前零), 可以通过增加下标或者设置临时指针, 用一个while语句就可以了.
3, 在第2步完成会得到两个新的下标或者指针, 直接开比, 用while语句也可搞定, 条件为不到串结尾并且不是小数点
4, 如果有小数点, 去尾零, 可通过设置下标或者新的临时指针可搞
5, 去完尾零,首先检查两个长度是否一致, 不一致则不等, 一致, 再接着从小数点后第一位开比, 注意开比位置可以通过3步直接跳过小数一位得到, 一直比, 到结束, 中间有不同就不等, 否则就等
时间复杂度应该是长串长度O(N).一次扫描即可