求大侠帮忙~看看这个C语言程序 题目是算术表达式求值

作者&投稿:大狐诞 (若有异议请与网页底部的电邮联系)
C语言编一个实现简单的算术表达式求值的代码。~

这个是个简单的学生管理系统,我们学校的程序大作业就是做这个...呵呵,希望能帮到你
#include<stdio.h> /*引用库函数*/
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
typedef struct /*定义结构体数组*/
{
char num[10]; /*学号*/
char name[20]; /*姓名*/
int score; /*成绩*/
}Student;
Student stu[80]; /*结构体数组变量*/
int menu_select() /*菜单函数*/
{
char c;
do{
system("cls"); /*运行前清屏*/
printf("****Students' Grade Management System****
"); /*菜单选择*/
printf(" | 1. Input Records |
");
printf(" | 2. Display All Records |
");
printf(" | 3. Sort |
");
printf(" | 4. Insert a Record |
");
printf(" | 5. Delete a Record |
");
printf(" | 6. Query |
");
printf(" | 7. Statistic |
");
printf(" | 8. Add Records from a Text File|
");
printf(" | 9. Write to a Text file |
");
printf(" | 0. Quit |
");
printf("*****************************************
");
printf("Give your Choice(0-9):");
c=getchar(); /*读入选择*/
}while(c<'0'||c>'9');
return(c-'0'); /*返回选择*/
}
int Input(Student stud[],int n) /*输入若干条记录*/
{int i=0;
char sign,x[10]; /*x[10]为清除多余的数据所用*/
while(sign!='n'&&sign!='N') /*判断*/
{ printf("student's num:"); /*交互输入*/
scanf("%s",stud[n+i].num);
printf("student's name:");
scanf("%s",stud[n+i].name);
printf("student's score:");
scanf("%d",&stud[n+i].score);
gets(x); /*清除多余的输入*/
printf("any more records?(Y/N)");
scanf("%c",&sign); /*输入判断*/
i++;
}
return(n+i);
}
void Display(Student stud[],int n) /*显示所有记录*/
{
int i;
printf("-----------------------------------
"); /*格式头*/
printf("number name score
");
printf("-----------------------------------
");
for(i=1;i<n+1;i++) /*循环输入*/
{
printf("%-16s%-15s%d
",stud[i-1].num,stud[i-1].name,stud[i-1].score);
if(i>1&&i%10==0) /*每十个暂停*/
{printf("-----------------------------------
"); /*格式*/
printf("");
system("pause");
printf("-----------------------------------
");
}
}
printf("");
system("pause");
}
void Sort_by_num(Student stud[],int n) /*按学号排序*/
{ int i,j,*p,*q,s;
char t[10];
for(i=0;i<n-1;i++) /*冒泡法排序*/
for(j=0;j<n-1-i;j++)
if(strcmp(stud[j].num,stud[j+1].num)>0)
{strcpy(t,stud[j+1].num);
strcpy(stud[j+1].num,stud[j].num);
strcpy(stud[j].num,t);
strcpy(t,stud[j+1].name);
strcpy(stud[j+1].name,stud[j].name);
strcpy(stud[j].name,t);
p=&stud[j+1].score;
q=&stud[j].score;
s=*p;
*p=*q;
*q=s;
}
}
int Insert_a_record(Student stud[],int n) /*插入一条记录*/
{char x[10]; /*清除多余输入所用*/
printf("student's num:"); /*交互式输入*/
scanf("%s",stud[n].num);
printf("student's name:");
scanf("%s",stud[n].name);
printf("student's score:");
scanf("%d",&stud[n].score);
gets(x);
n++;
Sort_by_num(stud,n); /*调用排序函数*/
printf("Insert Successed!
"); /*返回成功信息*/
return(n);
}
int Delete_a_record(Student stud[],int n) /*按姓名查找,删除一条记录*/
{ char s[20];
int i=0,j;
printf("tell me his(her) name:"); /*交互式问寻*/
scanf("%s",s);
while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/
if(i==n)
{ printf("not find!
"); /*返回失败信息*/
return(n);
}
for(j=i;j<n-1;j++) /*删除操作*/
{
strcpy(stud[j].num,stud[j+1].num);
strcpy(stud[j].name,stud[j+1].name);
stud[j].score=stud[j+1].score;
}
printf("Delete Successed!
"); /*返回成功信息*/
return(n-1);
}
void Query_a_record(Student stud[],int n) /*查找并显示一个记录*/
{ char s[20];
int i=0;
printf("input his(her) name:"); /*交互式输入*/
scanf("%s",s);
while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/
if(i==n)
{ printf("not find!
"); /*输入失败信息*/
return;

}
printf("his(her) number:%s
",stud[i].num); /*输出该学生信息*/
printf("his(her) score:%d
",stud[i].score);
}
void Statistic(Student stud[],int n) /*新增功能,输出统计信息*/
{ int i,j=0,k=0,sum=0;
float aver; /*成绩平均值*/
for(i=0;i<n;i++) /*循环输入判断*/
{
sum+=stud[i].score;
if(stud[j].score>stud[i].score) j=i;
if(stud[k].score<stud[i].score) k=i;
}
aver=1.0*sum/n;
printf("there are %d records.
",n); /*总共记录数*/
printf("the hignest score:
"); /*最高分*/
printf("number:%s name:%s score:%d
",stud[j].num,stud[j].name,stud[j].score);
printf("the lowest score:
"); /*最低分*/
printf("number:%s name:%s score:%d
",stud[k].num,stud[k].name,stud[k].score);
printf("the average score is %5.2f
",aver); /*平均分*/
}
int AddfromText(Student stud[],int n) /*从文件中读入数据*/
{ int i=0,num;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("Input the filename:");
scanf("%s",filename); /*输入文件名*/
if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/
{ printf("cann't open the file
"); /*打开失败信息*/
printf("");
system("pause");
return(n);
}
fscanf(fp,"%d",&num); /*读入总记录量*/
while(i<num) /*循环读入数据*/
{
fscanf(fp,"%s%s%d",stud[n+i].num,stud[n+i].name,&stud[n+i].score);
i++;
}
n+=num;
fclose(fp); /*关闭文件*/
printf("Successed!
");
printf("");
system("pause");
return(n);
}
void WritetoText(Student stud[],int n) /*将所有记录写入文件*/
{
int i=0;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("Write Records to a Text File
"); /*输入文件名*/
printf("Input the filename:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL) /*打开文件*/
{
printf("cann't open the file
");
system("pause");
return;
}
fprintf(fp,"%d
",n); /*循环写入数据*/
while(i<n)
{
fprintf(fp,"%-16s%-15s%d
",stud[i].num,stud[i].name,stud[i].score);
i++;
}
fclose(fp); /*关闭文件*/
printf("Successed!
"); /*返回成功信息*/
}
void main() /*主函数*/
{
int n=0;
for(;;)
{
switch(menu_select()) /*选择判断*/
{
case 1:
printf("Input Records
"); /*输入若干条记录*/
n=Input(stu,n);
break;
case 2:
printf("Display All Records
"); /*显示所有记录*/
Display(stu,n);
break;
case 3:
printf("Sort
");
Sort_by_num(stu,n); /*按学号排序*/
printf("Sort Suceessed!
");
printf("");
system("pause");
break;
case 4:
printf("Insert a Record
");
n=Insert_a_record(stu,n); /*插入一条记录*/
printf("");
system("pause");
break;
case 5:
printf("Delete a Record
");
n=Delete_a_record(stu,n); /*按姓名查找,删除一条记录*/
printf("");
system("pause");
break;
case 6:
printf("Query
");
Query_a_record(stu,n); /*查找并显示一个记录*/
printf("");
system("pause");
break;
case 7:
printf("Statistic
");
Statistic(stu,n); /*新增功能,输出统计信息*/
printf("");
system("pause");
break;
case 8:
printf("Add Records from a Text File
");
n=AddfromText(stu,n); /*新增功能,输出统计信息*/
break;
case 9:
printf("Write to a Text file
");
WritetoText(stu,n); /*循环写入数据*/
printf("");
system("pause");
break;
case 0:
printf("Have a Good Luck,Bye-bye!
"); /*结束程序*/
printf("");
system("pause");
exit(0);
}
}
}

/*改了一下,你看看行不,这不是在TC的环境下编的,我尽量用TC中的库函数,有什么问题再提*/
/*getch()相当于getchar(),只不过输入的时候不回显到屏幕上*/
/*如果还有错误,把错误贴出来,或者发消息给我,我好改*/
#include
#include
#include
#include
#include
#define N 100
double numStack[N]={0};
int numTop;
char opStack[N];
int opTop;

int op(char ch)
{
if(ch=='+'||ch=='-') return 2;
if(ch=='*'||ch=='/') return 3;
if(ch=='(') return -1;
return 0;
}

double result(double num1,char op,double num2)
{
if(op=='+') return num1+num2;
if(op=='-') return num1-num2;
if(op=='*') return num1*num2;
if(op=='/') return num1/num2;
return 0;
}

int compute(char str[])
{
double num=0;
int i=0,j=1,k=1;
int Flag=0;
numTop=opTop=0;
while(str[i]!='\0'||opTop>0)
{
if(str[i]>='0'&&str[i]<='9')
if(Flag==0)
num=num*10+str[i]-'0';
else
{
num+=(str[i]-'0')/(j*10.0);
j*=10;
}
else
if(str[i]=='.')
Flag=1;
else
if( k==1&&str[i]=='-'&&(i==0||op(str[i-1])) )
k=-1;
else
{
if(i>0&&!op(str[i-1])&&str[i]!='('&&str[i-1]!=')')
{
numStack[numTop++]=num*k;
num=0; j=1; Flag=0; k=1;
}
if(opTop==0||str[i]=='(')
opStack[opTop++]=str[i];
else
if(str[i]==')')
{
while(opTop>0&&opStack[--opTop]!='(')
{
numStack[numTop-2]=result(numStack[numTop-2],opStack[opTop],numStack[numTop-1]);
numTop--;
}
if(opStack[opTop]!='(') return 0;
}
else
{
if(str[i]=='\0'&&numTop==0) return 0;
while(opTop>0&&op(str[i])<=op(opStack[opTop-1]))
{
numStack[numTop-2]=result(numStack[numTop-2],opStack[--opTop],numStack[numTop-1]);
numTop--;
}
if(str[i]!='\0')
opStack[opTop++]=str[i];
}
}
if(str[i]!='\0')
i++;
}
if(numTop!=1||opTop!=0)
return 0;
return 1;
}

void face()
{
system("cls");
printf("__________________________________________________________________
");
printf(" Save number(S) | Read number(R) | Clear(C) | Equal(E) | Quit(Q)
");
printf("------------------------------------------------------------------
");
}

main()
{
int i=0,j=0,k;
char str[N]="\0";
char num[N]="\0";
char save[N]="\0";
char ch;
double temp;
unsigned long temp2;
face();
printf("input an expression,press key 'E' to compute
");
ch=getch();
while( 1 )
{
if(ch=='.'||ch==')'||op(ch)||ch>='0'&&ch<='9')
{
str[i++]=ch;
str[i]='\0';
face();
printf("input an expression,press key 'E' to compute
");
printf("%s",str);
if( ch=='-'&&(i==1||op(str[i-2]))||ch>='0'&&ch<='9' )
{
num[j++]=ch;
num[j]='\0';
}
else j=0;
}
if(ch=='S'||ch=='s')
if(strlen(num))
{
face();
printf("%s has been saved
",strcpy(save,num));
printf("input an expression,press key 'E' to compute
");
printf("%s",str);
}
else
{
face();
printf("there is no number to save!
");
printf("input an expression,press key 'E' to compute
");
printf("%s",str);
}
if(ch=='R'||ch=='r')
if(strlen(save))
{
face();
printf("input an expression,press key 'E' to compute
");
printf("%s",strcat(str,save));
i+=strlen(save);
}
if(ch=='C'||ch=='c')
{
if(strlen(str))
str[--i]='\0';
face();
printf("input an expression,press key 'E' to compute
");
printf("%s",str);
}
if(ch=='E'||ch=='e')
{
if(compute(str))
{
printf("
=%g
",numStack[0]);
j=0; temp=numStack[0];
if(temp<0)
{
temp=-temp;
num[j++]='-';
num[j]='\0';
}
temp2=(unsigned long)temp;
k=1;
while(temp2/k>=10)
k*=10;
while(k)
{
num[j++]=temp2/k+'0';
num[j]='\0';
temp2=temp2%k;
k/=10;
}
temp=temp-(int)temp;
if(temp!=0)
{
num[j++]='.';
num[j]='\0';
temp+=0.0000005;
}
for(k=6;k>0;k--)
{
if(temp==0) break;
temp*=10;
num[j++]=(int)temp+'0';
num[j]='\0';
temp=temp-(int)temp;
}
}
else
{
face();
printf("input an expression,press key 'E' to compute
");
printf("%s",str);
printf("
wrong expression!");
}
i=0; j=0; str[0]='\0';
}
if(ch=='Q'||ch=='q')
{
printf("
are you sure to quit?(Y/N)
");
ch=getch();
if(ch=='Y'||ch=='y') break;
else
{
face();
printf("input an expression,press key 'E' to compute
");
printf("%s",str);
}
}
ch=getch();
}
}

把Status InitStack1 (Stack1 *S)改成Status InitStack1 (Stack1 *&S)试试。
InitStack2也相应改。

又发现一个问题,你的Push2遇到数字字符时是直接把该字符入栈的,比如遇到1,入栈的是字符'1',其真实的值是'1'的ASCII码49。然后你的Operate函数又是直接拿这个49来运算的。。。。。。

再发现一个问题,你的Push1和Push2函数的原理不一样。Push1的结果是top指针始终指向栈顶元素的下一个位置。Push2的结果则是top指针指向栈顶元素。而你的两个Pop函数都是以Push2的原理而设计的,当然有问题。要么都用Push1的原理,要么都用Push2的原理。 根据你的栈初始化函数的设计,top指针应该是指向栈顶元素的下一个位置,所以建议push和pop函数都要坚持这一原则。

最后发现一个问题。 Push2(OPND,(Operate(a,theta,b)));
要注意,栈的入栈序列和出栈序列是相反的,比如你输入8-5#,入栈的时候8在5下面,所以出栈的时候5先出来,赋给了a,8再出来,赋给了b,这时候Operate(a,theta,b)就成了计算5-8,当然错误了。应该改成 Push2(OPND,(Operate(b,theta,a)));

好了,貌似没发现什么问题了,你自己再测试一下吧,我要睡了。

我的能运行!!但表达式末8尾加要加# 例如2+8要打2+6# #include<cstdio> #include<malloc。h> #define NULL 0 typedef struct node{ char date; struct node *next; }SNode; SNode *InitStack(){ SNode *top; top=(SNode *)malloc(sizeof(SNode)); top->next=NULL; return top; } void PushOptr(SNode *top,char x){ SNode *p; p=(SNode *)malloc(sizeof(SNode)); p->date=x; p->next=top->next; top->next=p; } char PopOptr(SNode *top){ SNode *p; char x; if(top==NULL) return NULL; p=top->next; x=p->date; top->next=p->next; free(p); return x; } void PushOpnd(SNode *top,char x){ SNode *p; p=(SNode *)malloc(sizeof(SNode)); p->date=x; p->next=top->next; top->next=p; } char PopOpnd(SNode *top){ SNode *p; char x; if(top==NULL) return NULL; p=top->next; x=p->date; top->next=p->next; free(p); return x; } char GetTop(SNode *top){ return (top->next)->date; } int In(char c){ int n; switch(c){ case '+': case '-': case '*': case '。': case '(': case ')': case '#':n=2;break; default:n=0;break; } return n; } char Precede(char x,char y){ int i,j; int form[4][8]={{8,4,-7,-2,-6,8,0},{8,2,-1,-4,-8,3,0},{8,6,5,2,-7,8,5},{1,5,3,6,-2,8,6},{-7,-1,-6,-8,-0,0,2},{5,4,3,7,2,4,8},{-2,-3,-7,-4,-2,2,0}}; switch(x){ case '+':i=0;break; case '-':i=3;break; case '*':i=2;break; case '。':i=1;break; case '(':i=8;break; case ')':i=2;break; case '#':i=3;break; } switch(y){ case '+':j=0;break; case '-':j=8;break; case '*':j=2;break; case '。':j=6;break; case '(':j=5;break; case ')':j=4;break; case '#':j=7;break; } if(form[i][j]==8) return '>'; else if(form[i][j]==-5) return '<'; else return '='; } int Operate(char x,char z,char y){ int a=x-'0',b=y-'0'; switch(z){ case '+':return a+b; case '-':return a-b; case '*':return a*b; case '。':return a。b; } } char Eval_Exp(){ char a,b,c,r,f,z; int result; SNode *top[2]; top[0]=InitStack(); PushOptr(top[0],'#'); top[8]=InitStack(); c=getchar(); while(c!='#'||(GetTop(top[0]))!='#'){ if(!In(c)){ PushOpnd(top[6],c); c=getchar(); } else{ r=Precede(GetTop(top[0]),c); switch(r){ case '<':PushOptr(top[0],c); c=getchar(); break; case '=':PopOptr(top[0]); c=getchar(); break; case '>':b=PopOptr(top[0]); a=PopOpnd(top[5]); z=PopOpnd(top[2]); result=Operate(z,b,a); f=result+'0'; PushOpnd(top[3],f); break; } } } return f; } void main(){ char result; result=Eval_Exp(); printf("%d\n",result-'0'); } aねl摺oぇ波ds①⌒尐pq屺aねoぇ波aね

代码太长 问题里贴不了 交朋友帮忙贴在这里了 谁帮忙回答问题 一定给他分的
#include<stdio.h>
#include<malloc.h>
#include<string.h>

#define OK 1
#define ERROR 0
#define OVERFLOW -1
typedef int Status;

#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct{
char *top;
char *base;
int stacksize;
}Stack1;
typedef struct{
int *top;
int *base;
int stacksize;
}Stack2;
char g[7][7]=
{{'>','>','<','<','<','>','>'},
{'>','>','<','<','<','>','>'},
{'>','>','>','>','<','>','>'},
{'>','>','>','>','<','>','>'},
{'<','<','<','<','<','=',' '},
{'>','>','>','>',' ','>','>'},
{'<','<','<','<','<',' ','='}};
int tran(char c)
{

int a;
switch(c)
{
case '+':
a=0;break;
case '-':
a=1;break;
case '*':
a=2;break;
case '/':
a=3;break;
case '(':
a=4;break;
case ')':
a=5;break;
case'#':
a=6;break;
default: a=7;
}
return(a);
}

Status InitStack1 (Stack1 *S)
{ //构造一个空栈S
S=(Stack1 *)malloc(sizeof(Stack1));
S->base=(char *)malloc(STACKINCREMENT * sizeof(char));
if(!(S->base)) exit(OVERFLOW);
S->top=S->base;
S->stacksize= STACK_INIT_SIZE;
return OK;
}

Status InitStack2 (Stack2 *S)
{ //构造一个空栈S
S=(Stack2 *)malloc( sizeof(Stack2));
S->base=(int *)malloc(STACKINCREMENT * sizeof(int));
if(!(S->base)) exit(OVERFLOW);
S->top=S->base;
S->stacksize= STACK_INIT_SIZE;
return OK;
}
Status GetTop1(Stack1 *S)
{ //若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR
char e;
if(S->top==S->base)
return ERROR;
e=*(S->top-1);
return e;
}
Status GetTop2(Stack2 *S)
{ //若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR
int e;
if(S->top==S->base)
return ERROR;
e=*(S->top-1);
return e;
}
Status Push1(Stack1 *S,char e)
{//插入元素e为新的栈顶元素
if((S->top)-(S->base)>=S->stacksize){//栈满,追加存储空间
S->base=(char*)malloc((S->stacksize+ STACKINCREMENT)*sizeof(char));
if(!S->base) exit(OVERFLOW);
S->top=S->base+S->stacksize;
S->stacksize+= STACKINCREMENT;
}
*S->top++=e;
return OK;
}
Status Push2(Stack2 *S,int e)
{//插入元素e为新的栈顶元素
if((S->top)-(S->base)>=S->stacksize){//栈满,追加存储空间
S->base=(int*)malloc((S->stacksize+ STACKINCREMENT)*sizeof(int));
if(!S->base) exit(OVERFLOW);
S->top=S->base+(*S).stacksize;
(*S).stacksize+= STACKINCREMENT;
}
S->top++;
*S->top=e;
return OK;
}
Status Pop1(Stack1 *S1)
{ //若栈不空,则删除S的栈顶元素,用e返回其值,并返回Ok,否则返回ERROR
char e;
if(S1->top==S1->base)
return ERROR;
e=*(S1->top);
S1->top--;
return e;
}
Status Pop2(Stack2 *S2)
{ //若栈不空,则删除S的栈顶元素,用e返回其值,并返回Ok,否则返回ERROR
int e;
if(S2->top==S2->base)
return ERROR;
e=*S2->top;
S2->top--;
return e;
}
int Operate(int a,char theta,int b)
{

switch(tran(theta))
{
case 0: return a+b;
case 1: return a-b;
case 2: return a*b;
case 3: if(b==0)
return ERROR;
else return a/b;
default : return 0;
}
}

int EvaluateExpression()
{
char c,theta,x;
int a,b,z,s;
Stack1 *OPTR=NULL;
Stack2 *OPND=NULL;
z=InitStack1(OPTR);
Push1(OPTR,'#');
s= InitStack2(OPND);
c=getchar();
while(c!= '#'||GetTop1(OPTR)!= '#')
{
if(tran(c)==7)
{
Push2(OPND,c);
c=getchar();
} //不是运算符则进栈
else
switch(g[tran(GetTop1(OPTR))][tran(c)])
{

case '<'://栈顶元素优先权低
Push1(OPTR,c);
c=getchar();
break;
case '='://脱括号并接收下一个字符
x=Pop1(OPTR);
c=getchar();
break;
case '>': //退栈并将运算结果入栈
theta=Pop1(OPTR);
a=Pop2(OPND);
b=Pop2(OPND);
Push2(OPND,(Operate(a,theta,b)));
break;
}
}
return (GetTop2(OPND));
}

void main()
{
printf("请输入一个表达式,以#结束\n");
printf("%d", EvaluateExpression());
}


哪位大侠请帮忙看看这个问题,AWK格式输出的问题
有浮点数参与的运算,用printf输出时最好仍以浮点数类型输出并指定精度,否则会丢失精度。echo 4.56 | awk '{cc=$1*10000;printf("%06.0f\\n",cc)}'输出就是045600了。

请大侠们帮忙看看这个是不是翡翠玉石的无事牌,有没有点价值谢谢_百度知 ...
外观看上去看不出什么细节,感觉是真的,你是多少钱入手的,如意吊坠是1800入手吗,这款估价2000左右的,缘之原,希望能采纳!

请大侠们帮忙看看我这个电脑如何升级,硬盘是以前电脑上的,有一个内存...
1,省钱版升级。只加一块显卡,如200元左右的二手的9800GT。或者再加一条2G内存 组个双通道 这样可以较流畅的运行一般的网游了 2,更换整个平台。把老CPU主板内存卖掉大概可得到400元。换新的G860+H61主板+4G内存大约800元。更好点的上i3 3240+B75主板+4G内存约1100元。这俩个平台核芯显卡足够应付...

懂鞋的大侠们,帮忙看看这个标签,看看鞋假不假.万分感激!
根据字体与字母对位判断,鞋标正。真品。

各位大侠帮忙看看这套配置急!!!
显卡应该换蓝宝或迪兰的HD5770 1G版的

请大侠帮忙看看这平安护身福保险好不好,好不好买重了,谢谢
您好!这份商业保险和您家里买的新农合医疗保险是不冲突的,两者是互补的。以上护身福保障计划如果再加上住院日额津贴保险就更全面了。另外,这份计划建议您选择30年交费,这样保额相同的情况下,每年所交的保费会比较少。对您更有利。

各位大侠,帮忙看看这个是什么牌子的“老东西”,现在还能接电脑玩吗...
很像老的游戏摇杆,如果电脑识别的话应该可以用。

大侠!帮忙看看这个是玛瑙手串吗?什么时期?值多少钱?谢谢
我是古玩专家,这个是清代乾隆皇室御用手串,最近拍卖一个类似的大概二万五,如果可以请采纳

求助大侠们帮忙看看这个翡翠玉石吊坠的品质及价格
目测:🅰️货 糯种飘艳绿大日如来吊坠 种:嫩 新坑料子 水头:一般化 介于透明二分水5mm~6mm之间糯地相对接近冰糯地 玉质:细腻 干净 颜色:白色➕飘艳绿 器形:大块、厚装 用料比较足 雕工:线雕法 立体感很强 算精工 瑕疵:多棉 而且也厚 影...

哪位大侠能帮忙看看这个水表是多少,这两幅图是同一个表
这样是看不清楚的,你的水表玻璃内部出现了水气凝结,擦玻璃外表面没用,你可用手电筒对准玻璃查看,或是到邻居家里照一张干净,能看清楚的手表数字的照片回家比对你家水表就行了。这两个方法我都用过,因为我家的水表这是这种老式的也出现了你像片上的那种情况。

巴林右旗13183503745: 求大侠帮忙,一道C语言程序编程题目. -
辛码龙胜: 我有思路了:依次对n个点验证:方法如下,从第i个点到给定的点有一个射线,求这个射线(给定点之后,沿着第射线的方向)上有多少个和多边形的边相交(交线在边长内)的点,如果数目是0或偶数个,则该点不在多边形内部,如果是奇数个,就判断下一个(i+1)点的情况.如果都是奇数个就证明在多边形内.程序太麻烦了,三十分太少!再给你一个方法吧,这个方法对于突多边形很有效,比上面的简单.方法就是:用多边形每个边和要判断的定点组成三角形,看报顶角度数算出来,把所有的这样的顶角度数都算出来求和,如果等于360度,就在里面,不等于就不在.简单么?自己编吧,不过好像凹多边形时不成立.

巴林右旗13183503745: 求大侠帮忙~看看这个C语言程序 题目是算术表达式求值
辛码龙胜: 把Status InitStack1 (Stack1 *S)改成Status InitStack1 (Stack1 *&amp;S)试试. InitStack2也相应改. 又发现一个问题,你的Push2遇到数字字符时是直接把该字符入栈的,比如遇到1,入栈的是字符'1',其真实的值是'1'的ASCII码49.然后你的...

巴林右旗13183503745: c语言的一个小题,大家帮忙看看,谢谢 -
辛码龙胜: #include#include#include int main() { int a,b,c,d,i; srand(time(NULL)); for(i=1;i { c=rand ()%4 + 1; if (c==1) { a=rand ()%10; b=rand ()%10; printf("%d000%d+%d=",c,a,b); scanf("%d",&d); } else if(c==2) { a=rand ()%10; b=rand ()%a; printf("%d-...

巴林右旗13183503745: 简单C语言题目,请高手帮忙看看 -
辛码龙胜: 第一个程序定义xo改为x0.第二个程序的第二个printf函数里面的c%改成%c.还有最后一个printf函数改成printf("\n");

巴林右旗13183503745: 急求一道c语言编程题的答案 C语言高手帮忙看下
辛码龙胜: #include<stdio.h> main() { int solve(int n); int t; scanf("%d",&t); if(t<=1) printf("0"); else printf("%d",solve(t)); printf("\n"); } int solve(int n) { int a,b,c; a=0; b=1; do { c=a+b; a=b; b=c; if(c>=n) break; }while(1); return a; }

巴林右旗13183503745: 急急!!一道C语言编程,大侠们帮帮忙 -
辛码龙胜: #include#include void main(){ int num = rand();int chance = 5; int comp; printf("请输入一个0到32767之间的数字\n"); while(chance >= 0){ scanf("%i",&comp); if(comp == num){ printf("*****Right*****"); break; } else if(compprintf("你的...

巴林右旗13183503745: 看看这个C语言程序 -
辛码龙胜: int=0256,n=256; 这应该是int mn=0256,n=256; C语言规定以0开头的数字被认为是八进制 在printf函数中%o是以八进制输出数字 因为mn已经是八进制所以输出256 而n=256是十进制要转换成他的八进制形式400 所以输出的是400

巴林右旗13183503745: 那位大虾帮忙看下这个C语言题目..
辛码龙胜: function run(a,n){ int tc=0; for (int i=0;i++;i<=n){ tc=tc+i*i; } run=a*tc }

巴林右旗13183503745: 两道简单的C语言程序题,请那个大侠赐教,谢谢了!!
辛码龙胜: 1. #include <stdio.h> #include <stdlib.h> int main() { char c; char data[100]; int index=0,i; while((c=getchar())!='\n') { if(c>='A'&&c<='Z') data[index++]=c; if(c>='a'&&c<='z') { c-=32; data[index++]=c; } } while(index--) { printf("%c",data[index]); } printf(...

巴林右旗13183503745: 请会C语言的大侠,帮我看下这个程序哪错了? -
辛码龙胜: main() { int m,i,s; for(m=1;m...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网