首页 > 电脑 > 哪位大佬输一下看看运行输出的结果

哪位大佬输一下看看运行输出的结果

电脑 2022-11-02

在线抽一位大佬帮我看看程序的输出结果为啥不能输出1~100之间各个整数的和?

//循环用num,循环里面最好不要去改变他的值,增加一个变量n #include int main() { int num, s, n; for(num = 1; num <= 100; num++) { s = 0; n = num; do { s = s + n % 10; n = n / 10; }while(n != 0); printf("%d\n", s); } return 0; }

这个运行结果是什么啊,谢谢大佬了,C语言?


结果:

输出以下的杨辉三角形(要求输出10行)程序写出来了但是运行不了,哪位大佬帮忙看看哪里错了

正确的代码如下:

#include
void main()
{
int i, j, a[10][10];
for (i = 0; i < 10; i++)
for (j = 0; j <= i; j++)
{
if (j == 0)
{
a[i][j] = 1;
continue;
}
if (i > 1 && j > 0 && j < i)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
continue;
}
if (i == j)
{
a[i][j] = 1;
continue;
}
}
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}

运行结果如下:

说明:

  1. 在if的条件若为判断某两个值是否相等,应当用==。=是赋值语句。

  2. break语句使程序跳出循环,continue语句使程序跳至本次循环的结尾而不会跳出。您的三处break应该为continue。

  3. for若没有大括号,只会管到下面一行。

请问各位大佬,我只知道我的程序输入123456789可以运行

溢出了,int最大不过十位数,还是2开头的。 即使改成64位,也不过是20位,不能满足你100逆序的需求。 所以,改其他方式吧。 推荐将输入存储成字符串,然后做字符串逆序 甚至不需要做真正逆序,只要从后向前逐个输出就好了。 代码简单的多,运行速度也快很多

输出下面程序的运行结果,要详细点儿的解答

[全局变量x=2,y=4]
main函数y=6;这里y属于main函数的局部变量,在main函数中使用y指的就是这个局部变量,
不会用到全局变量y
f1(x);由于main函数中没有定义x变量,因此会被编译程序翻译成全局变量x[f1(2)]
f1(2)[x=2]这里的x是f1函数定义的参数变量,也不是全局变量,f1中用到的全是这个参数变量x
x++;[x=3],y++;[全局变量y=5]
printf输出:f1:x=3,y=5
f2(&y);参数变量y指向main函数局部变量y
x++;[全局变量x=3],(*y)++;参数指向的变量即main函数中的局部变量y自加1[y=7]
printf输出:f2:x=3,y=7
printf输出:main:x=3,y=7

标签:编程语言 信息技术 程序 编程 CC++

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18