《最新C语言基本练习题.doc》由会员分享,可在线阅读,更多相关《最新C语言基本练习题.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料C语言基本练习题.1.某城市出租车收费标准如下:起步里程是3公里,起步费是10元;超出起步里程后每公里1.5元。编写程序,输入行驶里程(公里),计算并输出乘客应支付的车费(元)。#include int main() double n; scanf(%lf,&n); if(n=3)printf(%dn,10);elseprintf(%.2fn,1.0*(10+(n-3)*1.5); return 0;2.某城市月用水量收费标准如下:每月使用吨数小于等于15吨的,每吨收费2.5元;每月使用吨数超过15吨的,采用分段计费:超过部分每吨3元。编写程序,输入使用吨数,计算并输出用户水费(元)。
2、#include int main() double n,x; scanf(%lf,&n); if(n=15)x=n*2.5;else x=15*2.5+(n-15)*3.0;printf(%.2fn,x); return 0;3.求解简单表达式。输入一个形式如:操作数 运算符 操作数的四则运算表达式,输出运算结果,要求使用switch 语句(if语句)编写。#include#includeint main()double s1,s2;char op;scanf(%lf %c %lf,&s1,&op,&s2);switch(op)case +:printf(%.2fn,s1+s2);break
3、; case -:printf(%.2fn,s1-s2);break; case *:printf(%.2fn,s1*s2);break; case /: if(fabs(s2)pow(10,-10) printf(Wrong input!n); else printf(%.2f,s1/s2); break; default:printf(Wrong input!n);return 0;4.用一张100元纸票换1元,2元和5元的纸票(至少各一张),问有哪几种换法?各几张?#includeint main()int i,j,z;for(i=1;i=93;i+)for(j=1;j=47;j+)fo
4、r(z=1;z20;z+)if(i+2*j+5*z=100)printf(%d %d %dn,i,j,z);return 0;5.一个球从100米高度自由落下,每次落地后反跳回原高度的一半,然后再落下再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?#includeint main(void)int n;double sn=100.0,hn=sn/2;for(n=2;n11;n+)sn=sn+2*hn;hn=hn/2;printf(%.4f %.4fn,sn,hn);return 0;6.程序功能:用户输入两个整数,求出这两个整数之间的偶数的和;要求使用main函数和用户自定义函数
5、,其中,自定义函数的功能:接收main函数传递过来的参数,计算并返回给main函数。#includeint s(int a,int b);int main()int a,b;scanf(%d %d,&a,&b);printf(%dn,s(a,b);return 0;int s(int a,int b)int sum=0,i;for(i=a;i=b;i+)if(i%2=0)sum=sum+i;return sum;7.程序功能:用户输入三个整数,求出这三个整数之间最大值并输出;要求使用main函数和用户自定义函数,其中,自定义函数的功能:接收main函数传递过来的参数,计算出最大值并返回给mai
6、n函数。#includeint s(int a,int b);int main()int a,b,c;scanf(%d %d %d,&a,&b,&c);printf(%dn,s(s(a,b),c);return 0;int s(int a,int b)if(ab)return a;elsereturn b;8.程序功能:用户输入一个整数,求出这个整数中含有6的个数并输出,要求使用main函数和用户自定义函数,其中,自定义函数的功能:接收main函数传递过来的参数,统计出结果并返回给main函数。#includeint search_six(int num,int c);int main() i
7、nt n,count = 0; int c = 0; scanf(%d,&n); c = search_six(n,count); printf(%dn,c); return 0;int search_six(int num,int c) int i,temp; for (i = 0;i +) temp= num%10; num=num/10; if (temp = 6) c +; if (num = 0) break; return c;9.程序功能:用户输入长和宽两个数,求出长方形的面积,要求使用main函数和用户自定义函数,其中,用户自定义函数接受main函数传递过来的两个参数,求面积并
8、返回之。#include double s(double a,double b);int main() double a,b; scanf(%lf %lf,&a,&b); printf(%.2fn,s(a,b); return 0;double s(double a,double b) double s; s=a*b; return s;10.程序功能:用户输入一个字符串,求出该字符串的长度。(不能使用系统定义的函数strlen)#include int main()int i=0; char ch; while(ch=getchar(),ch!=n) i+; printf(%dn,i); r
9、eturn 0;11.程序功能:用户输入一个字符串,求出该字符串中“X”字符的个数。#include int main() int i=0; char ch; while(ch=getchar(),ch!=n) if(ch=X) i+; printf(%dn,i); return 0;12.程序功能:用户输入一个字符串,将该串中大写字母变为小写字母,小写字母不变,并输出结果。#include int main() char ch; while(ch=getchar(),ch!=n) if(ch=A&ch=Z) ch=ch+32; printf(%c,ch); else printf(%c,ch
10、); printf(n); return 0;13.在数组中查找指定元素。请编写函数search(int b,int n,int x),其功能是在一个大小为n的数组a中查找x,如果找到则返回所在数组的下标,否则返回-1。主函数根据返回值,分别输出位置信息或输出“找不到”。#includeint search(int list,int n,int x);int main() int list100,i,x,n; scanf(%d,&n); for(i=0;i=0) printf(%dn,i); else printf(Not foundn); return 0; int search(int l
11、ist,int n,int x) int i; for(i=0;i10;i+) if(listi=x) return i; return -1;14.在主函数中输入一个字符,再输入一个以回车结束的字符串(少于80个字符),调用函数search()查找该字符在字符串中所对应的最大下标(下标从0开始);若没找到则输出“Not Found!”。函数原型:int search(char * s,char x)。#include#include int search(char *s,char x);int main()char s100;char m;int n;gets(s);scanf(%c,&m)
12、;n=search(s,m);if(n=0)printf(%dn,n);elseprintf(Not Found!n);return 0;int search(char *s,char x)int i;for(i=strlen(s)-1;i-)if(si=x)return i;return -1;15.定义包含学号(int)、姓名(name10)、成绩(float)的学生结构类型(struct StudType),学生基本信息可通过结构数组初始化的方法输入。编写函数int search(struct StudType stu,int n, char *name),实现通过学生姓名查询功能,在主
13、函数调用并输出学生信息,若没找到输出Not Found!。#include#includestruct StudType int num; char name10; float wage;int search(struct StudType stu,int n, char *name) ;int main()int n,i,k;char num2100; struct StudType stu3= 201101,qw,80,201102,we,85,201103,er,90 ; scanf(%d,&n); for(i=0;in;i+) scanf(%s,&num2); k=search(stu
14、,n,num2); if(k=3) printf(Not Foundn); else printf(%d %s %.1fn,stuk.num,stuk.name,stuk.wage); return 0;int search(struct StudType stu,int n, char *name) int i,j; for(i=0;i3;i+) if(strcmp(stui.name,name)=0) return i; return 3;16.编写函数 void strcopy(char *s, char *t),实现将字符串t复制至字符串s中(不能使用系统函数strcpy)。在主函数中调用该函数并输出字符串s。#include void strcopy(char *s, char *t);int main() char s100,c100; gets(s); strcopy(s,c); puts(c); return 0;void strcopy(char *s, char *t) int i=0; for(i=0;si!=0;i+) ti=si;