基础c.docx

上传人:b****6 文档编号:6178085 上传时间:2023-01-04 格式:DOCX 页数:15 大小:21.55KB
下载 相关 举报
基础c.docx_第1页
第1页 / 共15页
基础c.docx_第2页
第2页 / 共15页
基础c.docx_第3页
第3页 / 共15页
基础c.docx_第4页
第4页 / 共15页
基础c.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基础c.docx

《基础c.docx》由会员分享,可在线阅读,更多相关《基础c.docx(15页珍藏版)》请在冰豆网上搜索。

基础c.docx

基础c

1)输入1个整数,输出它的绝对值。

#include

voidmain()

{

inta;

scanf("%d",&a);

if(a>=0)

printf("%d\n",a);

else

printf("%d\n",-a);

3)输入1个整数,判断该数是奇数还是偶数。

#include

main(void)

inta;

printf("pleaseinputyournumber:

");

scanf("%d",&a);

if(a%2==0)

printf("%disou\n",a);

else

printf("%disji\n",a);

return0;

2)输入2个整数,求两数的平方和并输出。

#include

voidmain() 

inta,b; 

scanf("%d%d",&a,&b); 

printf("%d",a*a+b*b); 

4)输入正整数n,输出1+1/3+1/5+1/7+…前n项的和.(输入的n<=10)

#include

voidmain()

{

intn;

floatsum=0;

for(n=1;n<=10;n++)

{sum=sum+1.0/(2*n-1);}

printf("%f",sum);

}

6)输入一个整数,判断该数是奇数还是偶数。

要求必须使用if-else结构实现。

#include

voidmain()

{

inta;

printf("pleaseenteranumber:

");

scanf("%d",&a);

if(a%2==0)

printf("该数为偶数");

else

printf("该数为奇数");

}

5)输入一个正整数n,计算1-1/3+1/5-1/7+…的前n(n>10)项之和。

#include

voidmain()

{

intn,i=1,m;

floata=0;

printf("输入一个正整数N:

");

scanf("%d",&n);

for(m=1;m!

=(n+1);m++)

{a+=i*1.0/(2*m-1);

i=-i;}

printf("结果为:

%f",a);

}

7)输入一批学生的成绩,找出最高分。

#include

#defineN5//通过改变宏定义,改变数组元素的个数

voidmain()

{

inta[N];

inti;

intmax;

max=a[0];

printf("请输入一组学生成绩(假设有5位学生成绩,且学生成绩都是整数型)\n");

for(i=0;i

{

scanf("%d",&a[i]);

//printf("%f\n",a[i]);

}

for(i=0;i

{

if(max

max=a[i];

}

printf("学生成绩最高分为:

%d\n",max);

}

8)输入三个整数,分别存在变量x,y,z中。

编程输出最大数。

#include

voidmain()

{

intx,y,z;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

{if(x>z)

printf("最大数是%d\n",x);

elseprintf("最大数是%d\n",z);

}

elseif(y>z)

printf("最大数是%d\n",y);

elseprintf("最大数是%d\n",z);

}

9)输入一个字母,判断是大写字母还是小写字母,并输出信息。

#include

voidmain()

{

charc;

scanf("%c",&c);

if(c>=97&&c<=122)

printf("这是一个小写字母\n");

elseif(c>=65&&c<=90)

printf("这是一个大写字母\n");

}

10)输入你和你朋友的年龄,编程判断谁的年龄较大,并打印较大者的年龄。

#include

voidmain()

{

intage1,age2;

printf("输入你的年龄:

");

scanf("%d",&age1);

printf("输入你朋友的年龄:

");

scanf("%d",&age2);

if(age1>age2)

printf("你年龄比较大\n%d",age1);

elseprintf("你的朋友年龄较大\n%d\n",age2);

}

11)输入一个数,求出该数绝对值所对应的开方。

#include

#include

intmain(void)

{

inta,b;doublec;

scanf("%d",&a);

if(a>=0)

{

b=a;

c=sqrt(b);

printf("%d的绝对值的开方是%lf",a,c);

}

else

{

b=-a;

c=sqrt(b);

printf("%d的绝对值的开方是%lf",a,c);

}

return0;

}

12)输入一个字母,如果接收的是‘n’或者‘N’,

则输出“no”。

否则输出“wrong”。

从键盘读入一个整数,

统计该数的位数。

例如,输入12534,输出5;输入-99,输出2;输入0,输出1。

13)输入一个字符,如果是字母,输出其对应的ASCII码

,如果是数字,按原样输入,否则给出提示信息“输入错误!

”。

14)输入一个年份year,判断改年是否是闰年。

判断闰年的条件是:

能被4整除但不能被100整除,或能被400整除。

#include

voidmain()

{

intyear;

scanf("%d",&year);

if(year%4==0&&year%100!

=0||year%400==0)

{

printf("润年");

}

else

{

printf("非润年");

}

15)输入一个正整数,将其逆序输出。

例如,输入12345,输出54321。

#include

voidmain()

{

longn,m;

printf("输入一个正整数");

scanf("%d",&n);

while(n!

=0)

m=n%10;

n=n/10;

printf("%d",m);

}

16)输入20个字符,统计其中英文字母、数字字符和其他字符的个数。

17)输入三角形三边,输出其面积和周长

#include

#include

intmain(void)

doublea,b,c;

doublearea,perimeter,s;

printf("Enter3sidesofthetriangle:

");

scanf("%lf%lf%lf",&a,&b,&c);

if(a+b>c||b+c>a||a+c>b){

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

perimeter=a+b+c;

printf("area=%.2f;perimeter=%.2f/n",area,perimeter);

}

else

printf("Thesesidesdonotcorrespondtoavalidtriangle\n");

return0;

18)输入大写字母,输出其小写字母

#include

voidmain()

{

charc;

printf("输入大写字母:

\n");

c=getchar();

putchar(c+32);

19)输入两实数(浮点数),由大到小输出(先强转,比较大小,后输出)

20)输入一系列字符,统计其中英文字母,数字,空格的个数

21)输入若干个非零整数,以0为终止符,输出这批数中的最大值。

22)统计在[2980-21980]之间有多少个数能同时被29和43整除,而不能被53整除。

23)计算n的阶层:

n!

#include

voidmain()

{

longn,i,s=1;//s为所求和

printf("Entern:

");

scanf("%d",&n);//输入N的值

if(n>=0)

{for(i=1;i<=n;i++)

s=s*i;

printf("%d\n",s);}

else

printf("error\n");

24)计算s=1-2!

+3!

-4!

+…-n!

的值并输出,其中n不大于10。

要求必须使用for语句实现。

#include

voidmain()

{

intn,sigh=1,k=1;

floatm=1,sum=0;

for(n=1;n<=3;n++)

m=m*n;//用来计算N的阶乘 

sum=sum+k*m; 

k=-k;

}

printf("%f\n",sum);

25)计算公式a-|b|,其中a,b为两个整数。

#include

voidmain()

{

inta,b,sum;

printf("输入正数a:

");

scanf("%d",&a);

printf("输入b:

");

scanf("%d",&b);

if(b>=0)

{

sum=a-b;

printf("%d-|%d|=%d\n",a,b,sum);

}

else

{

b=-b;

sum=a-b;

printf("%d-|-%d|=%d\n",a,b,sum);

}

26)计算s=a+aa+aaa+aaaa+aa...a的值,

其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),

几个数相加有键盘控制。

#include

voidmain()

{

intj,k,i,sum=0,n=1,m,a=0;

printf("输入累加到几位数:

");

scanf("%d",&j);

printf("输入累加数字:

");

scanf("%d",&k);

for(i=1;i<=j;i++)

{

sum=sum+k*n;

n=n*10;

for(m=1;m<=1;m++)

{

a=a+sum;

}

}

printf("该数为%d\n",a);

27)编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和。

要求必须使用for语句实现。

#include

voidmain()

{

intn,sigh=1;

floatm,sum=0,term;

for(n=1;n<=50;n++)

m=n*(n+1);//用来计算N的阶乘 

term=sigh/m;//用来计算1/N的值

sum=sum+term; 

}

printf("%.10f\n",sum);

28)编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。

要求使用for语句实现 

#include

voidmain()

{

intj,k,i,sum=0,n=1,m,a=0;

printf("输入累加到几:

");

scanf("%d",&j);

for(i=1;i<=j;i++)

{

sum=sum+n;

n++;

for(m=1;m<=1;m++)

{

a=a+sum;

}

}

printf("该数为%d\n",a);

}29)题目:

打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,

其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,

因为153=1的三次方+5的三次方+3的三次方。

#include//100到999内的水仙花数

voidmain()

{

inti,b,s,g;

for(i=100;i<=999;i++)

{

b=i/100;//百位

s=(i/10)%10;//十位

g=i%10;//个位

if(b*b*b+s*s*s+g*g*g==i)

printf("%d\n",i);

}

30)猜数游戏。

由计算机"想"一个数请人猜,如果人猜对了,

则结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,

直到人猜对为止。

计算机记录人猜的次数,以此可以反映出猜数者"猜"的水平。

 

#include

#include

voidmain()

{

inta,b,i,k;

a=rand()%89+10;//取10到100的随机数

for(i=0;i!

=k;)

{printf("输入被猜的数字");

scanf("%d",&b);

if(b==a)

{

i++;

printf("恭喜你猜对了,成功通关\n");

k=i;

}

if(b>a)

{

printf("对不起,你猜大了\n");

i++;

}

if(b

{

printf("对不起,你猜小了\n");

i++;

}

}

printf("总共猜了%d次\n",i);

31)打印100-999以内所有满足条件的数。

条件为:

这个数等于其个位数,

十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3

#include//100到999内的水仙花数

voidmain()

{

inti,b,s,g;

for(i=100;i<=999;i++)

{

b=i/100;//百位

s=(i/10)%10;//十位

g=i%10;//个位

if(b*b*b+s*s*s+g*g*g==i)

printf("%d\n",i);

}

32)查询自动售货机中商品的价格。

假设自动化售货机出售4种商品:

薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),

售价分别是每份3.0、2.5、4.0和3.5元。

在屏幕上显示以下菜单(编号和选项),

用户可以连续查询商品的价格,当查询次数超过5次时,自动退出查询;不到5次时,

用户可以选择退出。

当用户输入编号1~4,显示相应商品的价格(保留1位小数);

输入0,退出查询;输入其他编号,显示价格为0。

 

[1]Selectcrisps[2]Selectpopcorn[3]Selectchocolate[4]Selectcola[0]Exit

#include 

voidmain()

{

intg,i;

floata=3,b=2.5,c=4,d=3.5;

printf("[1]选择薯片\n");

printf("[2]选择爆米花\n");

printf("[3]选择巧克力\n");

printf("[4]选择可乐\n");

printf("[0]退出查询\n");

for(i=1;i<=5;i++)

{

printf("请输入查询的物品数字:

");

scanf("%d",&g);

switch(g)

{

case1:

printf("薯片的价格为%.1f\n",a);break;

case2:

printf("爆米花价格为%.1f\n",b);break;

case3:

printf("巧克力价格为%.1f\n",c);break;

case4:

printf("可乐价格位%.1f\n",d);break;

case0:

i=6;break;

}

}

33)猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,

还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,

又多吃了一个。

以后每天早上都吃了前一天剩下的桃子的一半多一个。

到第10天早上想再吃,见只剩下一个桃子了。

求第一天共摘了多少桃子。

#include 

voidmain()

{

inti,k=1,n=0,sum=1;

for(i=10;i>=1;i--)

sum=sum+k;

sum=sum*2;

}

printf("第一天摘桃子数为%d\n",sum);

34)输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include

#definePI3.14

voidmain()

{

floatr,s,l;

printf("输入圆的半径:

");

scanf("%f",&r);

l=2*PI*r;

s=PI*r*r;

printf("输出圆的周长=%f\n面积=%f\n",l,s);

35)利用条件运算符的嵌套来完成此题:

学习成绩>=90分的同学用A表示,

60-89分之间的用B表示,60分以下的用C表示。

#include

voidmain()

{

intgrade;

printf("Intergrade:

");

scanf("%d",&grade);

if(grade>=90&&grade<100)

printf("Gradeis:

A\n");

elseif(grade>=60&&grade<=89)

printf("Gradeis:

B\n");

elseif(grade<60&&grade>=0)

printf("Gradeis:

C\n");

elseprintf("error\n");

36)求解爱因斯坦数学题。

有一条长阶梯,若每步跨2阶,则最后剩余1阶,

若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,

若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。

请问,这条阶梯共有多少阶?

#include

voidmain()

{

intx=1;//x为阶长

while(x)

if(x%2!

=1){x++;continue;}

if(x%3!

=2){x++;continue;}

if(x%5!

=4){x++;continue;}

if(x%7){x++;continue;}

printf("%d\n",x);

printf("press\"Enter\"tocontinue\n");

getchar();

x++;

}

37)输出9*9乘法口诀。

#include

voidmain()

{

inta,b,c;

for(a=1;a<=9;a++)

{for(b=1;b<=9;b++)

{

c=a*b;

if(b<=a)

printf("%d*%d=%2d\t",b,a,c);

}putchar('\n');

}

}

38)用for循环输出菱形图案

#include

voidmain()

{

inti,j,k;

for(i=1;i<5;i++)

{

for(j=4;j-i>0;j--)

printf("");

for(k=1;2*i-k>0;k++)

printf("*");

printf("\n");

}

for(i=3;i>0;i--)

{

for(j=4;j-i>0;j--)

printf("");

for(k=0;2*i-1>k;k++)

printf("*");

printf("\n");

}

39)有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,

从键盘输入一个x值,输出y值

#include

voidmain()

{

intx,y;

printf("Enterx:

");

scanf("%d",&x);

if(x<0)y=1;

elseif(x>0)y=3;

elsey=5;

printf("y=%d\n",y);

40)一球从100米高度自由落下,每次落地后反跳回原高度的一半;

再落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

 

#include

voidmain()

{

intn;

doubleh,x,sum;

h=100.0;

sum=0.0;

for(n=0;n<10;n++)

{

x=h/2.0;

sum=sum+h+x;

h=h/2.0;

}

printf("小球下落100米\n十次后小球共经过%lf米第十次上弹%lf米\n",sum,x);

41)输出菲波那契(Fibonacci)序列:

1,1,2,3,5,8,…的前20项,每行输出5项。

 

#include

voidmain()

{

inta=0,b=1,c,i,j;

for(i=1;i<=4;i++)

{

for(j=1;j<=5;j++)

c=a+b;

printf("%d\t",c);

a=b;

b=c;

}putchar('\n');

}

42)100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,

小马两匹驮1担。

试编写程序计算大、中、小马的数目。

#include

voidmain()

{

inta,b,c,sum=100;//大中小

for(a=0;a<=100;a++)

for(b=0;b<=100;b++)

for(c=0;c<=100;c++)

{

if(a+b+c==100&&(a*3+b*2+c)==sum)

printf("大马:

%d中马:

%d小马:

%d\n",a,b,c);

}

43)函数y=f(x)可表示为:

y=2x+1(x<0);y=0(x=0);y=2x-1(x>0) 

编程实现输入一个x值,输出y值。

#include

voidmain()

{

intx,y;

printf("Enterx:

");

scanf("%d",&x);

if(x<0)y=2*x+1;

elseif(x>0)y=2*x-1;

elsey=0;

printf("y=%d\n",y);

44)若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,

每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。

#include

voidmain()

{

inta,b,c,sum;

for(a=0;a<=3;a++)

for(b=1;b<=5;b++)

for(c=0;c<=6;c++)

if(a+b+c==8)

{

printf("

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1