谁能帮我解决下面的C语言问题啊,最好能说明解析过程。
a是二维数组名,b是一维数名,p上指向int的指针,q是指向(指向int的指针)的指针。
*q+1 = *a+1 = a[0]+1 = &a[0][0]+1 = &a[0][1]
*(q+1) = *(a+1) = a[1] = &a[1][0]
*(*q+1)+1 = *(*a+1)+1 = *(&a[0][1])+1 = a[0][1]+1 = 3+1 = 4
*((*q+1)+1) = *((*a+1)+1) = *(&a[0][1]+1) = *(&a[0][2]) =a[0][2] =5
*a[1] = a[1][0] = 9
*(a[1]+1) = *(&a[1][0]+1) = *(&a[1][1]) = a[1][1] = 11
*(p[1]+1) = *(b[1]+1) = *(3+1) = *4 错误
*p+2 = *b+2 = b[2] = 5
*p[1] = *b[1] = *3 错误
*b[2] = *5 错误
**q = **a = *a[0] = a[0][0] = 1
*p+5 = *b +5 = b[0] +5 = 1+5 =6
#include
void main()
{
char ch;
int sum1=0,sum2=0,sum3=0;
while((ch=getchar())!='
')
{
if(ch>='A'&&ch<='z') //是大写A到小写z
sum1++;
else if('0'<=ch&&ch<='9')
sum2++;
else sum3++;
}
printf("字母数:%d,数字数:%d,其他字符数:%d",sum1,sum2,sum3);
}
解析:执行switch(a%3),由于a%3=0,满足case 0,因此执行其后语句m++,接着执行break语句,由于break语句有跳出switch语句的功能,因此在此处跳出switch语句,执行printf语句,m自加过一次,故输出结果:1;
2、结果:**0****2**
解析:道理同第1题,执行switch(a),满足条件进入switch(b),接着满足条件执行case 0后语句,break跳出switch(b),由于跳出后没有语句break,因此接着执行switch(a)。记住一点:break语句只能跳出一个switch;
3、至于这题,估计是你输错了,如果题目真这样,就是题目错了。编译都不可能通过,在程序中变量x,y都没定义过;
4、结果:0
解析:此题主要就是个运算符优先级的问题,C中运算优先级从高到低是这样的:
非(!)——算术运算符——关系运算符——与和或——赋值运算符
1、1
2、 * * 0 * ** * 2 * *
3、where is x and y?
4、0
第一题. 答案 1.
第二题 * * 0 * ** * 2 * *
第三题 输出的 x ,y 不知道是什么;
第四题 答案 0
(1)
#include <stdio.h>//头文件
int f(int n)//定义函数f,有一个参数n,为整型
{ int i,c,v;
if(n==1)//如果n等于1,输出1,函数返回值为1
v=n/2;//v等于n除以2,取整
printf("%d ",v);//输出v
c=f(n-v);//调用函数f,递归调用!
return(c+1);返回 c+1
}
数学上的公式就是:
当n为偶数时:f(n)=f(n-n/2)+1
当n为奇数时,f(n)=f(n-(n-1)/2)+1
当n=1时,f(n)=1
main()
(2)#include <stdio.h>
int f(int d[],int n,int i)
{ int j,c;
for(c=j=0;j<n;++j){
if(j==i)continue; //如果j等于i,不需要比较,d[i]肯定能被d[j]整除,直接跳出本次循环,继续判断下一次循环条件是否满足。
if(d[i]%d[j]==0)//如果d[i]能被d[j]整除,c自增1
++c;
}
return(c);//返回c的值,为数组a中能被a[i]整除的元素的个数。
}
main()
; int i;
for(i=0;i<6;++i)printf("%d\n",f(a,6,i));//f(a,6,i)输出能被a[i]整除的元素个数(不包括自身)
}
谁能帮我解释一下这道c语言题目啊 不懂
③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。⑤c格式:输出一个字符。⑥s格式:用来输出一个串。有几中用法 s:...
谁能帮我分析一下C语言的这个程序
include<stdio.h> int main (){ int a[4];int i;for(i=0;i<4;i++)a[i]=i;for(i=0;i<4;i++)printf("%d ",a[i]);} 返回值,举个例子:就是编的每一个程序都可以看成一个函数,就是有输入,有输出,这个输出就是返回值的一种。格式是return +结果 C语言中的函数有两种...
又有不懂的C语言题目了,没有办法要考试了,帮帮我啊,各位大侠!
参照上述函数原型,就可以得到A是对的。其他错的。18. C 因为在循环条件中,首先定义i=1,但是在循环体中并没有对i进行操 作,那么i就一直保持不变=1,而只要i<3那么就进入循环,所以进入 循环的条件一直都是为真,所以就一直循环,变成死循环,无法进入p rintf那条语句了。20. B int *p,a=...
C语言程序:高手们,帮我看个题
include<stdio.h> int main()\/\/这里不需要分号 正确的程序如下:{ int power(int x,int n); \/\/声明要调用的函数。int x,n,s; \/\/如果是相同类型的变量,使用逗号分隔,最后才是分号 scanf("%d%d",&x,&n); \/\/需要输入啊,或者赋值啊 s=power(x,n); \/\/每个语句后面用分号结...
C语言的高手请进!!帮我解答几道题!!!跪求答案!!!如果好另外加积分...
我用VS2008编写,要在VC6.0上运行删除头文件#include"stdafx.h"第一个 include "stdafx.h"include<stdio.h> int main(){ int a,b,c;scanf("%d%d%d",&a,&b,&c);int min=a;if(min>b)min=b;if(min>c)min=c;printf("%d",min);} 第二个自己努力 第三个 \/\/ sy2-1.cpp : ...
c语言,谁能帮我解释一下这个例题
1L表示long型的数字1 0L(不是字母O)表示long型的数字0 如果不写后面的L, 1就会被认为是int型的, 他会做一个隐式的类型转换
请帮我解决下面的JAVA代码,b^c这种是什么意思?
异或运算符(^)参加运算的两个数据,按二进制位进行“异或”运算。运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。10的二进制为:1010;15的二进制位:1111;5 的二进制为:0101;所以c...
C语言题目不懂啊,谁能帮我解释
③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。⑤c格式:输出一个字符。⑥s格式:用来输出一个串。有几中用法 s:...
谁能帮我说下C语言中的堆栈
我对于C#不是很熟悉,而且我也是从事C开发的,对于面向对象语言应用不是很熟.在这只能给出C++的代码.代码有点长,不知道你能不能看的懂,才写的.include <iostream.h> include <stdlib.h> include <malloc.h> include <string.h> include include <stdio.h> include <assert.h> \/ \/\/基于数组的...
谁能帮我注释一下这段程序(C)
这属于C++的范畴,虽然我C++学得也是半斤八两,但是这段代码我还是基本上过得去。我假设你是有一定的C编程基础,所以就只回答你空间描述的不懂的地方了,每句都翻译枯燥而且也会感觉不知所云。还有什么不懂的,欢迎提问,我有足够的耐性和信心让你搞明白,呵呵^!^ C++中主要是比C多了面向对象的...
邹点抑肽: /*TC2编译通过*/ #include#includeint main() { int y,n,i,j; char ch; clrscr(); scanf("%d",&n); y=wherey(); for(ch='A',i=0;ifor(j=0;j{ gotoxy(j+1,y+i-j); printf("%c",ch++); } getch(); }
鼎湖区15252318132: 帮忙解决以下c语言的问题??
邹点抑肽: 递归求阶乘的问题,如果我没有猜错的话,你应该要得是这个结果. #include "stdio.h" void main() { long fac(int x); int n; long f=0; printf("enter n="); scanf("%d",&n); f=fac(n); printf("%d!=%10ld\n",n,f); } long fac(int x) { long y; if(x==1||x==0) y=1; else y=x*fac(x-1); return y; }
鼎湖区15252318132: C语言新手,请看下面的题,帮我解决下. - ?
邹点抑肽: 自然对数e=1+1/1!+1/2!+1/3!+...+1/n!,你这儿应该是少加了一个1哦#include "stdio.h"double fact(int n) //fact函数求n的阶乘值作为...
鼎湖区15252318132: 哪位C语言高手替我解决下面这个问题,重赏,写上解释! - ?
邹点抑肽: ain() { int i,j,p,q,s,a[10]; printf("\n input 10 number :\n"); for (i=0;i scanf("%d",&a[i]);//输入十个数 for (i=0;i { p=i;q=a[i]; for (j=i+1;j if (q if (i!=p)//说明找到个最大值 printf("%d,",a[i]); } getch(); } 老大你这个明显是从大到小排列
鼎湖区15252318132: 谁能帮我做做以下这道C语言编程题啊???谢谢 - ?
邹点抑肽: 太简单了,你真的什么都不会么...#include <stdio.h>#include <stdlib.h> float test( float r, float h ); int main( void ) { float h; float r; float v; printf( "请输入高:" ); scanf( "%f", &h ); printf( "\n请输入半径:" ); scanf( "%f", &r ); v = test...
鼎湖区15252318132: 谁能帮我解决c语言问题!?
邹点抑肽: main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max<b) max=b; if(max<c) max=c; printf("%d",max); }
鼎湖区15252318132: 哪位高手帮我解释一下下面的c语言程序问题; - ?
邹点抑肽: time_t是一个类型.就像int也是一个类型一样. 取地址符是为了...
鼎湖区15252318132: 急急!!!!各位帮我解答下面的C语言的问题.?
邹点抑肽: 这是统计一行英文的单词个数的程序.从if开始满足char为' '时来进行计数. 其实else if(word==0)中的word==0是由上一条语句word=0得来的,也就是当满足word=0后,再把word置为1,然后让num自加
鼎湖区15252318132: C语言问题,帮我解决一下?
邹点抑肽: 1: #include "stdio.h" void main() { int a; for(a=1;a<=100;a++){ printf("%d\t",a); } }
鼎湖区15252318132: 帮忙解决一下以下几道C语言问题,谢谢>.<?
邹点抑肽: 1. v=(4.0/3)*3.14*3.14*3.14 R=1.0/(1.0/R1+1.0/R2) y=G*M1*M2/R2 sin(x)/x+fabs(cos(3.14*x/2)) a>0&&a<10 2.如果两个是分开来计算的话结果为 (1)a=5,b=16 (2)a=5,b=10 3. #include"stdio.h" void main() { int a,b; scanf("%d%d",&a,&b); printf("%d,%d,%d,%d",a<b,a>b,a==b,a!b); //上面输出的会是0和1,如果是1表示真,0则表示假 }