C语言实验与习题(注释版)(14)
期末复习题集
/**/ sum++; /**/ }
printf(\ getch(); }
#include
int hcf(int,int); int a,b,k;
printf(\ b: \
scanf(\注意scanf的格式,此处输入用空格或回车隔开 k=hcf(/**/ a,b /**/); printf(\ getch(); }
辗转相除法 :1. a ÷ b,令r为所得余数(0≤r<b)若 r = 0,算法结束;b 即为答案。 2. 互换:置 a←b,b←r,并返回第一步。 int hcf(int x,int y) {
int r;
r=x%y; while( r!=0 ) { x=y;
y=/**/ r /**/; r=x%y ; }
return (/**/ y /**/); }
#include
46
C语言练习题
{
char s1[100], s2[100]; int i,len;
printf(\
gets(s1); 接收用户输入的字符到数组str内
len = strlen(s1); 算出str内存放的字符串所包含的字符个数
for(i=0; i {由下面的puts(s2)可知,要将转换后的字符串存放在s2里,故下面if else语句中执行的赋值语句应赋值给s2[i] if( s1[i] >= '1' && s1[i] <= '9') 当前字符是1~9之间的字符则将其-1 /**/ s2[i]=s1[i]-1; /**/ else if( s1[i] == '0' ) 当前字符是?0?将其转换为?9?,注意此处应给的是字符?9?而不是数字,即单引号不要忘了 /**/ s2[i]='9'; /**/ else s2[i] = s1[i]; } s2[i] =/**/ '\\0' /**/; 字符串以?\\0?做为结束标志 puts(s2); getch(); } #include void sct(char s1[],/**/ char s2[] /**/) 由main函数里的函数调用可知,此处应再设一个字符型数组 { 让p1指向数组s1,并通过while循环使其指向s1里存放的字符串末尾,然后再通过p2将字符另一个字符串的内容连接到s1的末尾 char * p1,*p2; p1=/**/ s1 /**/; 让p1指向数组s1 p2=s2; while(*p1) 通过while循环可使p1指向字符串结尾,因字符串结尾是?\\0?其值为0,故当*p1==?\\0?时即*p1==0此时就跳出while循环 p1++; while(*p2) 将字符串s2连接到s1末尾 *(p1++) = *(p2++); } void main() { char str1[60]=\ sct(/**/ str1 /**/ ,str2); 将数组做为形参,写数组名即可 47 期末复习题集 printf(\ getch(); } 3. 改错题 #include int a,b,c; /**/ float f; /**/ f为小数类型,具体下方f的输出用%f可看出为float 类型 clrscr(); printf(\ scanf(\变量a,b必须取地址,除非数组名不取地址,因数组名就是地址 f=/**/ (float)a/b; /**/ a,b均为整数,要获得结果的小数部分必须进行强制类型转换 c=(int)((f-(int)f)*10); printf(\ %d\\n\ getch(); } #include void find(/**/int m /**/)参数类型必须指出, 具体main函数中调用find函数的参数k为int类型,所以对应的参数m也是int类型 { int a1,a2; a1=m; 求m的个位 a2=m/10; 求m的十位 if(m%3==0 &&(/**/ a1==4 || a2==4 /**/))如果m能被3整除且个位或者十位是4 printf(\则输出m } void main() { int k; for(k=10;k<=99;k++)k从10到99,一一尝试 /**/ find( k ) /**/;调用函数find,函数的作用是寻找满足条件的数 getch(); } 48 C语言练习题 #include /**/ int a,tag; /**/语法错误c语言的变量区分大小写,程序中用到小写tag,此处改为小写 int num1=0,num2=0; num1和num2分别为大于个数和小于个数的计数器,程序开始归零 clrscr(); printf(\ scanf(\语法错误变量a需取地址,输入第一个数 tag=a;将第一个数放入tag中 while(a)程序以0结束,循环的条件为:只要不输入0 { scanf(\程序循环输入数字,存入a /**/ if(!a) /**/ continue;逻辑错误,程序执行的条件,a不为0 else if(a printf(\ getch(); } #include long int fsum(int n) fsum函数用于求阶乘 { long int k; if(n==1) /**/ k=1 /**/;逻辑错误,1的阶乘为1 else k=n*fsum(n-1);n的阶乘为n-1的阶乘乘以n return (/**/ k /**/);逻辑错误,运算结果在k中 } void main() { int i; long int sum; sum=0; for(i=1;i<=9;/**/ i++,i++ /**/)语法错误for语句格式不符 sum+=fsum(i); printf(\ getch(); } 49 期末复习题集 #include /**/char c1,c2; /**/ 语法错误c1,c2为字符类型,程序中用getchar()获取 clrscr(); printf(\ c2=getchar(); /**/ for(i=1;i<=7;i++) /**/语法错误for语句中间为; { c1=getchar(); a=a*2+c1-'0'; } /**/ if (c2=='1') /**/ a=(-1)*a;如果依照题意c2=='1',a是负数 printf(\ getch(); } #include int i,n; /**/ n = 0; /**/n为计数器,从0开始 for(i=10;i<=100;i++)判断10-99是否是对称数 if(i/10==i) i/10得到十位,i得到个位,若相等则是对称数 {printf(\输出对称数 n++;计数器增加1 if(/**/ n%9==0 /**/)语法错误表示相等的关系用双等号; printf(\9个数一行输出,换行 } for(i=100;i<=999;i++)判断100-999是否是对称数 if(/**/ i/100==i /**/) i/100得到百位,i得到个位,若相等则是对称数 {printf(\ n++; if(n%9==0) printf(\ } getch(); } 50
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




