當前位置:首頁 » 編程語言 » 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).一次掃描即可