C语言练习考研复习题Word文档下载推荐.docx
- 文档编号:13888771
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:27
- 大小:124.74KB
C语言练习考研复习题Word文档下载推荐.docx
《C语言练习考研复习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言练习考研复习题Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
printf("
输入错误!
exit(0);
}
//将num和2进行取余运算,存储在数组中
inta[20],i=0;
while(num!
=0)
a[i]=num%2;
num=num/2;
i++;
//遍历输出数组
while(i>
a[--i]);
\n"
return0;
}
2.请写出你所了解的linux系统中常用的命令并解释其功能。
(1)pwd命令
该命令的英文解释为printworkingdirectory(打印工作目录)。
输入pwd命令,Linux会输出当前目录。
(2)cd命令
cd命令用来改变所在目录。
cd/转到根目录中
cd~转到/home/user用户目录下
cd/usr转到根目录下的usr目录中-------------绝对路径
cdtest转到当前目录下的test子目录中-------相对路径
(3)ls命令
ls命令用来查看目录的容。
选项含义-a列举目录中的全部文件,包括隐藏文件-l列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是等-f列举的文件显示文件类型-r逆向,从后向前地列举目录中容-R递归,该选项递归地列举当前目录下所有子目录的容-s大小,按文件大小排序-h以人类可读的方式显示文件的大小,如用K、M、G作单位ls-lexamples.doc列举文件examples.doc的所有信息
(4)cat命令
cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的容。
catsnow.txt该命令显示文件snow.txt的容,ctrl+D退出cat。
(5)grep命令
grep命令的最大功能是在一堆文件中查找一个特定的字符串。
grepmoneytest.txt
以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。
(6)touch命令
touch命令用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据。
touchnewfile该命令创建一个名为newfile的空白文件。
(7)cp命令
cp命令用来拷贝文件,要复制文件,输入命令:
cp<
sourcefilename>
<
targetfilename>
cpt.txtDocument/t该命令将把文件t.txt复制到Document目录下,并命名为t。
3.编写一个程序计算任一输入数字的各位数字之和。
intresult=0;
result+=num%10;
num=num/10;
%d\n"
result);
4.编写一个程序判断用户输入任一正整数是否为素数。
请输入一个大于1正整数:
0||num==1)
if(num==2)
%d是素数。
num);
boolflag=true;
//默认判断是素数
for(inti=2;
i<
num;
i++)
if(num%i==0)
{
flag=false;
//发现了其他因子,不是素数
break;
}
if(flag==true)
else
%d不是素数。
5.编写一个程序求给定三个字符串的最长公共字串。
(难)
这里我只写了两个字符串的比较方法,三个字符串的意思是一样的。
string.h>
intlongest_common_substring(char*str1,char*str2)
inti,k,len1,len2,len,s1_start,s2_start,idx,curmax,max;
len1=strlen(str1);
len2=strlen(str2);
len=len1+len2;
max=0;
for(i=0;
len;
s1_start=s2_start=0;
if(i<
len1)
s1_start=len1-i;
//每次开始匹配的起始位置
}
else
s2_start=i-len1;
curmax=0;
for(idx=0;
(s1_start+idx<
len1)&
&
(s2_start+idx<
len2);
idx++)
if(str1[s1_start+idx]==str2[s2_start+idx])
{
curmax++;
}
else//只要有一个不相等,就说明相等的公共字符断了,不连续了,
//要保存curmax与max中的最大值,并将curmax重置为0
//max=curmax>
max?
curmax:
max;
if(curmax>
max)
{
max=curmax;
k=s1_start+idx-1;
//保存连续子串长度增加时连续子串最后一个字符在str1字符串中的下标位置,
//便于输出公共连续子串
}
curmax=0;
//max=curmax>
if(curmax>
max=curmax;
k=s1_start+idx-1;
//输出公共子串
chars[100];
s[i]=str1[k-max+1+i];
//公共字串在str1中的下标起始位置为k-max+1,结束位置为k
}
s[i]='
\0'
;
最长公共子串为:
puts(s);
returnmax;
intmain(void)
charstr1[100],str2[100];
请输入第一个字符串:
gets(str1);
请输入第二个字符串:
gets(str2);
intlen=longest_common_substring(str1,str2);
最长公共连续子串的长度为:
len);
6.编写一个程序计算用户输入的起始时间到终止时间的天数。
boolisLeapYear(intyear);
intCalcDay(intyerar1,intmonth1,intday1,intyear2,intmonth2,intday2);
intleapMonth[12]={31,29,31,30,31,30,31,31,30,31,30,31};
intnormalMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
intyear1,year2,month1,month2,day1,day2;
请输入第一个日期(年月日):
%d%d%d"
year1,&
month1,&
day1);
请输入第二个日期(年月日):
year2,&
month2,&
day2);
intsum=CalcDay(year1,month1,day1,year2,month2,day2);
sum);
//判断是否为闰年
boolisLeapYear(intyear)
if(year%4==0&
year%100!
=0||year%400==0)
returntrue;
returnfalse;
intCalcDay(intyerar1,intmonth1,intday1,intyear2,intmonth2,intday2)
intresult=0;
if(yerar1!
=year2)
for(inti=yerar1+1;
year2;
i++)//计算相差的整年
if(isLeapYear(i))
result+=366;
else
result+=365;
if(isLeapYear(yerar1))
for(inti=month1+1;
=12;
result+=leapMonth[i-1];
result+=leapMonth[month1-1]-day1;
if(isLeapYear(yerar1)==false)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习 考研 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)