① c语言问题,帮忙看一个程序,看错误出在什么地方,谢谢。
#include <stdio.h>//没有注释的程序不是好程序,特别是用简单字母定义了一些变量,更需要注释
#include <string.h>//为了防止数组越界,请你测试时输入的数字少于10个
void main()
{
char str[50],*pstr;
int num[10]={0},*pn;//数组全部初始为0
// pn=num;//在定义变量之前不能执行任何操作,除非赋初值
int i,k,kn,e,e10,digit;
int c;//把数字字符转为一位整数
int nc=0;//整数个数统计,也作为num[]的下标
int flag=0;//0标记字符不是数字,1标记字符是数字
i=0;
k=0;//表示连续数字字符的位数
digit=0;
kn=0;
printf("Please input a string.\n");
gets(str);
pstr=str;
str[49]='\0';//防止越界
printf("有效字符串是: \n%s \n",str);//
while(*(pstr+i)!='\0')
{
if((*(pstr+i)) >='0' && (*(pstr+i))<='9')
{
flag=1;
c=*(pstr+i)-48;//发现数字,开始往num[nc]放值,
num[nc]=num[nc]*10+c;//每次扩大十倍再加上一个个位数
}
else
{//现在的字母不是数字
if(flag==1)//如果刚才是数字,那么说明一段连续的数字结束了,即已经取得一个整数
{
nc++;//下标后移
//在否则,就只是一般字符了,不需要处理
flag=0;//标记为非数字
}
}
i++;///////////////////不要忘记
}//最终回得到nc个整数,
if((*(pstr+i-1)) >='0' && (*(pstr+i-1))<='9')
nc++;//注意,如果字符串的最后是数字,然后是'\0';
//那么上面的nc++执行不了(因为while()),所以这里补上
printf("The string has %d numbers.\nThey are:\n",nc);
pn=num;
for(i=0;i<nc;i++)
printf("%d ",*(pn+i));
printf("\n");
}
② c语言,看错在哪里。如下。
不能2n,那是n*2
③ c语言 看我哪里错了
你3个for循环都公用同一个i来控制,
逻辑肯定是混乱的
④ c语言 帮忙看一下错在哪里了
错的原因和删除、修改都写在“/**/”里面了,注意一下缩进,不然写大程序连自己都看不懂。
#include<stdio.h>
#include<string.h>
void main()
{
float a,b,c,max,i;
loop:
printf("Please input three number:\n");
scanf("%f %f %f",&a,&b,&c);
/* while((a<0||a>9)||(b<0||b>9)||(c<0||c>9))
*/ if((a<0||a>9)||(b<0||b>9)||(c<0||c>9))/*while的条件永远成立,死循环*/
{
printf("you don't input number!!!please input again:\n");
goto loop;
}
if(a>=b&&a>=c) i=a;
else if(b>=c) i=b;
else i=c;
max=i;
/* printf("最大的数字是max=%d\n",max);
*/ printf("最大的数字是max=%f\n",max); /*max是float数据,应该用“%f”*/
goto loop;
}
⑤ C语言看看错在哪里,怎么改
把链接错误报告贴出来,如果不是语法错误就把出错情况贴出来,这么长。
p1->stu = student; 这是什么意思?p1里面有stu这个成员吗?
fscanf(fp,"%d%s%*c%d",&student.num,student.name,&student.score); 这一句之前我好像没看到结构变量student的声明?
总的来说这个程序很混乱,函数定义都写到前面,我找main函数都找半天,各个函数的工作不明确。
你写几个函数就行了
1.链表初始化函数,建立一个空链表,只有一个空的头结点就好。
2.从文件中读取数据的函数,把空链表头结点指针和两个文件名字符串传入函数,打开文件,读取数据直接加入到链表中。如果两个文件的数据是同步匹配的话,可以同步进行链表修改(我看你main函数的意思是同步匹配的)。然后关闭文件。
3.将链表输出到文件的函数,把链表头结点指针和文件名字字符串传入函数,在函数里打开文件,遍历链表,把数据按序写入。然后关闭文件。
如果两个文件不是同步匹配,就需要再写一个修改结点的函数。按找学号或者名字搜索结点再修改。
main函数里面只要定义一个空的结构指针,两个字符串常量(文件名)就够了,依次调用这几个函数就行了。
⑥ c语言,看看错在哪里
第二个for是不是应该是for(i=1; i<101; i++)。
改了之后,打印结果是1~100,就是把i打出来了,因为if(a != 0)这个条件始终不会成立。为什么呢,你做的运算是100!,即sum = 100!,而100的阶乘这个数字是非常庞大的,long已经不足以存储。
for(j=1;j<101;j++)
{
sum=sum*j;
}
这个执行完后,sum溢出了,它的值是0。所以执行下一个for的时候,a始终等于0。
⑦ c语言编译出错,怎么查找错误出在哪行
步骤:
1.打开源代码文件,在控制台里查看错误类型。
⑧ 如何查看C语言错误在哪里
#include语句不能有;号
main函数那句也不能有;号
#include<stdio.h>//;
intmain()//;
{
printf("Happynewyeartoeveryone! ");
return(0);
}
⑨ c语言错在什么地方
加上一个头文件#include <stdio.h> ,把t 初始化为1 ,写完整的话,最好,最后再加上return 0;