简单的C问题

作者&投稿:可点 (若有异议请与网页底部的电邮联系)
简单的C/C++题目~

你的功能函数中的循环可能有点问题,而且不用那么麻烦的循环,只用一个就够了。
我帮你改了一下:
void max(char a[6])
{
int i,j;
char c;

c=a[0];
for(i=0; i<6; i++)
{
if(a[i]>c) c=a[i];
}
cout<<c;
}

你应该吧j=0加上
不过我想问一下,你的程序是对现行程序中特定的数组进行查找比较,还是输入两个数组中的元素,然后进行比较?
如果仅仅是比较你现在程序中的元素程序没有错误。但是如果是输入数值然后进行查找比较就可能要出错,比如数组A[10]={1,2,3,4,5,6,1,8,9};B[1]={1};你是应该输出1?还是输出1,1?
建议你把已经比较过的元素进行标记,不能重复计数。

一、
1)若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2)转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
3)所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4)char型和short型参与运算时,必须先转换成int型。
5)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
二、如果高于127的话,就强制运算,从而得到一个你想不到的结果!


一个简单的c语言问题,在线等啊。程序如下。
include<stdio.h> void sub(int x,int y,int &z) \/\/sub函数传入x y的值通过地址调用吧计算结果存储在地址为z的地方 { z=x-y; \/\/通过传入的x,y的值计算Z的值 } void main(void) \/\/程序入口 { int a,b,c; \/\/定义变量 sub(10,5,a); \/\/调用sub函数计算a的值 sub(...

一个简单的C程序问题
\/*判断输入是否符合要求*\/ 不需要判断,不合法的输入在返回匹配case中不做处理就行了。charshowmenu(void){ charans;puts("entermenuchoice:");puts("u)uppercasel)lowercase");puts("t)transposeedcaseo)originalcase");puts("n)nextstring");puts("pleaseenterau,l,t,o,n:");ans=tolower(...

简单的C语言问题,帮我解释一哈!!!
如果我没有看错的话,楼主给的这道题是错误的,这样写是非法的,可能是印刷错误,我想正确的程序应该是:include<stdio.h> void sub1(char a,char b){ char c;c=a;a=b;b=c;} void sub2(char*a,char b){ char c;c=*a;*a=b;b=c;} void sub3(char*a,char*b){char c;c=*a...

C语言简单问题
答案A:46是这样得到的:scanf 是输入语句,"%2d%2d%3d",&a,&b,表示按照两位整数的格式依次获取两个输入的数据,并且分别存储在变量和变量b中,所以 a=12,b=34。(这里%3d可以忽略,因为没有对应的存储变量了)printf 是输出语句,“%d",a+b,表示以整数的形式输出 a+b 的值,当然就是 12...

帮忙解决一道简单的c语言问题
>>右移操作就是把第一个操作数的二进制形式向右移动第二个操作数指定的位数,移出的位就舍去了 比如 int a=5; \/\/5二进制形式为0101 int b=a>>1; \/\/b的值是a向右移1位,变成了0010 看题,a=0112; \/\/这里0112是一个八进制表示的数,二进制形式为01001010 x=a>>3; \/\/01001010右移3位...

C语言的简单问题。\/。.,.,
分类: 电脑\/网络 >> 程序设计 >> 其他编程语言 问题描述:include "string.h"include "stdio.h"include "ctype.h"void fun(char str[]){ int i,j;for(i=0,j=0;str[i];i++)if(isalpha(str[i]))str[j++]=str[i];str[j]='\\0';} main(){ char ss[80]="It is!";fun(ss...

问一个简单的C语言问题: x < 5 && !x 是什么意思? 谢谢回答!
x<5&&!x 意思是 x要同时满足小于5和x不为非0整数(假设x整数类型) 就是只有x为0这个逻辑表达式才为真的意思 (下面有图证明 这个猜想正确)!(x>5&&x<9)就是 5<x<9 然后取反 就相当于x<=5或者x>=9

关于C语言的一个简单问题
题目写错了吧,你的思路不错,可以先排序再去头尾,取中间和求平均。但题目中n是表示数组长度,你在函数中完全没用到。其次求平均建议先算总和再除,你每次先除再累加,不能整除每次都有误差。可以改成这样:我重新看了下你代码,1、t要改成double。2、j循环初值要写i+1不是1(j对应i后一个...

关于简单的C语言程序问题
输出的结果和你预想的不一样是因为你没有理解关于参数传递的一些问题 参数的传递有两种方式 :1 。按值传递(你的程序用的都是这种方式),传递的只是当前值的一个副本(拷贝的),所有在函数中,副本的改变时不会影响原来的那个变量的(你的程序是变量 i )2。按引用传递,即按地址传递,这种参数...

C语言简单问题
指针类型是说指针定义时的类型,比如int *i定义一个Int类型的指针i,char *p定义一个char类型的指针p,定义类型主要是为了让指针移动的时候知道指针移动几个字节,比如说在VC 6.0的环境下,int指针每次++,移动4个字节,而double类型的指针每次++,移动8个字节。指针指向的类型是说指针指向可以是字符串...

西乌珠穆沁旗15144179294: 简单的C语言问题 -
熊闵酮洛: main() int a,b,c,t; scanf("%d%d%d",&a,&b,&c); /* 输入三个数 */ printf("a=%d,b=%d,c=%d",a,b,c); /* 做比较用 */ t=a;a=b;b=t; /* 现在b原来的值变成了a的值,a原来的值变成了b的值 */ t=a;a=c;c=t; /* 这时候 a的值(其实是b的原值) 变成了c的值,也就等于b 的值给了C;*/同时C的值也给a printf("%4d,%4d,%4d",a,b,c); }

西乌珠穆沁旗15144179294: C语言的简单问题.. -
熊闵酮洛: 这个其实比较简单. 你看啊x=0,y=0,c=0对吧. 那么x++的意思是先用了这个x再把它加一,也就是说用x++的时候它是等于0的. x++&&y++是先算x++的它等于0了那么后面的就不用算了.也就是说y++不用执行了,所以c也为0.所以答案为 1 0 0

西乌珠穆沁旗15144179294: 一个简单的C语言问题 -
熊闵酮洛: 我不知道是谁定义的这个函数 ack(m,n)是个分段函数 当m=0时,ack(m,n)=n+1 当n=0时,ack(m,n)=ack(m-1,1) 当m>0且n>0时,ack(m,n)=ack(m-1,ack(m,n-1)) 举一个例子 计算ack(1,1)的值,因为m>0且n>0所以调用ack(m,n)=ack(m-1,ack(m,n-1)...

西乌珠穆沁旗15144179294: 几个C语言的简单问题 -
熊闵酮洛: char c[2]="ab"; 这样赋值会使字符串ab缺少结束符'\0';这么会出现在输出时找不到结束的位置,就会一直往后找,直到找到'\0'输出结束.char d[2]="cd";这个也同样,将其改为char c[3]="ab"; char d[3]="cd";就会得到你想要的结果. 至于得到ab,cdab,这样的结果那是因为你的内存分配的问题. str[ ]={"china"}; 在非声明同时赋值外,其他时候数组赋值都要带着具体的下标,所以str[]=...;就是错误的, 而str[]数组是char(字符型)所以不能赋予字符串.

西乌珠穆沁旗15144179294: 一个简单的C问题
熊闵酮洛: void是不返回任何类型,意思是说,当你一个函数运行结束以后,会返回一个值,这个值可能是int类型、也可能是double类型,main()默认是int类型的函数.现在,在C\C++中很多人当以一个函数无需返回值的时候就用void main() 表示,这个是错误的,正确的是main foo(void),同时,你如果想有较好的移植性,我建议用int main().

西乌珠穆沁旗15144179294: 一个很简单的C语言问题 -
熊闵酮洛: 答案是2 1/2当做整型来处理的 结果为0 #include<stdio.h> main() {double x,y;x=2;y=x+1/2;printf("%f\n",y); } 执行结果为2.000000 如果y=x+1.0/2的话,则结果为2.500000

西乌珠穆沁旗15144179294: 几个简单的C语言问题,请会的帮下忙,谢了. -
熊闵酮洛: 1.#include<stdio.h> void main() { int i=0,j,a[10],n; scanf("%d",&n); while(n>0) { a[i]=n%10; n=n/10; i++; } for(j=i-1;j>=0;j--) printf("%d ",a[j]); printf("\n"); }2.#include<stdio.h> void main() { int max,min,n; scanf("%d",&n); max=n;min=n; while(n!...

西乌珠穆沁旗15144179294: 几个简单的C程序问题
熊闵酮洛: 先解答下前二题 我水平和时间有限 请多谅解 1. y=++x*++x; 中++优先级比*高 所以先把x=1换 ++x后 x=2 再++x后x=3所以y=3*3等于9 注意 在不同的编译器中 结果有时会等于6 而c标准是9 所以要看编译器了 2.其实和第一题一样 i=5 ++i后i=6 i+=++i 变成i+=6 i=12 3.的printf("%d\n",%ab); 中的%ab 应该错了 去baike.baidu.com/view/410546.htm 看看printf的用法 就这些了 其他没看懂 呵呵

西乌珠穆沁旗15144179294: 对大神来说很简单的C语言问题 -
熊闵酮洛: #include <stdio.h> int main() { int idata; int step = 0; printf("输入一个自然数\n"); scanf("%d", &idata); while(idata != 1) { printf("%d,", idata); if( idata % 2 == 0) { idata /= 2; } else { idata = idata * 3 + 1; } step++; } step++; printf("%d\nstep=%d\n", idata, step); return 0; }

西乌珠穆沁旗15144179294: 一个简单的C语言问题 -
熊闵酮洛: #include #define N 20void cmp(char *p1,char *p2,char *p3,char **p){ char *t1,*t2; p[0]=strcmp(p1,p2)>0?p1:p2; t1=p[0]==p1?p2:p1; ...

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