因为输入数字后,按回车,换行符还保留在缓冲区里,这样的话,就被a读入了,所以a的值就成为了'\n'
为企业提供成都网站设计、网站制作、外贸营销网站建设、网站优化、成都全网营销推广、竞价托管、品牌运营等营销获客服务。创新互联建站拥有网络营销运营团队,以丰富的互联网营销经验助力企业精准获客,真正落地解决中小企业营销获客难题,做到“让获客更简单”。自创立至今,成功用技术实力解决了企业“网站建设、网络品牌塑造、网络营销”三大难题,同时降低了营销成本,提高了有效客户转化率,获得了众多企业客户的高度认可!
解决方案,输入后,清空缓冲区
#include"stdio.h"
main()
{
int x;
char a;
printf("input a number:\n");
scanf("%d",x);
fflush(stdin); //添加
printf("input a char:\n");
scanf("%c",a);
printf("%d,%c",x,a);
}
/*Please input the expression a+(-*/)b:
9/3
9 / 3 = 3
Press any key to continue
*/
#include stdio.h
int add(int x,int y) {
printf("%d + %d = ",x,y);
return x + y;
}
int sub(int x,int y) {
printf("%d - %d = ",x,y);
return x - y;
}
int mult(int x,int y) {
printf("%d * %d = ",x,y);
return x * y;
}
int dev(int x,int y) {
printf("%d / %d = ",x,y);
return x / y;
}
void main() {
int (*funp)(int,int);
char op;
int x,y;
printf("Please input the expression a+(-*/)b:\n");
scanf("%d",x);
scanf("%c",op);
scanf("%d",y);
switch(op) {
case '+' : funp = add; break;
case '-' : funp = sub; break;
case '*' : funp = mult; break;
case '/' : funp = dev; break;
default : printf("Operator is illegal;\n");
}
printf("%d\n",funp(x,y));
getchar();
}
#include
stdio.h
int
max(int
*p,int
n){
int
i=0;
int
k=0;
while(in-1){
if(*(p+i)*(p+1+i))
*(p+1+i)=*(p+i);
k=*(p+1+i);
i++;
}
return
k;
}
main(){
int
a[100];
int
i=0;
int
n=0;
printf("请输入你要输入的数的个数:\n");
scanf("%d",n);//这里输入4,就可以了,本代码适合n个数的比较大小;
for(i=0;in;i++){
printf("请输入第
%d
个数:\n",i+1);
scanf("%d",a[i]);
}
printf("你输入的
%d
个数是\n",n);
for(i=0;in;i++)
printf("
%d
",a[i]);
int
*p=a;
int
k=max(p,n);
printf("\n其中最大值为\n
%d\n",k);
}
#includestdio.h
double jia(double a,double b){
return a+b;}
double jian(double a,double b){
return a-b;}
double cheng(double a,double b){
return a*b;}
double chu(double a,double b){
return a/b;}
int modd(int a,int b){
return a%b;}
int main(){
double a,b;
printf("输入两个数字\n");
scanf("%lf%lf",a,b);
printf("加 %lf\n减 %lf\n乘 %lf\n除 %lf\n取模 %d\n",jia(a,b),jian(a,b),cheng(a,b),chu(a,b),modd((int)a,(int)b));
return 0;}