本文目录一览:
- 1、c语言这题老是不对。
- 2、c语言题目铺地毯,为什么我的不对?急。
- 3、C语言,这道题我写的哪里不对?
- 4、我的这个关于c语言的题不对,帮忙看看
- 5、C语言题目,为什么我的程序不对啊
- 6、C语言的题目,我怎么做都不对,求教高手啊!!
c语言这题老是不对。
void fun(int *shu , int *t0);
这个不用定义指针,没必要,直接定义
void fun(int shu , int t0);
就可以
fun(int shu,int t0)
{
char a[100000];
int flag=0;
int i=0,j;
if(shu0)
{
shu=abs(shu);
flag=1; //flag标记shu是否为正数,正数为0负数为1
}
while(shu) //取出各个位
{
a[i]=shu%t0; //取余数
shu/=t0;
i++;
}
for(j=0;ji;j++) //转换为字符串,i就是转换的长度
if(a[i]10) //小于10的转换为0~9的ascii
a[i]+=48;
else //否则转换为A~F
a[i]+=55;
if(flag==1) //这里是看是否为负数,是负数加上一个负号,长度再加一位
{
a[i]='-';
i++;
}
a[i]='\0';
strrev(a); //两个函数就是反序和输出,要是不让用,可以写代码
puts(a); //其实很简单就可以实现,反序用for循环一半交换,输出用循环输出就可以
}
c语言题目铺地毯,为什么我的不对?急。
程序没有错。
可能的问题是:不清楚地毯铺设的最大坐标。若是超过了1999,你的程序就数组越界了。
第二,这程序的时间复杂度稍大了些。
可以把这些数据放入一个4*n的二维数组中,全部读入数据后,从n往回检查,若坐标位于一个地毯的覆盖范围之内,就结束查找,输出该数据的编号;否则全部查找失败后,仍未找到的则输出-1。
C语言,这道题我写的哪里不对?
1、scanf用错了,应该是scanf("%c",ch);
2、换行符\n的ascii是10,你写ch=255那就是死循环了
3、按题目要求做就行了,没必要去判断不在这个范围内的东西
4、c里字符和数字是可以自动转换的,不需要你去记ascii码
#includestdio.h
int main() {
char ch;
int a=0,n=0,b=0,t=0;
while((ch=getchar())!='\n') {
if(ch='0' ch='9') n++;
else if(ch='a' ch='z' || ch='A' ch='Z') a++;
else if(ch==' ') b++;
else t++;
}
printf("char:%d number:%d blank:%d other:%d",a,n,b,t);
}
我的这个关于c语言的题不对,帮忙看看
合并双链表是错误的!!!我给你理清思路,你自己去改!
你这的这条语句:r=(struct node*)malloc(sizeof(struct node *)*8);
效果是,在内存中开辟8个单元的空间,每个单元是(struct node *)类型
即:每个单元是一个指针,指向一个struct node 结构体。
而r是该开辟空间的首地址,也是第一个内存单元的指针。
所以,当你写p=La-next ; r-next = p ;的时候
就是用了错误的内存,因为 r 本身就是一个指针,其本身没有next指针
所以当它还没有指向某个结构体的时候,r - next 是不存在的东西,是野指针。
你使用 r - next的的话,事实上是不知道操作了哪个结构体的next指针的。
如果你用 r = La-next 的话是可以的,那r - next 就是La-next-next了
即指向了La表中的第二个元素。
上述是语法错误。
再则,合并表的思路也是错误的。
假如,你让 r 指向了La链表的第一个元素
OK,这是没错的。
按照你的想法,应该是继续让第二个单元的next指针指向Lb表的第一个元素.
然后依次 第三个单元指向La的第二个元素,四单元指向Lb的第二元素…………
* 但是 *重点:r = r-next 操作之后,r指向的是开辟的8空间中得第二个内存单元吗?
NO,当你使 r = La -next 之后,r-next 指向的是la-next-next了
即是La表的第二个元素,而不是第二个内存单元。
所以其实后面你写的r = r-next 操作的不是r[1],是La表。
懂了么?所以你上面的写发是达不到目的的。内存很复杂,学习需细心。
C语言题目,为什么我的程序不对啊
是学校的系统吧,看起来应该不是acm,学校最烦的一点就是输出格式的问题,或者也有可能他用多种数组来测试你这个程序,对于其他数组你的程序不匹配
C语言的题目,我怎么做都不对,求教高手啊!!
#include stdio.h
int main()
{
int score,sum=0,i=0;
double d;
while(scanf("%d",score)!=EOF)//这个EOF的用法,你可以自己查资料了解一下
{ //scanf("%d", score);
if(-1 == score){//当输入-1的时候停止
break;
}
else
{
sum+=score;
i++;
d=sum/i;
}
}
if(i==0) printf("0\n");//如果仅输入了-1,则输出0
else printf("%.1f\n", d);//得到计算的平均数的值
return 0;
}