编写代码的时候 主要的难点是对数组赋值的控制
int a[5];
//scanf("%d",&x);
char c;
for(int n=0; n<=4; n++) { //有效解决我输入小于等于五个字符时出现的错误
scanf("%d",&a[n]);
if(( c=getchar())=='\n') //判断我是否敲回车
break; //当我敲了回车的时候就跳出当前for循环 继续往下走
}
这里就解决了 赋值5个及5个以内的数组,不能有效运行的问题
最后的输出和判断0就结束的代码比较易懂 我就直接敲代码了
#include <stdio.h>
int main () {
double b[5];
b[0]=0;
b[1]=3.00;
b[2]=2.50;
b[3]=4.10;
b[4]=10.20;
int x;
int a[5];
//scanf("%d",&x);
char c;
for(int n=0; n<=4; n++) { //有效解决我输入小于等于五个字符时出现的错误
scanf("%d",&a[n]);
if(( c=getchar())=='\n') //判断我是否敲回车
break; //当我敲了回车的时候就跳出当前for循环 继续往下走
}
printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");
for(int i=0; i<=4; i++) {
if(a[i]==0) {
return 0;
} else if(a[i]<0||a[i]>4) {
printf("price = 0.00\n");
} else {
printf("price = %.2lf\n",b[a[i]]);
}
}
}