C语言基本练习题.docx
- 文档编号:18453305
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:14
- 大小:16.87KB
C语言基本练习题.docx
《C语言基本练习题.docx》由会员分享,可在线阅读,更多相关《C语言基本练习题.docx(14页珍藏版)》请在冰点文库上搜索。
C语言基本练习题
1.某城市出租车收费标准如下:
起步里程是3公里,起步费是10元;超出起步里程后每公里1.5元。
编写程序,输入行驶里程(公里),计算并输出乘客应支付的车费(元)。
#include
intmain()
{
doublen;
scanf("%lf",&n);
if(n<=3)
{
printf("%d\n",10);
}
else
{
printf("%.2f\n",1.0*(10+(n-3)*1.5));
}
return0;
}
2.某城市月用水量收费标准如下:
每月使用吨数小于等于15吨的,每吨收费2.5元;每月使用吨数超过15吨的,采用分段计费:
超过部分每吨3元。
编写程序,输入使用吨数,计算并输出用户水费(元)。
#include
intmain()
{
doublen,x;
scanf("%lf",&n);
if(n<=15)
{x=n*2.5;
}
else
{
x=15*2.5+(n-15)*3.0;
}
printf("%.2f\n",x);
return0;
}
3.求解简单表达式。
输入一个形式如:
"操作数运算符操作数"的四则运算表达式,输出运算结果,要求使用switch语句(if语句)编写。
#include
#include
intmain()
{
doubles1,s2;
charop;
scanf("%lf%c%lf",&s1,&op,&s2);
switch(op)
{case'+':
printf("%.2f\n",s1+s2);break;
case'-':
printf("%.2f\n",s1-s2);break;
case'*':
printf("%.2f\n",s1*s2);break;
case'/':
if(fabs(s2) printf("Wronginput! \n"); else printf("%.2f",s1/s2); break; default: printf("Wronginput! \n"); } return0; } 4.用一张100元纸票换1元,2元和5元的纸票(至少各一张),问有哪几种换法? 各几张? #include intmain() { inti,j,z; for(i=1;i<=93;i++) { for(j=1;j<=47;j++) { for(z=1;z<20;z++) { if(i+2*j+5*z==100) printf("%d%d%d\n",i,j,z); } } } return0; } 5.一个球从100米高度自由落下,每次落地后反跳回原高度的一半,然后再落下再反弹。 求它在第10次落地时,共经过多少米? 第10次反弹多高? #include intmain(void) { intn; doublesn=100.0,hn=sn/2; for(n=2;n<11;n++) { sn=sn+2*hn; hn=hn/2; } printf("%.4f%.4f\n",sn,hn); return0; } 6.程序功能: 用户输入两个整数,求出这两个整数之间的偶数的和;要求使用main函数和用户自定义函数,其中,自定义函数的功能: 接收main函数传递过来的参数,计算并返回给main函数。 #include ints(inta,intb); intmain() { inta,b; scanf("%d%d",&a,&b); printf("%d\n",s(a,b)); return0; } ints(inta,intb) { intsum=0,i; for(i=a;i<=b;i++) { if(i%2==0) sum=sum+i; } returnsum; } 7.程序功能: 用户输入三个整数,求出这三个整数之间最大值并输出;要求使用main函数和用户自定义函数,其中,自定义函数的功能: 接收main函数传递过来的参数,计算出最大值并返回给main函数。 #include ints(inta,intb); intmain() { inta,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d\n",s(s(a,b),c)); return0; } ints(inta,intb) { if(a>b) returna; else returnb; } 8.程序功能: 用户输入一个整数,求出这个整数中含有6的个数并输出,要求使用main函数和用户自定义函数,其中,自定义函数的功能: 接收main函数传递过来的参数,统计出结果并返回给main函数。 #include intsearch_six(intnum,intc); intmain() { intn,count=0; intc=0; scanf("%d",&n); c=search_six(n,count); printf("%d\n",c); return0; } intsearch_six(intnum,intc) { inti,temp; for(i=0;;i++) { temp=num%10; num=num/10; if(temp==6) c++; if(num==0) break; } returnc; } 9.程序功能: 用户输入长和宽两个数,求出长方形的面积,要求使用main函数和用户自定义函数,其中,用户自定义函数接受main函数传递过来的两个参数,求面积并返回之。 #include doubles(doublea,doubleb); intmain() { doublea,b; scanf("%lf%lf",&a,&b); printf("%.2f\n",s(a,b)); return0; } doubles(doublea,doubleb) { doubles; s=a*b; returns; } 10.程序功能: 用户输入一个字符串,求出该字符串的长度。 (不能使用系统定义的函数strlen) #include intmain() { inti=0; charch; while(ch=getchar(),ch! ='\n') { i++; } printf("%d\n",i); return0; } 11.程序功能: 用户输入一个字符串,求出该字符串中“X”字符的个数。 #include intmain() { inti=0; charch; while(ch=getchar(),ch! ='\n') { if(ch=='X') i++; } printf("%d\n",i); return0; } 12.程序功能: 用户输入一个字符串,将该串中大写字母变为小写字母,小写字母不变,并输出结果。 #include intmain() { charch; while(ch=getchar(),ch! ='\n') { if(ch>='A'&&ch<='Z') { ch=ch+32; printf("%c",ch); } else printf("%c",ch); } printf("\n"); return0; } 13.在数组中查找指定元素。 请编写函数search(intb[],intn,intx),其功能是在一个大小为n的数组a中查找x,如果找到则返回所在数组的下标,否则返回-1。 主函数根据返回值,分别输出位置信息或输出“找不到”。 #include intsearch(intlist[],intn,intx); intmain() { intlist[100],i,x,n; scanf("%d",&n); for(i=0;i { scanf("%d",&list[i]); } scanf("%d",&x); i=search(list,n,x); if(i>=0) printf("%d\n",i); else printf("Notfound\n"); return0; } intsearch(intlist[],intn,intx) { inti; for(i=0;i<10;i++) { if(list[i]==x) returni; } return-1; } 14.在主函数中输入一个字符,再输入一个以回车结束的字符串(少于80个字符),调用函数search()查找该字符在字符串中所对应的最大下标(下标从0开始);若没找到则输出“NotFound! ”。 函数原型: intsearch(char*s,charx)。 #include #include intsearch(char*s,charx); intmain() { chars[100]; charm; intn; gets(s); scanf("%c",&m); n=search(s,m); if(n>=0) printf("%d\n",n); else printf("NotFound! \n"); return0; } intsearch(char*s,charx) { inti; for(i=strlen(s)-1;;i--) { if(s[i]==x) returni; } return-1; } 15.定义包含学号(int)、姓名(name[10])、成绩(float)的学生结构类型(structStudType),学生基本信息可通过结构数组初始化的方法输入。 编写函数intsearch(structStudTypestu[],intn,char*name),实现通过学生姓名查询功能,在主函数调用并输出学生信息,若没找到输出"NotFound! "。 #include #include structStudType{ intnum; charname[10]; floatwage; }; intsearch(structStudTypestu[],intn,char*name); intmain() { intn,i,k; charnum2[100]; structStudTypestu[3]={ {201101,"qw",80},{201102,"we",85},{201103,"er",90} }; scanf("%d",&n); for(i=0;i { scanf("%s",&num2); k=search(stu,n,num2); if(k==3) { printf("NotFound\n"); } else printf("%d%s%.1f\n",stu[k].num,stu[k].name,stu[k].wage); } return0; } intsearch(structStudTypestu[],intn,char*name) { inti,j; for(i=0;i<3;i++) { if(strcmp(stu[i].name,name)==0) returni; } return3; } 16.编写函数voidstrcopy(char*s,char*t),实现将字符串t复制至字符串s中(不能使用系统函数strcpy)。 在主函数中调用该函数并输出字符串s。 #include voidstrcopy(char*s,char*t); intmain() { chars[100],c[100]; gets(s); strcopy(s,c); puts(c); return0; } voidstrcopy(char*s,char*t) { inti=0; for(i=0;s[i]! ='\0';i++) { t[i]=s[i]; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基本 练习题