哪位c语言高手愿意帮我解决两道题目

来源:百度知道 编辑:UC知道 时间:2024/06/03 14:14:42
1.假定所有变量均已正确说明,下列是程序段运行后x的值是?
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;(中间的逻辑关系,也麻烦讲清楚。谢谢!!!)

2、从键盘输入两个两位正整数a和b,且a和b各位都不包含数字0,在屏幕上输出a与b相乘的竖式,格式严格按下面的样例。例如:
输入:35 92
输出:
35
* 92
---------
70
315
---------
3220
不好意思,还有一题
设有定义int x=1; int y='a'<'A'?x--:x++;,则变量y的值是:
(请附上解题思路,谢谢)

不过像a=b=c=0这样定义有问题啊不过反正他们都是一的意思
首先if(!a)x--;a=0为假,!a为真,x-- 为34;
else if(b)为假,不执行,c=34;
if(c)x=3;为假,c=34;
else x=4;最后之行x=4;所以x=4
*****************************************

/*我的这个还对位比较齐哦*/
#include"stdio.h"
void main()
{
int a,b,c,d,sum;
printf("请输入两个两位正整数:a,b\n");
scanf("%d,%d",&a,&b);
c=b/10;d=b-10*c;sum=a*b;
printf("%5d\n*%4d\n--------\n%5d\n%4d\n---------\n%5d\n",a,b,a*d,a*c,sum);
}
***************************************
首先判断a是否小于A,小于的话y等于x--,否则y等于x++,显然a大于A,执行x++单不管执行那一个x--或者x++都是先赋值后自减(加),所以怎样y都等于x等于1.

第一题:输出应该是35
因为if(!a) x--;
这条语句意思是如何!a为真 则执行x--;a的初值为0,!a则为1 即为真 成立 执行x--;
x--的值为35 不要于--x混淆 --x的值为34
所以最终答案为35;
第二题:
main()
{
int a,b,i,j,k,m,n;
scanf("%d,%d",&a,&b);
printf(" %d\n",a) ;
printf("*%d\n",b