简单c语言编程练习题Word文件下载.docx
《简单c语言编程练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《简单c语言编程练习题Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
if
max=b;
max=c;
5、求5~
{intt=1,i=2;
2/26
while
{t=t*i;
i=i+1;
6、求多项式1-1/2+1/3-1/4+````+1/99-1/100的值
intsign=1;
doubledeno=2.0,sum=1.0,term;
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
7、将华氏温度64?
F转换为摄氏度
3/26
floatf,c;
f=64.0;
c=*;
8、1000元存一年:
活期,年利率为r1;
一年期顶起,年利率r2;
存两次半年定期,年利率为r3.分别计算3种方法本息和
float
p0=1000,r1=0.0036,r2=0.0225,r3=0.0193,p1,p2,p3;
p1=p0*;
p2=p0*;
p3=p0**;
9、给定一个大写字母A,输出其小写字母
4/26
charc1,c2;
c1=‘A’;
c2=c1+32;
10、给出三角形三边长,求面积
}doublea,b,c,s,area;
a=3.67;
b=5.43;
c=6.21;
s=/2;
area=sqrt**);
printf;
11、输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入后处理,然后输出此数,以便验证处理是否正确。
12、编程从键盘输入两个整数给变量x和y,然后输出x和y的值,最后交换x和y的值并输出。
5/26
intx,y,t;
scanf;
t=x;
x=y;
y=t;
doublex;
printfx=%f\n”,x);
x=x*100+0.5;
x=x;
x=x/100;
13、从键盘输入两个两位的正整数给变量x和y,并将x和y合并形成一个整数放在变量z中。
合并的方式是:
将数x的十位和各位依次放在z的千位和十位,将y的十位和个位放在z的个位和百位上。
14、输入3个整数,分别放入在变量a,b,c中,程序把输入的数据重新按由从小到大的顺序放在变量a,b,c中,最后输出a,b,c中的值
{intx,y,z;
x=x%100;
y=y%100;
z=*1000+*10+y/10+*100;
6/26
}printf;
if{t=a;
a=b;
b=t;
}if{t=a;
a=c;
c=t;
}if{t=b;
b=c;
15、根据输入的学生成绩,给出相应的等级,90分
以上的等级为A,60以下为E,其余每10分一个等级。
intg;
switch{case:
break;
case:
default:
ifprintf;
elseifprintf;
elseprintf;
题目:
1.编写一个程序,要求输入一个ASCII码值,
然后输出相应的字符。
main
7/26
inti,j;
charc;
if&
&
)
c=toascii;
else
return0;
8/26
2.功能描述:
编写函数,实现对10个整数按由小到达排序,在主函数中调用此函数。
*要求:
完成至少3个函数分别实现插入排序、选择排序、冒泡排序#include
#defineM10
voidinsert;
voidchoice;
voidBubbleSort;
voidprint;
inta[M],i;
for
9/26
insert;
//插入排序
print;
choice;
//选择排序
10/26
BubbleSort;
//冒泡排序
voidinsert//插入排序
inti,j,k,temp;
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
11/26
voidchoice//选择排序
inti,j,temp=0,t=0;
t=i;
t=j;
temp=a[i];
a[i]=a[t];
a[t]=temp;
12/26
voidBubbleSort
inti,j,temp;
a[j]=a[j+1];
a[j+1]=temp;
voidprint
inti;
13/26
3.已知head指向一个带头结点的单向链表,链表中每个结点包含数据域和指针域。
请编写函数实现如图所示链表逆置。
要求:
不开辟任何额外的链表结点空间,实现链表的就地逆置
考察:
对链表结构的基本操作
#defineLENsizeof
structsth
chara[20];
structsth*next;
};
14/26
structsth*creat;
structsth*exchange;
voidprint;
voidfree1;
structsth*head;
head=creat;
exchange;
free1;
structsth*creat
structsth*head=NULL;
structsth*p1,*p2;
charinput[10]={‘\0’};
//p1=p=malloc;
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少,
1.程序分析:
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去
掉不满足条件的排列。
15/26
2.程序源代码:
#include“stdio.h”
#include“conio.h”
inti,j,k;
for/*以下为三重循环*/
if/*确保i、j、k三位互不相同*/
getch;
===================================================
===========
企业发放的奖金根据利润提成。
利润低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20
16/26
万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于0万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数,
请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
longinti;
intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;
bonus1=100000*0.1;
bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
17/26
bonus=i*0.1;
elseif
bonus=bonus1+*0.075;
bonus=bonus2+*0.05;
bonus=bonus4+*0.03;
bonus=bonus6+*0.015;
bonus=bonus10+*0.01;
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少,
在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结
18/26
果满足如下条件,即是结果。
请看具体分析:
#include“math.h”
longinti,x,y,z;
x=sqrt;
/*x为加上100后开方后的结果*/
y=sqrt;
/*y为再加上168后开方后的结果*/
if/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
19/26
输入某年某月某日,判断这一天是这一年的第几天,
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
intday,month,year,sum,leap;
switch/*先计算某月以前月份的总天数*/
case1:
sum=0;
case:
sum=31;
sum=59;
sum=90;
sum=120;
sum=151;
sum=181;
20/26
sum=212;
sum=243;
case10:
sum=273;
case11:
sum=304;
case12:
sum=334;
default:
sum=sum+day;
/*再加上某天的天数*/
if)/*判断是不是闰年*/
leap=1;
leap=0;
if/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
输入三个整数x,y,z,请把这三个数由小到大
21/26
输出。
我们想办法把最小的数放到x上,先将x与y进行比较,如果x>
y则将x与y的值进行交
换,
然后再用x与z进行比较,如果x>
z则将x与z的值
进行交换,这样能使x最小。
intx,y,z,t;
{t=x;
}/*交换x,y的值*/
{t=z;
z=x;
x=t;
}/*交换x,z的值*/
{t=y;
y=z;
z=t;
}/*交换z,y的值*/
22/26
用*号输出字母C的图案。
可先用’*’号在纸上写出字母C,再分行输出。
23/26
输出特殊图案,请在c环境中运行,看一看,VeryBeautiful!
字符共有256个。
不同字符,图形不一样。
chara=176,b=219;
24/26
输出9*9口诀。
分行与列考虑,共9行9列,i控制行,
j控制列。
inti,j,result;
result=i*j;
/*-3d表示左对齐,占3位*/
/*每一行后换行*/
25/26
要求输出国际象棋棋盘。
用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
26/26