c语言高手来看看,7是怎么输出的?

作者&投稿:戎临 (若有异议请与网页底部的电邮联系)
在C语言中,A=5,B=7,我要输出A/B=71%,怎么弄啊,各位高手帮帮忙谢谢了~

int A=5;
int B=7;
printf("A/B=%d%%
", A*100/B);

输入:27,输出是27;输入2 7,输出20 + (32 - 48) = 4。请考虑。

这是递归调用。
可以把调用过程写成:
fun(x) // =7
{
if ((x/2)>1)
{
// fun(x/2);
int y=x/2; //y=3
fun(y); //if ((y/2 > 1) fun(y/2); else printf("%5d",y);
}; // if 语句结束
printf("%5d",x);
}

x=7进入函数,x/2 > 1 条件满足,递归调用 fun(y); [y=x/2=7/2=3;]
fun(y); 执行 if ((y/2 > 1) fun(y/2); else printf("%5d",y);
y/2=1 条件不满足,不继续递归调用,执行 else printf("%5d",y); 打印出 3.
// if 语句结束
printf("%5d",x); 打印 7 ,为何7,可以分析上面语句结构:
fun(7) 执行:
x=7 进函数体:
{
if ((x/2)>1) {一大堆东西 }; // if 语句结束
printf("%5d",x); 打印 7
}

所以打印出: 3 7

这是个递归函数
主程序调用 fun(7)
if ( 7/2 >1 ) 调用 fun(7/2 ) , 即fun(3) 等fun(3)结束时,再输出 x 即:7
递归调用fun(3)
3/2 =1 不大于1,直接输出 x , 即3 , 返回。
因此,输出结果为 3 7

fun 函数不会修改x的值。
也是就说,fun(x)中,x等于多少就会输出多少。
所以,fun(7) 就会打印出7
fun(7/2) 就会打印出3


c语言高手来看看,7是怎么输出的?
fun(7) 执行:x=7 进函数体:{ if ((x\/2)>1) {一大堆东西 }; \/\/ if 语句结束 printf("%5d",x); 打印 7 } 所以打印出: 3 7

c++c语言高手来看看。为什么是5 6 7
b=4,c=1,a从0变到2,故结果为5,6,7

c语言高手来看一下,用下面的scnf函数输入数据,使a=3,b=7,x=8.5,y=7...
在键盘上应该这样输入:3 7Aa 这里主要看三点:1)scanf函数使用空格(换行、制表符)来决定怎样将输入划分几个字段;(这是最基本的)2)格式符%d在遇到非数字符号和+\/-号时停止该数字读取;3)对于%c,即使下一个字符是空白字符,它也会读取那个字符;...

C语言高手lai 看看!!
define N 50 int squeeze(char s[],int ch);void main(void){ char s[N],ch;int i;printf("please input a string:");scanf("%s",s);getchar();printf("please input a char:");scanf("%c",&ch);i=squeeze(s,ch);if(i==0)printf("%s",s);else printf("Not Find!");} ...

给位C语言高手,帮我看看,下面这段代码。
for(i=3;i<7;i++) \/\/循环控制变量是i,初值3,末值为7-1=6,步长为1,即:i=i+1 { for(j=1;j

C语言 高手来
main是主函数名,这是c程序的规定,main函数是程序中的主体,也是躯干 void,表示这个函结束后返回的值是空,就是不用把它的结果传给别人 {}l里面的的东西便是函数,每个c语句以分号结束,这也是规定,没写一个语句后都要有分号的 incude<stdio.h> 意思是 包含标准的输入输出函数的头文件,有这个...

一道C语言编程问题,高手们来看看帮忙解答下
{ int a;\/\/定义循环变量。int b;int c;int sum;\/\/ABC之和。for (a = 100;a > 0;a--)\/\/以A为循环变量,在1到100之间。{ for (b = a-1;b > 0;b--)\/\/以B为循环变量,在1到A之间。{ for (c = b-1;c > 0;c--)\/\/以C为循环变量,在1到B之间。{ \/\/判断公式左右...

c语言中输入的问题,麻烦高手来看看
方法一:写一个循环while(1){ 用gets()函数 gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符 不属于这个字符串。其调用格式为:gets(s);其中s为字符串变量(字符串数组名或字符串指针)。输入后用IF限制你要的范围,满足则break;跳出循环,否则打印提示语句,循环重输 } 当然了...

C语言,稍微厉害一点的高手来看看
include "stdio.h"int fun(int x){ if(x==1) return 10; else return fun(x-1)+2;}int main(){ int x; scanf("%d",&x); printf("%d\\n",fun(x));}

c语言编辑好后运行就停机工作。高手来看看吧,谢谢
长整型能表示的最大数是34亿,循环的过程中s就已经装不下溢出了。最后循环结束得到的s的值为0。0不能作为除数,所以产生异常。还有,e没有初始化啊。

景泰县13842942030: 会C语言的大神们给我讲讲啊,这道题输出结果为什么是7!!!!!!!!!!!!! -
宰哪醋酸: while(x++循环结束的条件就是 x++>5,而x++是先使用x的值,然后再改变i的值加1 也就是说要 x>5 那也就是x=6的时候,然后 x的值再加1 也就是变成7了

景泰县13842942030: c语言输出三千以内含有7的整数 -
宰哪醋酸: #include int ok(int n){ while(n){ if(n%10==7)return 1; n/=10;} return 0;}int main(){ int i; for(i=1;i<=3000;i++) if(ok(i))printf("%d\n"...

景泰县13842942030: C语言,为什么最后结果是7呢..我看不出来 -
宰哪醋酸: define 是原样替换的 遇到f(x)就替换程x*x 也是说 k=f(1+2)/f(2+1)替换后为1+2*1+2/2+1*2+1=7,所以是7 不要人为加括号!

景泰县13842942030: c语言,后置自增++运算符.i=7,赋值的时候i++输出的是7....int x=0,t -
宰哪醋酸: 很正常 int x=0,temp,y=6; temp=x++&&y; 因为x的值为0,而x++是后置++,把以先取x的值,即0,然后x的值加1,x变成1 所以temp=0&&y;temp的值为0,x的值为1

景泰县13842942030: 用c语言做一个1到7的随机数,然后输出1到7相对应的汉字,比如一,二,三..求高手啊 -
宰哪醋酸: #include<stdio.h> #include<stdlib.h> int main() { int i = 0; char *str[7]={"一","二","三","四","五","六","七"}; srand(time(NULL)); i=rand() % 7 + 1; printf("%d:%s\n", i, str[i-1]); return(0); }

景泰县13842942030: C语言 为什么Z输出7而不是15? -
宰哪醋酸: 因为你在#define Z的时候少写了括号,结果导致Z展开是这样的 5+1*5/21*5/2由于是整数,所以等于2,最终Z是5+2=7 改成下面这样即可 #define Z (Y)*(X)/2

景泰县13842942030: c语言要求输入a=7,b=?输出a和b的和sum -
宰哪醋酸: 1234567 main() { inta=7,b,sum; scanf("%d",&b); sum=a+b; printf("a和b的和sm=%d\n",sum); }

景泰县13842942030: C语言高手进来看看!!!!!!!!
宰哪醋酸: 1. 40 2. 1 3. 1 0 4. 数组名 0 5. 乘或取值 取地址 6. return void 7. 0 8. 1 9. int a[3][4]; 10. 主函数 11. 10 0 12. 局部变量 全局变量 13. 自动变量(auto) 静态变量(static) 14. 顺序 选择 循环 15. 2 16. a=3,b=7 17. x%2&&x%3==0 18. 5 19. 函数头 20. ....

景泰县13842942030: C语言高手来看看,%d\t%5c\n是输出什么类型数据? -
宰哪醋酸: %d是输出整数 \t是输出tab符号%5c是输出一个字符,占5个长度(即字符左边有4个空格) \n是换行符 合起来就是: 整数+tab符号+4位空格+1个字符+换行符

景泰县13842942030: 用C语言,输入四个数,输出能整除7的数,并输出不能整除7的数的个数 -
宰哪醋酸: #include<stdio.h> int main() { int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); int x[]={a,b,c,d}; int count = 0;//计数器 for(int i=0;i<4;i++) { if(x[i]%7==0) { printf("%d\n",x[i]); }else { count++; } } printf("不能被七整除的数有%d个\n",count); return 0; }

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