麻烦懂C语言的大神帮忙看下代码纠错
,k.temp;
那里的.换成, 。。。。。。。。。。。。。
自己再对应一下大括号
语法上的错误,已经处理,,,,逻辑的问题,自己慢慢调试吧 。。。。
/* 第一题 */
/* 小毛病:应为#include <...>,因为是标准头 */
#include "string.h"
#include "stdio.h"
void main() /* 1. 应该为int main() */
{
char str1[4]; /* 11. 根据程序来看,数组空间不够,应为 char str1[8]; */
char *str2="4567";
/* 下面这句有3处错误: *
* 2. char *s1 *
* 3. :改为, *
* 4. 语句末尾缺分号 */
/* 应为void StringCat(char *s1, char *s2); */
void StringCat(char s1:char * s2)
str1="123"; /* 5. 不能直接给数组赋值,应为strcpy(str1, "123"); */
StringCat(str1,str2);
printf("%s",str1);
/* 6. 此处添加return 0; */
}
/* 7. char s1改为char *s1 */
/* 8. ":"改为"," */
void StringCat(char s1:char *s2)
{
char *p1,p2; /* 9. char *p1, *p2 */
p1 = s1;
p1 += strlen(s1);
p2 = s2;
while (p2) /* 10. while (*p2) */
*p1++=*p2++;
*p1=0;
}
/* 第二题 */
/* 13. #include <stdio.h> */
long StrToNum(char * str) {
int k,result=0;
k=0;
while(str[k] != 0)
/* 1. k没有递增,造成无限循环。*
* 2. 逻辑错误:不应该加str[k] */
/* 应为 result = result * 10 + str[k++] - '0' */
result = result*10+str[k];
/* 3. 添加 return result; */
}
void main() { /* 4. int main() */
char * str; /* 5. 应为str预留数组空间, char str[100]; */
long 1; /* 6. 应为long l; */
for(i=0,i<6,i++) /* 7. 中间是分号 for(i=0; i<6; i++) */
*(str+i)="1"+i; /* 8. 单引号不是双引号 *(str+i)='1'+i; */
1=StrToNum(str); /* 9. l = StrToNum(str); */
/* 10. 格式字符串错误 *
* 11. 变量名错误 */
/* 应为 printf("%ld", l); */
printf("%d",1);
/* 12. return 0; */
}
/* 第三题 */
#include <stdio.h>
#include <malloc.h>
/* 1. 应为int **pscore,传入指针的指针 */
void GetScore(int *pscore,int num) {
/* 2. *pscore = ...... */
pscore=(int * )malloc(num*sizeof(int));
int k; /* C89标准中,这一句应该放在函数开头 */
for(k=0;k<num;k++)
scanf("%d",&pscore[k]); /* 3. 应为scanf("%d", *pscore + k); */
}
void main() { /* 4. int main() */
int *p;
int *k; /* 5. int k; */
scanf("%d",k);
GetScore(p,k); /* 6. GetScore(&p, k); */
/* 7. 下面的m未声明,在main函数开头添加int m = 0; */
while(m,k) /* 8. while (m < k) */
printf("%d
",p+m); /* 9. *(p+m)或p[m] */
/* 10. return 0; */
}
求大神帮忙!!!刚学c语言一脸懵逼,老师讲的有快,根本不会做啊
真值就是带+-号的,但计算机只能存储二进制不能存储+-号,所以+-号是在计算机里也用二进制存储的 原码就是+号用0表示,-号用1表示,真值的原码就是把+改为0,-改为1 知道了真值和原码的转换,补码和反码就简单了 正数的反码和补码都是和原码相同,也就是0111这样高位为0 的,原码和补码和反码...
有没有c语言大神帮忙。。。
12.答案为A。因为i=322,i%2即322%2,其值为0,则i%2==0为真,执行printf("###")。13.答案为B。++i为1,++i>0为真,后面的++j>0不做了(||的左侧为真,右侧不再计算),做k++后k为7。
C语言问题,跪求大神帮忙,新人一枚
我认为C就是0了,因为A&B是位运算,B=0,想与所以A&B=0,不管C为何值,B为0,所以想与B&C=0;然后&&是逻辑运算,所以C=0;if(3&1)是真的,3&1实际为11&01;相同为1,不同为0,所以3&1=1,在if语句中表示真。
c语言代码,麻烦大神帮忙,明天就要交了!!!拜托啦
c=pt[j-1];pt[j-1]=pt[j];pt[j]=c;} } } } int iscontain(char a[],int len,char c){ int i;for(i=0;i<len;i++){ if(c==a[i]){ return 1;} } return 0;} void bingji(){ int i,j,len,len1=strlen(str1),len2=strlen(str2);char* buf=(char*)calloc(le...
C语言的一道题不会做了,求大神帮一下
第一题: a=4,b=8, 所以 (b==a) 为假,假就是 0,c= (b==a); c 得 0。语句中 a,b 数值 未发生过变化,保持初始值 a=4,b=8。所以输出 a,b,c 印出: 4,8,0 第二题:输入58,a=58;a>50 的条件成立,输出a值,印58 a>40 的条件成立,输出a值,印58 a>...
C语言。没想懂,求大神指导
include? #define?1?N? int?fun(int?num) { if?(num%7==0)\/\/判断能否被7整除 { while?(num) { if(num==5)return?1;\/\/判断是否包含5 num\/=10; } } return?0; } int?main() { int?i; for?(i=1;i{ if(fun(i)) { printf("]",i); } } return?0; }。
一个c语言问题,求大神帮忙
看上面的红色方块,你里面带有 & 地址符,你 %x 输出的是内存地址,而不是数组 a 里面的值;看上面的蓝色方块,这里是变量 i ,你 %x 输出的是变量 i 的值,而不是数组 a 里面的值;如果你去掉 & 地址符,你看看运行后是什么结果,下面的红框内!!
求c语言大神帮我解答
求c语言大神帮我解答 我来答 你的回答被采纳后将获得: 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)1个回答 #热议# 已婚女性就应该承担家里大部分家务吗?听不清啊 高能答主 2018-03-28 · 把复杂的事情简单说给你听 知道顶级答主 回答量:7.7万 采纳率:90% 帮助的人:9230万 ...
C语言求大神帮忙,多谢了
int main(){ int i,a[10],n,sum=0,max,j,temp,c=0;while(c!=1){ printf("***学生成绩综合管理系统***\\n");printf("1 成绩录入\\n");printf("2 计算平均分\\n");printf("3 计算最高分\\n");printf("4 成绩排序\\n");printf("5 退出\\n");printf("***\\n");printf...
c语言编程100题,有没有大神帮帮忙
您好,c语言经典100题:【程序1】题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数 都是多少 1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去 掉不满足条件的排列.2.程序源代码:main(){ int i,j,k;printf("\\n");for(i1;i<5;i++)\/*...
曹帜骨刺:#include <stdio.h> int main() { int n,s = 0,j = 0,a[100]; scanf("%d",&n); for(int i = 1; i <= n/2; i++) { if(n % i == 0) { s += i; a[j++] = i; } } if(n == s) { printf("Yes,its factors are "); for(int i = 0; i < j; i++) { printf("%d ",a[i]); } printf("\n"); } else { printf("No\n"); } }
象州县18141134148: 麻烦各位懂C语言的人帮忙看看代码 - ?
曹帜骨刺: #include #include int main() //编译器实际上说的是这行 空有一个 int 没参...
象州县18141134148: 请C语言大神帮我看看错在哪里 这个程序无法运行,我的方法肯定麻烦,本人菜鸟 求帮!! - ?
曹帜骨刺: 我指出几个错误#include int main(){int k,m,n,i=0;scanf("%d %d %d",while(i++,i<=n)...
象州县18141134148: C语言高手帮帮忙,帮我看下哪里出错了,改正下?
曹帜骨刺: 修改后代码如下: #include <stdio.h> void main() //任何一个函数都必须要有一个类型 { int y; for(y=1900; y<=2000; y++) if((y % 4 == 0 || y % 100 != 0) && ( y % 400 == 0)) //不等号!=后面多了个= printf("%d\n",y); //少了个逗号} 运行结果如下
象州县18141134148: C语言 麻烦大大帮忙看下这两个程序哪里出错了 - ?
曹帜骨刺: #include void main()/* 由于你没有在最后返回 一个值 所以直接把返回类型设为空就行了*/{ int a,b,c,x1,x2,x3; scanf("%d%d%d...
象州县18141134148: 求助大神C语言 程序纠错?
曹帜骨刺: 少了exit的头文件,加#include <stdlib.h> int mian()少了返回值0; void readData()函数返回值为空型,不能返回0,去掉return 0; 剩下就没有语法了.
象州县18141134148: c语言程序改错,求大神帮助,急,在线等 - ?
曹帜骨刺: #include<stdio.h> void main() { char ch; ch=getchar();/**********ERROR**********/ if(ch>='0' && ch<='9')/**********ERROR**********/ printf("%d\n",ch);//ch是字符类型,你输出的类型是%d是整型,这样输出的是字符ch对应的ASCII码值,如果想输出...
象州县18141134148: C语言编程,麻烦高手帮忙改错.谢谢 - ?
曹帜骨刺: 那句 if(j%"%d"==0&&j%"%d"==0 ,a ,b) 应该改成 if(j % a == 0 && j % b == 0)这是因为 取模 % 运算要求两边是 int 整型,但是你却把 "%d" 给放上去了.因为 "%d" 是一个3个字符的字符串,所以类型为 const char[3],这样就会出现 “invalid operands of types `int' and `const char[3]' to binary `operator%'” 这个错误了.小力庭 2013-4-20 欢迎到我微博上切磋交流 weibo.com/litingsoft
象州县18141134148: C程序问题, 麻烦懂的人帮忙看下哪里错了??
曹帜骨刺:#include<stdio.h> #include<stdlib.h> #include<string.h> struct student { int num; char name[10]; int score[3]; float ave; }a[3],temp; void main() { FILE *p; p=fopen("stu.txt","rt"); int i,j; for(i=0;i<3;i++) { fscanf(p, "%d %s %d %d %d %f", &a[i].num...
象州县18141134148: c程序纠错...... - ?
曹帜骨刺: 输出格式有错误 你把return 0; 的前一句 改成这样就对了 printf("%d,%c\n",m,ch); 你这里还有一个地方不严密 就是不能显示多次出现字符的所有位置,如果需要帮忙在找我 望采纳~~