非常简单的C语言程序输出结果为74想不通求解

作者&投稿:字峡 (若有异议请与网页底部的电邮联系)
简单C语言程序求解过程~

楼主首先应该了解一下continue的用法:
continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。
举例来说:你这个程序中b+=3;下一条语句为continue;
意思就是 本次for循环到此结束,直接执行a++,进入下一次循环。所以,进入if语句后,b-=5是永远也不会执行的。
所以第一次运行为:a=1,b=1, 1%3==1 , b=1+3=4;
第二次结果为: a=2, b=4 4%3==1 , b+3=7
。。。。
a=7,b=19,19%3==1 ,b+3=22

a=8,b=22;break;

如此循环,结果为a=8

#include void fun(int n){ int a[10]; int i,c=0; for(i=0;n>0;i++) { a[i]=n%10; c++; n/=10; } printf("该数字是%d位数
",c); for(i=0;i<c;i++) printf("%d ",a[i]);}int main(){ int n; scanf("%d",&n); fun(n);}

你从每次循环跟踪下来走一遍就明白了:
for(x=10;x>3;x--)
{
if(x%3) x--;--x;--x;
printf("%d",x);
}
1、第一次,x=10,x%3 =1为真,所以x--,--x;--x,这样连续减3次,x就成了7
2、第二次,for里面的x--,x变成6,判断x%3 等于0,为假,所以只执行后面的--x;--x,这样x就变成了4
3、第三次,for里面x--,x变成了3,判断下x>3循环条件不成立,所以跳出循环,程序结束。

修改下代码格式就知道了。如下:
#include<stdio.h>
int main()
{
int x;
for(x=10;x>3;x--) // 5
{
if(x%3) x--; // 1
--x; // 2
--x; // 3
printf("%d",x); // 4
}
printf("\n");
return 0;
}
第一次循环,x=10,10%3==1,执行语句1,x=9;执行语句2和3,x=7,语句4输出7
进入第二次循环,先语句5执行x--,得x=6。6%3==0,语句1不执行。
执行语句2和3,x=4.执行语句4输出4。
进入第三次循环,先语句5得x=3,而3不>3,故第三次循环没有执行。
最终输出74

你这个74并不是74,而是要分开写,两次输出结果,一次是7,一次是4.在输出语句中改一下,就可以分开printf("%-5d", x);

老兄你的if判断有条件没有值比如x%3 == 0或多少都行


求助用c语言编个200行以上的程序
2017-07-17 用c语言编写的一个小程序,200行以上,急!!! 2011-03-22 用c语言编写的一个小程序,200行以上,急!!! 5 2011-10-16 找个精通C语言的帮我写个200行的简单程序 2012-05-29 求一个关于C语言的高手,帮我解决一个100~200行的程序问... 2017-12-11 c语言什么程序能用到数组?大神给我举个...

一个简单的C语言程序,可以正常运行的。
include<stdio.h> int main(){ int a,i,j,sum=0;double eavg;int b[5],temp;printf("请输入5个正整数\\n");for(i=0;i<5;i++){ scanf("%d",&b[i]);sum+=b[i];} for(j=0;j<4;j++)for(i=0;i<4-j;i++)if(b[i]...

最简单的c语言编程
;ch2<=ch1;ch2++)printf("%c",ch2);printf("\\n");} return 0;} 5. 编程输出所有三位数中的素数。include<stdio.h> int main(void){ int x,i;for(x=100;x<=999;x++){ for(i=2;i<x\/2;i++)if(x%i==0)break;if(i==x\/2)printf("%d ",x);} return 0;} ...

简单C语言程序
printf("%c",ch2);printf("\\n");} return 0;} 5. 编程输出所有三位数中的素数。include int main(void){ int x,i;for(x=100;x<=999;x++){ for(i=2;i<x\/2;i++)if(x%i==0)break;if(i==x\/2)printf("%d ",x);} return 0;} 6. 定义一个函数even(),判断一个整数是否...

编一个简单的C语言程序
include "stdafx.h"include "conio.h"int max(int *p, int nlen){ int w = 0;for(int k=0;k<nlen;k++){ if(p[k] > w)w = p[k];} return w;} main(){ int A[4];int B[5];int X[4][5]={{12,23,87,54,31}, {42,35,51,77,30}, {61,42, 33, 50,46}, ...

简单c语言才程序
)||(str[i]<='Z'&&str[i]>='A'))character++;else if(str[i]==' ')blank++;else others++;} printf("数字个数为%d个,英文字符为%d个,空格为%d个,其他字符为%d个",number,character,blank,others);return 0;} 程序已经试过可以运行,希望可以帮助到你,有什么不懂欢迎追问^_^ ...

求一个c语言程序,很简单
选择:include "stdio.h"void sort(int x[],int n){ int t,i,j,k;for(i=0;i<n;i++)for(i=0;i<n-1;i++){ k=0;for(j=0;j<n-1-i;j++)if(x[k]<x[j+1])k=j+1;t=x[k];x[k]=x[n-1-i];x[n-1-i]=t;} } void main(){ int a[10],i,*p;for(i=0...

C语言很简单的程序
你定义的ch2是unsigned char类型的,你用%c输出254的时候没有对应的字符,乱码了。下面的是可以运行的,不过还是那个乱码的问题,你注意一下就好了。。。#include<stdio.h>void main(){ char ch1; unsigned char ch2; ch1='A';ch2=254;printf("%c~%d\\n",ch1,ch1);printf("%c~%d...

求解几个简单的C语言程序~~过程要详细~~
main(){int i,j,k;\/\/定义变量 printf("*");\/\/在控制台打印 for(i=1;i<10;i++)printf("%4d",i);\/\/i初始值为1,在i<10的情况下,在控制台打印i,4位数,右对齐,不足用空格补齐,执行后i自加1,继续执行。printf("\\n\\n");\/\/在控制台换行2次 for(j=1;j<10;j++));{printf...

用C语言制作一个简单实用菜单的程序。
include <iostream>#include <stdlib.h>#include <conio.h>#include <ctype.h>using namespace std; void xuanzepaixu() \/\/选择排序函数 { printf("待添加,请按任意键继续..."); getchar(); } void erfenpaixu() \/\/二分查找函数 { printf("待添加,请按任意键继续..."); ...

石台县13647052338: 非常简单的C语言程序输出结果为74想不通求解 -
郴炉西拉: 修改下代码格式就知道了.如下:#include<stdio.h> int main() { int x; for(x=10;x>3;x--) // 5 { if(x%3) x--; // 1 --x; // 2 --x; // 3 printf("%d",x); // 4 } printf("\n"); return 0; } 第一次循环,x=10,10%3==1,执行语句1,x=9;执行语句2和3,x=7,语句4输出7 进入第二次循环,先语句5执行x--,得x=6.6%3==0,语句1不执行.执行语句2和3,x=4.执行语句4输出4.进入第三次循环,先语句5得x=3,而3不>3,故第三次循环没有执行.最终输出74

石台县13647052338: 求一个简单的C语言循环输出结果题..求详细过程.. -
郴炉西拉: 程序有点输出错误,改正如下 #include<stdio.h> void main() { int i, j, sum=0;for( i=1; i<=4 ; i++){for(j=1; j<=1;j++){ sum=i*j;if(sum>=6)break;}printf(" i=%d\t j=%d\t sum=%d\n", i , j , sum);} 使用VC6.0运行结果如下 i=1 j=2 sum=1 //下次循...

石台县13647052338: 简单C语言结果输出 -
郴炉西拉: 因为你的Z相当于x+1*x/2,既5+1*5/2,5/2是2,你带入计算就是7,后面a=5+1为6,如果你想得到你的想要的答案,就把定义的x+1和y*x/2各用括号括起来就可以了!

石台县13647052338: 这个最简单的c语言程序为什么输出结果是0呢? -
郴炉西拉: 因为你定义的main主函数为空,无返回值,而你的代码返回值是0. 可以在main()前面加个int ,或者去掉return 0

石台县13647052338: 用c语言输出以下程序(很简单) -
郴炉西拉: 已经按照你给的图片上的图案修改过了.1、 #include<stdio.h> int main() { int i, j;for(i=1; i<=5; i++) { for(j=0; j<5-i; j++) { printf(" "); } for(j=0; j<i; j++) { printf("%c", '*'); } printf("\n"); } getchar(); return 0; }2、 #include<stdio.h> int main() { int i, j...

石台县13647052338: 一道简短的c语言程序 -
郴炉西拉: printf("%3d ",i); 的意思是以十进制右对齐的方式输出i的值,i的值占3列,如果i的值不足3列左边补空格,如果i的值等于或者多余3列则按实际长度输出. if (i%5==0) 的意思是如果i对5取余的值为0的话就执行后面的语句. 改的代码如下: #includeint main(){ int i; for (i=0;i

石台县13647052338: 最简单的C语言程序是什么? -
郴炉西拉: 在屏幕上输出 “This is a C program.” #include//这是编译预处理指令 int main() //定义主函数 { //函数开始的标志 printf ("This is a C program.\n");//输出所指定的一行信息 return 0; //函数执行完毕之后返回函数值0 } //函数结束的标志.C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.

石台县13647052338: 一段简单的c语言代码 -
郴炉西拉: ++,--运算符号出现在变量前面时就必须在表达式计算之前就要加(减);相反,当出现在变量后面时就必须要在表达式计算完毕后再加(减).弄清楚就好了.

石台县13647052338: C语言:简单程序输出结果为何? -
郴炉西拉: 好像是与编译器有关的,有些是从低字节往高字节方向存,有些是相反的. 共用体a有4个字节,a.x=0x1234; 那么当a.x被赋值后,a处的值就是 34 12 0 0;(我的电脑),那么以每字节的形式输出,就是34,12(16进制). 第二题也是,输出为 g.i=4142 g.s[0]=42 g.s[1]=41 g.i=1

石台县13647052338: 这个简单c程序运行的结果是什么?为什么?if… -
郴炉西拉: 呵呵,很明显嘛,这个程序的结果都是你输入的数据再加上一个1,比如输入5,输出的肯定是6,原因如下:不管你输入的数据是大于还是小于等于5,此时x的值为x++(即输入数据再加上1...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网