当前位置:首页 » 编程语言 » c语言心算练习题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言心算练习题

发布时间: 2022-12-30 10:36:26

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语言程序设计 小学生心算系统的设计与实现

在网络知道里要做这些的话是不可能的。还是自己找个付费的网站让人家帮忙做吧