当前位置:首页 > 资格考试 > 正文

求解c程序注释,请各位帮忙写下面照片里代码的每句注释,谢谢!

求大神将下面的C语言程序每一行都注释一下,很急谢谢啦!

#include
#include

intmain()
{
voidinverse(charstr[]);//inverse()函数声明
charstr[100];
printf("inputstring:");
scanf("%s",str);//输入字符串
inverse(str);//用inverse对字符串进行处理
printf("inversestring:%s\n",str);
return0;
}

voidinverse(charstr[])//对字符串进行翻转
{
chart;
inti,j;
for(i=0,j=strlen(str);
i<(strlen(str)/2);//i从0到字符串长度的中间
i++,j--//i、j分别向中靠拢
)
{
t=str[i];
str[i]=str[j-1];//这3个语句是用来交换字符串
str[j-1]=t;
}
}
/*
原理(举例说明):
例如:字符串“123456”变成“654321”
1和6对调,2和5对调,3和4对调

请大神帮我为这C程序添加注释来解释一下每一句代码的意思好吗?

这个程序应该就是就算24点吧,已经注释了,望采纳
#include
doublefun(doublea,doubleb,intc)
{switch(c)//根据变量c做以下选择
{case0:return(a+b);//若果c为0,则计算a+b的值作为函数的返回值
case1:return(a-b);//若果c为1,则计算a-b的值作为函数的返回值
case2:return(a*b);//若果c为2,则计算a*b的值作为函数的返回值
case3:return(a/b);//若果c为3,则计算a/b的值作为函数的返回值
}
return0;
}
voidmain()
{inti,j,k,l,n,m,r,flg=1,save[4],num[4],q=0;
doubletem1,tem2,tem3;
charsign[5]="+-*/";//定义一个符号数组,保存+,-,*,/
printf("请输入四个数:");//输入提示
for(i=0;i<4;i++)
{ scanf("%d",num+i);//输入数据到num[i]单元
save[i]=num[i];//将num[i]单元的值赋给save[i]
if(save[i]>13)flg=0;//若save[i]>13,则flg=0,表示若输入的数超过13则无效
}
printf("计算结果为:\n");
if(flg)//若flg为1
{
flg=0;//将flg置为0
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(j!=i)//若j不等于i
{
for(k=0;k<4;k++)
if(k!=i&&k!=j)//若k不等于i且k不等于j
{for(l=0;l<4;l++)
if(l!=i&&l!=j&&l!=k)//若l不等于i且l不等于j且l不等于k
{for(n=0;n<4;n++)
for(m=0;m<4;m++)
for(r=0;r<4;r++)
{tem1=fun(num[i],num[j],n);//计算num[i]和num[j]的n运算,计算结果赋给tem1
tem2=fun(tem1,num[k],m);//计算tem1和num[k]的m运算,计算结果赋给tem2
tem3=fun(tem2,num[l],r);//计算tem2和num[l]的r运算,计算结果赋给tem3
if(tem3==24.0)//若tem为24,则按照计算顺序输出计算的公式,q=1
{printf("{(%d%c%d)%c%d}%c%d=24\n",save[i],sign[n],save[j],sign[m],save[k],sign[r],save[l]);q=1;}
elseif(tem3==-24.0)//否则若tem3=-24
{if(sign[m]=='-')//若tem3=-24且sign[m]为"-"号,则将第2步减法运算的减数和被减数对调一下位置,然后输出计算的公式,令q=2
{printf("{%d%c(%d%c%d)}%c%d=24\n",save[k],sign[m],save[i],sign[n],save[j],sign[r],save[l]);q=2;}}
elseif(tem3==1.0/24.0)//否则若tem3=1/24
{if(sign[r]=='/')//若tem3=1/24且sign[r]为"/"号,在将第3步除法运算的除数和被除数对调一下位置,然后输出计算的公式,令q=3
{printf("%d%c{(%d%c%d)%c%d}=24\n",save[l],sign[r],save[i],sign[n],save[j],sign[m],save[k]);q=3;}}
elseif(tem3==-1.0/24.0)////否则若tem3=-1/24
{if(sign[m]=='-'&&sign[r]=='/')//若tem3=-1/24且sign[m]为"-"号且sign[r]为"/"号,则先将第3步除法运算的除数和被除数对调一下位置,再将第2步减法运算的减数和被减数对调一下位置,令q=4
{printf("%d%c{%d%c(%d%c%d)}=24\n",save[l],sign[r],save[k],sign[m],save[i],sign[n],save[j]);q=4;}}
else//若tem不满足上述情况(24,-24,1/24,-1/24),则
{tem1=fun(num[i],num[j],n);//先计算num[i]和num[j]的n运算结果tem1
tem2=fun(num[k],num[l],r);//计算num[k]和num[l]的r运算结果tem2
tem3=fun(tem1,tem2,m);//将前面两个运算结果做m运算得到tem3
if(tem3==24.0)//若tem3等于24,按照计算顺序输出计算的公式,令q=5
{printf("(%d%c%d)%c(%d%c%d)=24\n",save[i],sign[n],save[j],sign[m],save[k],sign[r],save[l]);q=5;}
}
}
}
}
}
}
if(q==0)printf("没有答案\n");//若q为0,则表示用num数组中的4个数,无法得到24
}

求C语言大神帮我注释,越详细越好,就是说明每一句代码的意思,顺便求一段400字总结

大哥 你这个实在太多了,我给你注释了一下,总结你自己写一下吧。 这个程序大概的意思就是手动输入20个数字,然后分别筛选出奇数和偶数存入两个数组,分别对这两个数组里的元素进行排序,存入到文件a,b,然后再从文件a,b中把文件读取出来吗,再进行降序排序,输出到屏幕。 就说这么多了,你理解一下,有啥不懂得可以追问。 #include "stdio.h" #include "stdlib.h" #include "ctype.h" void inputdata(int d[],int num); void Sort(int d[],int num,int m); void sw(int *a,int

C程序问题,请帮忙注释。记得每句都注释 程序如下:

这是一个简单的冒泡排序程序sort为子函数。 #include //头文件包含C的基本输入输出库 void main () //主函数 { void sort (int array[] , int n) ; //声明函数sort int a[10] , i; //声明变量i和数组a printf ("enter the array \n") ; //打印字符:请输入数组 for (i=0;i<10;i++) scanf ("%d",&a[i]); //将输入的数赋值给a数组 sort (a,10) ; //调用函数sort进行排序 printf ("the sorted a

C语言程序求注释。我不懂C语言,程序是请人写的,求各位高手注释并让我知道每一句的作用,万分感谢 内详

我运行了一下,你的程序就是按enter键之后又三十秒的等待时间三十秒之后。时间用完了就问你是否继续

#include

#include

#include

intmain()

{charch=0;

intcount=0;

constintcstep=30;

clock_tt,t2;//定义变量

constintstep=1000/60;//constc语言的关键字不允许被变量被改变

printf("pressEntertocontinue,ESCtoexit...\n");//输出这些字

while(ch!=27)//做出判断ch是否等于27

{

if((ch=_getch())!='\r')continue;

t=t2=clock();

count=cstep;

while(1)

{if(t

{t+=step;//t=t+step;

printf("\r%-2d",count);//输出的那些数字

if(!count)

{count--;//使用之后count减少一

t=clock()+step;

}

}else

{if(count==0)

{t=0;

continue;//继续执行

}

if(count<0)

{printf("timeout,entertocontinue...\n");//当count等于0时就输出这些字

ch=0;

break;//中断

}

if(_kbhit())//检查当前是否有键盘输入,若有则返回一个非0值,否则返回0

{ch=_getch();

if(ch>='1'&&ch<='8')//当字符在1到8内时执行下面语句

{printf("press%c,entertocontinue...\n",ch);

ch=0;

break;

}

if(ch==27)break;//ch等于27就跳出循环

}

count=cstep-(clock()-t2)/1000;

}

}

}

printf("\nexit...\n");

return0;

}

展开全文阅读

上一篇
用c语言编写程序

下一篇
返回列表