C语言基本练习题
- 格式:docx
- 大小:21.63 KB
- 文档页数:9
1. 某城市出租车收费标准如下:起步里程是3公里,起步费是10元;超出起步里程后每公里1.5元。编写程序,输入行驶里程(公里),计算并输出乘客应支付的车费(元)。
#include
int main()
{
double n;
scanf("%lf",&n);
if(n<=3)
{
printf("%d\n",10);
}
else
{
printf("%.2f\n",1.0*(10+(n-3)*1.5));
}
return 0;
}
2. 某城市月用水量收费标准如下:每月使用吨数小于等于15吨的,每吨收费2.5元;每月使用吨数超过15吨的,采用分段计费:超过部分每吨3元。编写程序,输入使用吨数,计算并输出用户水费(元)。
#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("%.2f\n",x);
return 0;
}
3. 求解简单表达式。输入一个形式如:"操作数 运算符 操作数"的四则运算表达式,输出运算结果,要求使用switch 语句(if语句)编写。
#include
#include
int main()
{
double s1,s2;
char op; 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("Wrong input!\n");
else
printf("%.2f",s1/s2);
break;
default:printf("Wrong input!\n");
}
return 0;
}
4. 用一张100元纸票换1元,2元和5元的纸票(至少各一张),问有哪几种换法?各几张?
#include
int main()
{
int i,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);
}
}
}
return 0;
}
5. 一个球从100米高度自由落下,每次落地后反跳回原高度的一半,然后再落下再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?
#include
int main(void)
{
int n;
double sn=100.0,hn=sn/2;
for(n=2;n<11;n++) {
sn=sn+2*hn;
hn=hn/2;
}
printf("%.4f %.4f\n",sn,hn);
return 0;
}
6. 程序功能:用户输入两个整数,求出这两个整数之间的偶数的和;要求使用main函数和用户自定义函数,其中,自定义函数的功能:接收main函数传递过来的参数,计算并返回给main函数。
#include
int s(int a,int b);
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",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函数传递过来的参数,计算出最大值并返回给main函数。
#include
int s(int a,int b);
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d\n",s(s(a,b),c));
return 0;
} int s(int a,int b)
{
if(a>b)
return a;
else
return b;
}
8. 程序功能:用户输入一个整数,求出这个整数中含有6的个数并输出,要求使用main函数和用户自定义函数,其中,自定义函数的功能:接收main函数传递过来的参数,统计出结果并返回给main函数。
#include
int search_six(int num,int c);
int main()
{
int n,count = 0;
int c = 0;
scanf("%d",&n);
c = search_six(n,count);
printf("%d\n",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函数传递过来的两个参数,求面积并返回之。
#include
double s(double a,double b);
int main()
{
double a,b;
scanf("%lf %lf",&a,&b); printf("%.2f\n",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("%d\n",i);
return 0;
}
11. 程序功能:用户输入一个字符串,求出该字符串中“X”字符的个数。
#include
int main()
{
int i=0;
char ch;
while(ch=getchar(),ch!='\n')
{
if(ch=='X')
i++;
}
printf("%d\n",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);
}
printf("\n");
return 0;
}
13. 在数组中查找指定元素。请编写函数search(int b[],int n,int x),其功能是在一个大小为n的数组a中查找x,如果找到则返回所在数组的下标,否则返回-1。主函数根据返回值,分别输出位置信息或输出“找不到”。
#include
int search(int list[],int n,int x);
int main()
{
int list[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("Not found\n");
return 0;
}
int search(int list[],int n,int x)
{
int i;
for(i=0;i<10;i++)
{
if(list[i]==x)
return i;
}