⑴ c语言填空题
ascii表里英文字母都是顺序排列的,同时,它们也可以用对应的ascii值作加减运算。比如,'a' +1 = 'b','a' + 2 ='c'。现在你就可以用手指头来数数'f' - 'a' + 1等于几,再把它加到'A',结果就出来了。当然,这个方法适合幼儿,我们的智商相对高一点,知道g和a的间隔等于G到A的间隔,心算就可以得到正确的答案了
⑵ 这个c语言的题的思路是什么,看不懂
意思是要想办法在沙漠中点(500km)处建立一个存有500L的油库,当吉普车能到达500km处时可以加满油跨越沙漠。油库中的油需要用该吉普车运送,所以必须在中间再建立若干个小油库,才能撑到中心油库。
起点处可以无限次加油,当然用油量不能超500L.
如下图所示:
d=250时,Csum无解,因为往返一趟油全用光,不可能运输。
最优解法可以找出来(假定间隔必须为整数km)否则间隔会无穷地小。追问了我才尝试求最优解。
⑶ C语言一条简单的题目,
你是没有分清传址和传值的区别。
void f(int v,int w)
{int t;
t=v;v=w;w=t;
}
对于这个函数,在main函数中进行 f(x,y)的调用后,只是将x,y的值分别赋给v,w,
然后在函数体中,将变量v,w的值进行了交换,这并不会影响x,y的值。
所以在进行了下列调用后:
if(x>y) f(x,y);
else if (y>z) f(y,z);
else f(x,z);
x,y,z的值不会有任何变化,仍然是1,3,2
再给你一个传址的情况,你比较一下:
#include<stdio.h>
void f(int *v,int *w)
{int t;
t=*v;*v=*w;*w=t;
}
main()
{int x=1,y=3,z=2;
if(x>y) f(&x,&y);
else if (y>z) f(&y,&z);
else f(&x,&z);
printf("%d,%d,%d\n",x,y,z);}
上面这个程序输出的是1,2,3,
因为是将x,y,z的地址传递给函数f,
所以v,w是指向这些地址的指针,对于*v,*w的操作将直接影响其所指向的地址中的值。所以x,y,z的值也就被改变了。
⑷ 一个C语言编程题
结果是j=18,。这要考虑到运算符的优先级!因为()的优先级高,所以两个括号里的++i先运行,第一次结果++i=8,到第二个括号里++i=9,然后再把9+9=18。
⑸ C语言,这俩题的区别在哪里各怎么做
前者会循环99次, I 1~ 99;
后者肯定少于99次, X 1 ~99; !注意几个if。
至于运行结果最后编译一遍,太多了,心算的话,观察,变量i和x的递增,也能列出来
⑹ C语言 这是一个很简单的题目,给定2个整数A和B,请输出A+B的和。
#include
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d ",a+b);
return 0;
}
(6)c语言心算练习题扩展阅读:
利用C语言编写一个求两数相加的和的编程思想和方法如下:
1、首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。
2、然后使用scanf()语句接收从键盘输入的两个数,为变量a,b赋值。
3、接着进行a和b的加法运算,将结果赋值给变量c。
4、最后使用printf()语句将计算结果显示在屏幕上。
5、代码编写完毕后,点击运行后即可在调试窗口看到程序的运行结果。
C语言中任意输入两数求和
main()
{doublea,b,sum=0;
printf("请输入两个实数:");
scanf("%f%f",&a,&b);
sum=a+b;
printf("%f
",sum);
}
⑺ c语言一个怪题
********************* 让我试着--为此题13揭秘 *********************
首先,我声明一点,我的WINDOWS操作系统,昨天误删除了几个系统文件,只能拿LINUX自带的GCC运行了。
在运行之前,我心算了一下,结果是 13。
****************************
运算的顺序是这样的:(关键处看不懂,可以先看后面的对x=(++a)+(++a)的讲解!)
b=(++a)+(++a)+(++a)
b=((++a)+(++a))+(++a)//首先,根据+号的自左向右,系统要处理是第一个+号
b=(a+(++a))+(++a)//然后,处理+号左边表达式,这时,a==3,这里的a=3,只是让你看到是个变量a
b=(a+a)+(++a)//接下来,处理完了+号右边表达式,a==4,注意:左边的值是3
b=((a=4)+(a=4))+(++a)//+号两边的表达式处理完后,获取左边的变量a,由于上一步后,a==4,所以左边的a的值也是4了(这一点,难理解,一会我们在再举例!),两边的a都等于4。
b=8+(++a)//上一步,这里a==4
b=8+a// 这里a==5
b=8+5
b=13
值得注意的是:13 ,这个结果不是很好理解!!!我们一般认为是12。
问题的关键出在:
x=(++a)+(++a),运行后x 的值是多少。 是“ 8 ”。我再些一次过程!!!
x=(++a)+(++a)//系统获取+号运算
x=(a)+(++a)//进行+号"左"边表达式的运算,即进行a=a+1,这一步两个都a==3
x=(a)+(a)//进行+号"右"边表达式的运算,注意:这时,左a==3,右a==4
x=4+4//现在获取左边变量a的值,a==?? 你可能说是3,不!!是4,进行右边表达式运算后,a==4,所有当获取左边变量a的值时,a已经变为4了。
x=8.
**********************************
到此,希望你能理解,为什么“(++a)+(++a)+(++a)==13”和“(++a)+(++a)==8”。
**********************************
注意:经过 (++a)+(++a)后,8这个结果并不保存在a了。所以当第三个++a后,(++a)+(++a)+(++a)==13,另外,3个(++a)两个+号,现求完一个在求另外一个!!!
现在,你来说说:
(a=2)+(a++)==?? //5 这又引出了另外的问题,不详细说了
a=2;a+(a++)==?? //6
a=2;(++a)+a==?? //6
你算对了吗?????????
最后,给出验证程序!!! 如果不相信,你就GCC(可能VC++6.0也可以)运行一下吧!!!
#include"stdio.h"
int main()
{
int a=2;
int b=(++a)+(++a)+(++a);
printf("(++a)+(++a)+(++a)==%d\n",b);//13
a=2;
b=(++a)+a;
printf("(++a)+a==%d\n",b);//6
a=2;
b=a+(++a);
printf("a+(++a)%d\n",b);//6
a=2;
b=(++a)+(++a);
printf("(++a)+(++a)==%d\n",b);//8
return 0;
}
但是在不同的平台下,都+号两边表达式的运算实现,可能不一样。会有不同结果。
还有在同一平台下,对加号同边不同表达式的处理,也可能不一样。例如:(a=2)+(++a)==5 和 a+(++a)==6
希望以上的分析能帮到你。
****************************************************************************************
*************************************** 最后,给出结论 *********************
****************************************************************************************
一、“ANSI C++标准”对于表达式的求值顺序,并无统一的规定。在求一般表达式时不会发生歧义,而在求解含++和--运算时会出现歧义,在不同的系统中可能得到不同的结果。
如:(对于本例)
GCC/VC++6.0 : b==4+4+5==13 (a==5)
TC3.0/JAVA: b==3+4+5==12 (a==5)
TC2.0 : b==5+5+5==15 (a==5)
还有其他的一些C++系统是这样处理的:b==4+4+4=12 (a==4)
二,应该尽量避免出现这种歧义。大多数专家和专业人员都已充分认识到自增运算(++)和自减运算(--)的副作用对程序设计的危害性,主张不要过多地依赖使用++和——运算符的技巧,要遵循安全第一,易于理解的原则。
因此,应该尽量避免同一个表达式里,相同的变量(如:a)在运算时取不同的值。
举例:(对于本例)
如果你希望最后,表达式的结果为 12 ,同时a的结果为5,可写成:
a=2;
x=++a;
y=++a;
z=++a;
b=x+y+z;
****************************************************************************************
************ 最后只能说,出此题的人没有意识到这个问题,根本没在多平台下运行 ***********
****************************************************************************************
⑻ C语言程序设计:小学生心算CAI系统
楼主去那些网站花钱找人做吧
⑼ C语言程序设计 小学生心算系统的设计与实现
在网络知道里要做这些的话是不可能的。还是自己找个付费的网站让人家帮忙做吧