c语言编写商品打折程序,如图所示,急急急急急 C语言程序怎么写,,急急急急急急 编写2个函数,函数1实现1...

\u6025\u6c42\u6025\u6025\u6025\u6025\u6025\u6c42\uff0c\u6025\u6c42\u7528C\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u8ba1\u7b97\u5668\u7a0b\u5e8f\uff0c\u4ee3\u7801\u91cf\u4e3a\u4e09\u767e\u884c\u5de6\u53f3\uff01\uff01\uff01\uff01\uff01\u5728\u7ebf\u7b49

#include #include #include #define MAXOP 100#define NUMBER '0' //\u6807\u8bc6\u8bfb\u5165\u7684\u662f\u6570\u5b57#define NAME 'n' //\u6807\u8bc6\u8bfb\u5165\u7684\u662f\u5b57\u7b26\u4e32\uff08\u51fd\u6570\u540d\u6216\u975e\u6cd5\u5b57\u7b26\u4e32\uff09#define ALPHA 26 int getop(char []);
void push (double); //\u538b\u6808double pop(void); //\u51fa\u6808void clear(void); //\u6e05\u7a7a\u6808void mathfnc(char []); //\u6267\u884c\u76f8\u5e94\u7684\u6570\u5b66\u51fd\u6570sin\u3001cos\u3001exp\u7b49int main(void)
{ int type; int i, var = 0; double op1, op2,v; char s[MAXOP]; double variable[ALPHA]; for (i = 0; i < ALPHA; i++) //\u521d\u59cb\u5316\u7528\u4e8e\u4fdd\u5b58\u6570\u503c\u7684\u53d8\u91cf\u6570\u7ec4
variable[i] = 0.0; while ((type = getop(s)) != EOF) //\u8bfb\u53d6\u8f93\u5165
{ switch (type)
{ case NUMBER:
push (atof(s)); break; case NAME:
mathfnc(s); break; case '+':
push (pop() + pop()); break; case '*':
push (pop() * pop()); break; case '-':
op2 = pop();
push (pop() - op2); break; case '/':
op2 = pop(); if (op2 != 0.0)
push (pop() / op2); else
printf ("error: zero divisor\n"); break; case '%':
op2 = pop(); if (op2 != 0.0)
push (fmod(pop(), op2)); else
printf ("error: zero divisor\n"); break; case '?': //\u6253\u5370\u6808\u9876\u5143\u7d20
op2 = pop(); printf ("\t%.8g\n", op2);
push (op2); break; case '=': //\u4fdd\u5b58\u6570\u503c
pop(); if (var >= 'A' && var <= 'Z')
variable[var - 'A'] = pop(); else
printf ("error: no variable name\n"); break; case 'c':
clear(); break; case 'd': //\u590d\u5236\u6808\u9876\u5143\u7d20
op2 = pop();
push(op2);
push(op2); break; case 's': //\u4ea4\u6362\u6808\u5143\u7d20
op1 = pop();
op2 = pop();
push(op1);
push(op2); case '\n':
v = pop(); //v\u4fdd\u5b58\u6700\u540e\u7684\u4e00\u6b21\u7ed3\u679c
printf ("\t%.8g\n", v); break; default: if (type >= 'A' && type <= 'Z')
push(variable[type - 'A']); else if (type == '@') //\u8f93\u5165\u7684\u5b57\u7b26@\u8868\u793a\u6700\u8fd1\u4e00\u6b21\u7ed3\u679c\u503c
push(v); else
printf ("error: unknown command %s\n", s); break;
}
var = type;
} return 0;
}/* ----------------------------------------------------------- */#define MAXVAL 100int sp = 0; //\u6807\u8bc6\u6808\u9876double val[MAXVAL];void push(double f)
{ if (sp < MAXVAL)
val[sp++] = f; else
printf ("error: stack full, can't push %g\n", f);
}double pop(void)
{ if (sp > 0) return val[--sp]; else
{ printf ("error: statck empty\n"); return 0.0;
}
}void clear(void)
{
sp = 0;
}void mathfnc (char s[])
{ double op2; if (strcmp (s, "sin") == 0)
push(sin(pop())); else if(strcmp (s, "cos") == 0)
push(cos(pop())); else if(strcmp (s, "exp") == 0)
push(exp(pop())); else if(strcmp (s, "pow") == 0)
{
op2 = pop();
push (pow(pop(), op2));
} else
printf ("error: %s not supported\n", s);
}/* ----------------------------------------------------------- */#include int getch(void);void ungetch(int);int getop(char s[])
{ int i, c; while ((s[0] = c = getch()) == ' ' || c == '\t') //\u8fc7\u6ee4\u5f00\u5934\u7684\u7a7a\u767d\u5b57\u7b26
;
s[1] = '\0';

i = 0; if (islower(c)) //\u5224\u65ad\u662f\u5426\u4e3a\u5c0f\u5199\u5b57\u6bcd\uff0c\u4e5f\u5373\u8bfb\u53d6\u7531\u5c0f\u5199\u5b57\u6bcd\u7ec4\u6210\u7684\u5b57\u7b26\u4e32
{ while (islower(s[++i] = c = getch()))
;
s[i] = '\0'; if (c != EOF)
ungetch(c); if (strlen (s) > 1) return NAME; else
return c;
} if (!isdigit(c) && c != '.' && c != '-') return c; if (c == '-') //\u7528\u4e8e\u5224\u65ad\u662f\u8d1f\u6570\u8fd8\u662f\u51cf\u64cd\u4f5c
{
if (isdigit(c = getch()) || c == '.')
s[++i] = c; else
{ if (c != EOF)
ungetch(c); return '-';
}
} if (isdigit(c)) //\u6536\u96c6\u6574\u6570\u90e8\u5206
while (isdigit(s[++i] = c = getch()))
; if (c == '.') //\u6536\u96c6\u5c0f\u6570\u90e8\u5206
while (isdigit(s[++i] = c = getch()))
;

s[i] = '\0'; if (c != EOF)
ungetch(c); return NUMBER;
}/* ----------------------------------------------------------- *//*
* \u5f15\u7528\u4ee5\u4e0b\u4e24\u4e2a\u51fd\u6570\u662f\u56e0\u4e3a\uff1a\u7a0b\u5e8f\u4e0d\u80fd\u786e\u5b9a\u5b83\u5df2\u7ecf\u8bfb\u5165\u7684\u8f93\u5165\u662f\u5426\u8db3\u591f *
* \u9664\u975e\u8d85\u524d\u591a\u8bfb\u5165\u4e00\u4e9b\u8f93\u5165\uff0c\u5728\u672c\u7a0b\u5e8f\u4e2d\uff0c\u8bfb\u5165\u4e00\u4e9b\u5b57\u7b26\u5408\u6210\u4e00\u4e2a\u6570\u5b57 *
* \u6240\u4ee5\u5728\u770b\u5230\u7b2c\u4e00\u4e2a\u975e\u6570\u5b57\u5b57\u7b26\u4e4b\u524d\uff0c\u5df2\u7ecf\u8bfb\u5165\u7684\u6570\u7684\u5b8c\u6574\u6027\u662f\u4e0d\u80fd\u786e\u5b9a\u7684
* \u7531\u4e8e\u7a0b\u5e8f\u8981\u8d85\u524d\u8bfb\u5165\u4e00\u4e2a\u5b57\u7b26\uff0c\u8fd9\u6837\u5c31\u5bfc\u81f4\u6700\u540e\u53c8\u4e00\u4e2a\u5b57\u7b26\u4e0d\u5c5e\u4e8e\u5f53\u524d\u6240\u8981\u8bfb\u5165\u7684\u6570
*/#define BUFSIZE 100char buf[BUFSIZE];int bufp = 0;int getch(void)
{ return (bufp > 0) ? buf[--bufp] : getchar();
}void ungetch (int c)
{ if (bufp >= BUFSIZE) printf ("ungetch: too many characters\n"); else
buf[bufp++] = c;
}

unsigned long AddSum(int nStart, int nEnd)
{
if(nStart > nEnd)
{
return 0;
}
unsigned long nSum = 0;
for(int i = nStart; i <= nEnd; i++)
{
nSum += i;
}
return nSum;
}

unsigned long MulSum(int nStart, int nEnd)
{
if(nStart > nEnd)
{
return 1;
}
unsigned long nSum = 1;
for(int i = nStart; i <= nEnd; i++)
{
nSum *= i;
}
return nSum;
}

void main()
{
printf("\u52a0\u6cd5\uff1a%d", AddSum(1, 30));
printf("\u4e58\u6cd5\uff1a%d", MulSum(1, 15));
system("pause");
return ;
}

1)

#include "stdio.h"
int main(int argc,char *argv[]){
double m,r;
printf("请输入商品的价格:
");
if(scanf("%lf",&m)!=1 || m<=0){
printf("输入错误,退出......
");
return 0;
}
printf("请输入折扣率:
");
if(scanf("%lf",&r)!=1 || r<=0 || r>=1){
printf("输入错误,退出......
");
return 0;
}
printf("商品价格: %.2f元, 折扣: %.2f, 折扣后份额: %.2f元
",m,r,m*r);
return 0;
}

运行样例:

2)

#include "stdio.h"
int main(int argc,char *argv[]){
char c;
while(1){
printf("请输入一个英文字符:
");
if(scanf(" %c",&c)==EOF)
break;
if(c>='A' && c<='Z')
printf("你输入的是大写字母%c,对应的小写字母是%c
",c,c+32);
else if(c>='a' && c<='z')
printf("你输入的是小写字母%c,对应的大写字母是%c
",c,c-32);
else
printf("输入的不是英文字符,请重新输入
");
}
return 0;
}

运行样例:



  • c璇█绋嬪簭璁捐
    绛旓細include<stdio.h> int main(){ float a,b,c,s=0.;scanf("%f%f%f",&a,&b,&c);if((fabs(a-b)<1e-6)||(abs(a-c)<1e-6)||(fabs(c-b)<1e-6))//鍒ゆ柇涓変欢鍟嗗搧浠锋牸鏄惁鏈変竴鏍风殑 s=a+b+c;else s=0.8*(a+b+c);//鎵8鎶 printf("%.1f\n",s);return 0;} ...
  • C璇█澶х
    绛旓細鍥炵瓟锛氳繍琛岀殑缁撴灉,涓嬮潰鏄绋嬪簭,浣犺瘯璇曞惂 #include <stdio.h>main(){int leixing = 0;double jine = 0.0;printf("******************\n");printf(" 1 鏅氬鎴穃n");printf(" 2 VIP 瀹㈡埛\n");printf("******************\n");printf("璇疯緭鍏ュ鎴风被鍨:...
  • C璇█缂栧啓绋嬪簭,姹傚姪鍟婂晩鍟婂晩
    绛旓細include"stdio.h"int main(){ int m,f; const float price=300;//鎴夸环 float p;//浼樻儬 printf("璇疯緭鍏ユ湀浠斤紝鎴块棿鏁帮紙鐢ㄧ┖鏍奸殧寮锛"); scanf("%d %d",&m,&f); switch(m){ case 12: case 11: case 10:{ if(f>20)p=0.5; else if(f>0&&f<=...
  • 濡傚浘,C璇█,鎬,瑕佸畬鏁绋嬪簭
    绛旓細include <stdio.h> int main(){ int num;printf("Please input item num: ");scanf("%d", &num);double dbTotal = 0.0;int x = 2, y = 1;for (int i=0; i<num; i++){ dbTotal += (double)x / (double)y;x = x + y;y = x - y;} printf("Total : %.2f", db...
  • 鐢–璇█缂栧啓绋嬪簭 濡傚浘
    绛旓細include <stdio.h>void printrow(int *a, int n){ int i; for (i = 0; i != n; printf("%d\t", a[i++])); putchar('\n');}void print(int **a, int n){ int i; for (i = 0; i != n; printrow(a[i++], n)); putchar('\n');}void f...
  • 鐢–璇█缂栧啓绋嬪簭
    绛旓細include<stdio.h>int main(){float a,b;//琛ㄧず鏁伴噺//scanf("%f%f",&a,&b);printf("%.2f\n", a*b);return 0;}
  • 涓閬c璇█缂栫▼棰,鍥惧涓,璇烽棶濡備綍缂栧啓绋嬪簭,鎬ユユ,姹傚ぇ绁炲府蹇
    绛旓細include <stdio.h>int sum(int a,int b){return a+b;}int main(void) {int num1,num2;printf("input num1 & num2:");scanf("%d%d",&num1,&num2);printf("%d\n",sum(num1,num2));return 0;}
  • c璇█,棰樼洰濡傚浘,璇绋嬪簭杩愯缁撴灉鏄?
    绛旓細include<stdio.h> main(){int n='c';switch(n++){ case 'a':case 'A':case 'b':case 'B':printf("good");break;case 'c':case 'C':printf("pass");case 'd':case 'D':printf("warn");default:printf("error");break;} } ...
  • 姹傚ぇ绁炴寚瀵,鐢–璇█缂栧啓绋嬪簭
    绛旓細include <stdio.h>int main(){ int sum,a[4],i; for(i=0,sum=0;i<4;++i) { scanf("%d",&a[i]); sum+=a[i]; } printf("Sum=%d;Average=%.1f\n",sum,sum/(double)i); return 0;}
  • C璇█绋嬪簭缂栧啓鈥斺旀姌鍗婃煡鎵炬硶
    绛旓細include<stdio.h>int main(){int a[16]={15,14,13,12,11,10,9,8,7,6,5,4,3,1,0}; int l=0,r=15,mid,x; scanf("%d",&x); do {mid=(l+r)/2; if(a[mid]==x)break; if(x>a[mid])r=mid-1; else l=mid+1; }while(l<=r); if(a[mid]==x) print...
  • 扩展阅读:c语言购物打折编程 ... c语言超市打折的代码 ... 写python商品打折的程序 ... 用c语言解决商场打折 ... c语言商场打折用if ... c语言超市会员打折 ... c语言计算打折后价格 ... 用c语言表达超市打折 ... c语言switch语句打折程序 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网