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