下面是一个用以计算 的C程序。
main()
{
int i ,j;
long sum=0;
for(i=1;i<=20;i++)
for(j=1;j<=3;j++)
sum=sum+(i+1)*(i+1)*(j+2);
printf(“sum is :%ld\n”,sum);
}
实验步骤
(1) 将上述程序中的和分别做什么样修改,能使程序按如下要求运行:
.不循环;
.外循环1次,不进入内循环;
.外循环,内循环各1次;
.外循环1次,内循环2次;
.外循环 2次, 内循环1次;
.外循环19次,内循环3次;
.外循环20次,内循环2次;
.外循环21次,内循环3次。
(2) 试修改程序,以便能知道控制表达式
i=1;j<=20;i++
和
j=1;j<=3;j++
各执行了多少次?
(3)内循环与外循环的控制表达式进行对换,观察程序的执行结果有无变化,并且观
察对换后的外循环与内循环控制表达式执行的总次数有无变化?
(4)将(3)中程序写为
main()
{
int i,j,k;
long sum=0;
for (j=1;j<=3;j++)
{
k=j+2;
for(i=1;i<=20;i++)
sum=sum+(i+1)*(i+1)*k;
}
printf(“sum is :%ld\n”,sum);
}
观察程序的执行结果有无变化?
(5)将(3)中程序改写为
main()
{
int i,j,m,n;
long sum=0;
for(j=1;j<=3;j++)
{
m=j+2;
for(i=1;i<=20;i++)
{
n=i+1;
sum=sum+n*n*m;
}
}
printf(“sum is :%ld\n”,sum);
}
观察程序的执行结果有无变化?
(6)在(5)的程序中,若将外循环控制表达式分别做如下修改:
.j=1;j<3;j++
.j=1;j=3;j++
.j=1;j>=3;j++
.j=1;j>3;j++
.j=1;j<=3;j--
.j=1;j>3;j--
.j=1;j<3;j++
.j=0;j<=3;j+=
.j=0;j<3;j++
j=1;j<=3;j++
j=1;j<3;++j
观察程序的执行结果有无变化?
一道c语言问题,请各位高手们帮帮忙,谢谢
char p[][20]={“get”,”put”,”out”};p是一个有3个元素的数组,数组中的每个元素都是一个char[20]类型的数组。也就是说,p是一个二维数组。strlen(p[0])+strlen(p[1])+ strlen(p[2])即计算p中的三个字符串的长度总和,为3+3+3=9。
一道C语言编程问题,高手们来看看帮忙解答下
for (c = b-1;c > 0;c--)\/\/以C为循环变量,在1到B之间。{ \/\/判断公式左右两侧是不是相等,相等侧符合题目要求 if (c*c*(a*a+b*b) == a*a*b*b){ sum = a+b+c; \/\/判定成立,求和 printf("SUM = %d\\nA = %d\\nB = %d\\nC = %d\\n",sum,a,b,c);return 0;} ...
一道C语言问题,请各位高手们帮一下。
在sub 函数里 你又没定义 x1 ,所以 这个 x1 就是外面定义的 全局变量, 第一次 调用 函数 我都 写了 x1=x3=10 , 第二次调用 函数 我也写了 x1=x2=40 , 你都没看吧? 本回答由提问者推荐 举报| 答案纠错 | 评论 34 4 z_t_c_1 采纳率:32% 来自:芝麻团 擅长: 笔记本电脑 C\/C++ VB 汇编...
C语言程序设计 编程,我是C语言初学者,请高手们帮我为下面这道题编个程 ...
include <stdio.h> int main(){ char c;int x = 0, y = 0;printf("***请按提示选择***\\n");printf("a---本校全日制学生\\n");printf("b---本校夜大学生\\n");printf("c---外校学生\\n");scanf("%c", &c);if(c == 'a'){ printf("你是本校全日制学生,不收付费 ^_^...
C语言问题………
for(i=2;i<n;i++)if(!(n%i))break;if(i==n)printf("n是素数!");你说的方法让人有点摸不着头脑。一点点建议是,作为初级学者千万不要使用goto语句,即使是高手也尽量避免使用这个,很容易造成死循环的;for(m[j];m[j]=0;j++)这里的初始化不对吧,应该就是简单的j=0,或者什么也...
请c语言高手们赐教:什么时候应注意函数实参河和形参的单向传递问题_百 ...
C语言中有两种传递方式,一个是值传递,另一个是地址(指针)传递。值传递就是单向传递。它只给从 实参 传递给 形参 ,而形参经过改变后不会传递给实参,对 函数 而言,就是 参数 经过主调用函数传递给了 被调用函数 ,而我们知道,被调用函数除了用return 语句 返回一个值外,其余的值就不可以返回...
c语言\\b\\n的问题,求帮助
printf("\\b \\b\\n");解释:遇到\\b的时候光标确实退了一格,但是只是退,不删东西。退完以后就换行了,原来在的东西现在也还在 我给出的代码就是,退格,然后输出一个空格把原来的覆盖掉,然后退格,这样就真的是删掉了,然后换行
C语言问题:
2, y = 2.s=ADD(x+1,y+2)+1; \/\/因为宏是直接展开的,这里展开的结果是 x+1+y+2+1 = 2+1+2+2+1=8 printf("s=%d",s);\/\/所以S = 8;return 0;} 这题考的是宏展开的问题,记住,写宏的时候,一定要注意加上()。变量,表达式,整个宏,3个地方都要加。防止调用出错。
请问高手们 用C语言写了下面代码 为什么输出是a=1呢?而将单引号里的10...
用单引号来表达字符,一次只能取一个字符,你的单引号里有两个字符,只会取第一个赋给字符类型a。
各位C语言的高手们,小弟今个遇到一道:将若干字符串按字母顺序(由小到大...
这个编译应该是对的啊,首先说一下那个字符串数组char * name[]吧,它是一个数组,里面存放的是字符串的首地址,sort(name,n);传递的仍然是数组,只不过数组里存的是指向字符串首地址的指针而已。再说一下你的那个疑问,strcmp(name[k],name[j]),strcmp的参数就是指向字符串的指针啊,比较过程是...