c语言编程练习题.docx

上传人:b****1 文档编号:15239642 上传时间:2023-07-02 格式:DOCX 页数:44 大小:22.48KB
下载 相关 举报
c语言编程练习题.docx_第1页
第1页 / 共44页
c语言编程练习题.docx_第2页
第2页 / 共44页
c语言编程练习题.docx_第3页
第3页 / 共44页
c语言编程练习题.docx_第4页
第4页 / 共44页
c语言编程练习题.docx_第5页
第5页 / 共44页
c语言编程练习题.docx_第6页
第6页 / 共44页
c语言编程练习题.docx_第7页
第7页 / 共44页
c语言编程练习题.docx_第8页
第8页 / 共44页
c语言编程练习题.docx_第9页
第9页 / 共44页
c语言编程练习题.docx_第10页
第10页 / 共44页
c语言编程练习题.docx_第11页
第11页 / 共44页
c语言编程练习题.docx_第12页
第12页 / 共44页
c语言编程练习题.docx_第13页
第13页 / 共44页
c语言编程练习题.docx_第14页
第14页 / 共44页
c语言编程练习题.docx_第15页
第15页 / 共44页
c语言编程练习题.docx_第16页
第16页 / 共44页
c语言编程练习题.docx_第17页
第17页 / 共44页
c语言编程练习题.docx_第18页
第18页 / 共44页
c语言编程练习题.docx_第19页
第19页 / 共44页
c语言编程练习题.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言编程练习题.docx

《c语言编程练习题.docx》由会员分享,可在线阅读,更多相关《c语言编程练习题.docx(44页珍藏版)》请在冰点文库上搜索。

c语言编程练习题.docx

c语言编程练习题

1.从键盘输入一个大写字母,要求改用小写字母输出,并输出与这个小写字母相邻的两个字母及它们的ASCII码的值

样例输入:

B

样例输出:

bac

989799

测试输入:

D

测试输出:

dce

10099101

#include

intmain()

{

chars1,s2,s3;

inta,b,c;

scanf("%c",&s1);

s1=s1+32;

s2=s1-1;

s3=s1+1;

a=s1;

b=s2;

c=s3;

printf("%c%c%c\n",s1,s2,s3);

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

return0;

}

2.输入两个整数,并将其中较大的显示出来。

样例输入:

54

样例输出:

max=5

测试输入:

28

测试输出:

max=8

#include

intmain()

{

inta,b,max=0;

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

max=a;

if(a

max=b;

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

return0;

}

3.输入a,b,c三个整型变量的值,输出其中的最小值。

样例输入:

548

样例输出:

4

测试输入:

268

测试输出:

2

#include

intmain()

{

inta[3],i,j,t;

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

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

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

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

{

if(a[i]>a[j])

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

}

printf("%d\n",a[0]);

return0;

}

4.输入年号y,月份m,输出该年该月天数。

样例输入:

20042

样例输出:

29

测试输入:

20152

测试输出:

28

#include

intmain()

{

inty,m;

scanf("%d%d",&y,&m);

switch(m)

{

case1:

printf("30\n");break;

case2:

{

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

=0)||(y%400==0))

printf("29\n");

else

printf("28\n");break;

}

case3:

printf("31\n");break;

case4:

printf("30\n");break;

case5:

printf("31\n");break;

case6:

printf("30\n");break;

case7:

case8:

printf("31\n");break;

case9:

printf("30\n");break;

case10:

printf("31\n");break;

case11:

printf("30\n");break;

case12:

printf("31\n");break;

}

return0;

}

5.输入若干非0整数,直到输入0时停止,要求输入的整数最多不超过20个,统计其中正数的个数,负数的个数。

样例输入:

548-26-973-190

样例输出:

posn=7,negn=3

测试输入:

9-82-686-7-31-50

测试输出:

posn=5,negn=5

#include

intmain()

{

inta[20],n=0,c=0,b=0,i;

while((getchar())!

='0')

for(i=0;i<20;i++)

{

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

n=n+1;

if(a[i]==0)

break;

}

for(i=0;i

{

if(a[i]>0)

c=c+1;

if(a[i]<0)

b=b+1;

}

printf("posn=%d,negn=%d\n",c,b);

return0;

}

6.从键盘上输入m的值,判断其是否素数

样例输入:

7

样例输出:

7isaprimenumber

测试输入:

9

测试输出:

isnotaprimenumber

#include

intmain()

{

intm,i,flag=1;

scanf("%d",&m);

for(i=2;i

if(m%i==0)

{

flag=0;

break;

}

if(flag==1)

printf("%disaprimenumber\n",m);

else

printf("%disnotaprimenumber\n",m);

return0;

}

7.打印如下图形到屏幕上,打印行数n由键盘输入。

(直角三角形)

*

**

***

****

*****

样例输入:

4

样例输出:

*

**

***

****

*****

#include

intmain()

{

inti,n,j;

scanf("%d",&n);

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

{

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

printf("");

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

printf("*");

printf("\n");

}

return0;

}

8.请输入10个整数,并将其由小到大排序,然后将排序后的结果输出到屏幕上。

排序

样例输入:

5482607319

样例输出:

0123456789

测试输入:

9765231840

测试输出:

0123456789

#include

intmain()

{

inta[10],i,j,t;

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

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

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

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

if(a[i]>a[j])

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

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

printf("%d",a[i]);

printf("\n");

return0;

}

9.输入一句英文,按单词分行输出.

样例输入:

springsummerfallwinter

样例输出:

spring

summer

fall

winter

测试输入:

Wearestudents

测试输出:

We

are

students

#include

intmain()

{

chars[100];

inti,n=0;

gets(s);

for(i=0;s[i]!

='\0';i++)

{

if(s[i]=='')

s[i]='\n';

n++;

}

s[n]='\0';

puts(s);

return0;

}

10.输入六个双精度的数,求出其中负数的平均值(保留4位小数)

#include

intmain()

{

doublea[6],n=0,s=0,m;

inti;

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

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

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

if(a[i]<0)

{

s=s+a[i];

n=n+1;

}

m=s/n;

printf("%.4lf\n",m);

return0;

}

11.输入一亇数组,以0结束,求出所有负数的平均值。

#include

intmain()

{

inta[100];

inti;

doublem,n=0,s=0,ave;

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

{

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

if(a[i]==0)

{

m=i;

break;

}

}

for(i=0;i

if(a[i]<0)

{

s=s+a[i];

n=n+1;

}

ave=s/n;

printf("%lf\n",ave);

return0;

}

12.输入一亇字符串,将下标为奇数的字符选出来,将其按ASCALL码升序排列。

#include

intmain()

{

chars[100],s2[100],t;

inti,n,j=0,q;

gets(s);

for(i=0;s[i]!

='\0';i++)

{

if((i%2)!

=0)

{

s2[j]=s[i];

j++;

}

}

s2[j]='\0';

for(i=0;i

for(q=i;q

{

if(s2[i]>s2[q])

{

t=s2[i];

s2[i]=s2[q];

s2[q]=t;

}

}

puts(s2);

return0;

}

13.输入一个n,k,n为十进制数字,将其转换为k进制输出(k为大于等于2小于等于9的整数).

#include

intmain()

{

intn,k,m,t,s,i;

inta[100];

scanf("%d%d",&n,&k);

m=n;

t=n;

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

{

m=m/k;

t=t-m*k;

if(m!

=0)

{

a[i]=t;

t=m;

}

else

{

a[i]=t;

t=m;

break;

}

}

s=i;

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

printf("%d",a[i]);

printf("\n");

return0;

}

14.输入一个字符串,将其奇数下标的字符移动到下一个奇数下标的位置。

最后一个奇数位上的数字平移到第一个奇数下标处。

#include

intmain()

{

chars[100],a[100];

inti,j=0,q=0;

gets(s);

for(i=0;s[i]!

='\0';i++)

{

if((i%2)!

=0)

{

a[j]=s[i];

j++;

}

}

a[j]='\0';

j=0;

for(i=0;s[i+2]!

='\0';i++)

if((i%2)!

=0)

{

s[i+2]=a[j];

j++;

}

s[i+2]='\0';

s[1]=a[j];

puts(s);

return0;

}

15.

编写程序,从键盘输入一个字符串,并将字符串中的小写字母都改为相应的大写字母,其他字符不变。

标准输入:

23efHI4why80NO

标准输出:

23EFHI4WHY80NO

#include

intmain()

{

chars[100];

inti;

gets(s);

for(i=0;s[i]!

='\0';i++)

if(s[i]>='a'&&s[i]<='z')

s[i]=s[i]-32;

s[i]='\0';

puts(s);

return0;

}

16.

编写程序,从键盘输入一个字符串ss,并将ss中所有下标为偶数的位置上的字母转换为小写,(若该位置上不是字母,则不转换)。

标准输入:

ABC4efGHS

标准输出:

aBc4efgHs

#include

intmain()

{

charss[100];

inti;

gets(ss);

for(i=0;ss[i]!

='\0';i++)

if((i%2)==0)

if(ss[i]>='A'&&ss[i]<='Z')

ss[i]=ss[i]+32;

ss[i]='\0';

puts(ss);

return0;

}

17.编写程序,从键盘输入两个字符串str1和str2,并将字符串str2接在str1后面(不得用字符串处理函数),样例输入的第一行是先读入整数n,表示有几组字符串(两个字符串为一组),然后读入字符串。

标准输入:

2

aaaaaa

bbbbb

cccc

dsdsds

标准输出:

aaaaaabbbbb

Ccccdsdsds

#include

voidfun(chars1[],chars2[])

{

inti,j,q;

for(i=0;s1[i]!

='\0';i++)

;

for(j=i,q=0;s2[q]!

='\0';j++,q++)

{

s1[j]=s2[q];

}

s1[j]='\0';

}

intmain()

{

intn;

chars[100][100];

inti,j;

scanf("%d\n",&n);

for(i=0;i<2*n;i++)

gets(s[i]);

for(i=0;i<2*n;i++)

if((i%2)==0)

{

fun(s[i],s[i+1]);

puts(s[i]);

}

return0;

}

18.编写程序,从键盘输入m值,根据m,计算下列公式t的值(m为int型,t为double型),结果保留小数点4位,公式:

t=1-1/2+1/3-1/4+……(-1)(m+1)/m(最后一项分子为-1的m+1次方)

标准输入:

5

标准输出:

0.7833

#include

intmain()

{

intm;

doublet=0,n,q=-1,i;

scanf("%d",&m);

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

{

q=q*(-1);

n=q/i;

t=t+n;

}

printf("%.4lf\n",t);

return0;

}

19.编写程序,输入一个字符串str,依次取出字符串中的所有的字母,形成新的字符串,并取代原字符串。

标准输入:

123dfsad43mln&*d

标准输出:

dfsadmlnd

#include

intmain()

{

charstr[100],s[100];

inti,j;

gets(str);

for(i=0,j=0;str[i]!

='\0';i++)

if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='B'))

{

s[j]=str[i];

j++;

}

for(i=0;i

str[i]=s[i];

str[i]='\0';

puts(str);

return0;

}

20.编写一个程序,从键盘输入一个三位数,判断这个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!

”,否则返回“no!

”。

例如:

输入123,结果显示“no!

标准输入:

 123

#include

intmain()

{

intn;

inta,b,c;

scanf("%d",&n);

a=n%10;

b=n/10%10;

c=n/100;

if(a+c==b)

printf("yes!

\n");

else

printf("no!

\n");

return0;

}

21.编写一个程序,输入一个5×5的二维数组a,实现:

使数组对角线及右上半三角元素中的值全部置成0。

注意每个数字后都有空格,每行输出都有换行

标准输入:

12345

12345

12345

12345

12345

标准输出:

00000

10000

12000

12300

12340

#include

intmain()

{

inta[5][5];

inti,j;

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

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

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

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

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

if((i==j)||(j>i))

a[i][j]=0;

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

{

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

printf("%d",a[i][j]);

printf("\n");

}

return0;

}

22.编写一个程序,从键盘输入含有n个实数的一维数组,求此一维数组的平均值,结果保留两位小数,其中n为int型,数组为double型。

标准输入5

1.12.23.34.45.5

标准输出3.30

#include

intmain()

{

intn,i;

doublea[100],s=0,ave;

scanf("%d",&n);

for(i=0;i

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

for(i=0;i

{

s=s+a[i];

}

ave=s/(double)n;

printf("%.2lf\n",ave);

return0;

}

23.编写一个程序,从键盘输入一个含有n个整数的一维数组,并移动一维数组中的内容,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。

样例输入分3行,第一行为整数的个数n,第二行为n个整数,第三行为下标p。

标准输入:

15

123456789101112131415

9

标准输出:

101112131415123456789

#include

intmain()

{

inta[100],b[100];

intn,j,i,p;

scanf("%d",&n);

for(i=0;i

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

scanf("%d",&p);

for(i=p,j=0;i

{

b[j]=a[i];

j=j+1;

}

for(i=0;i

{

b[j]=a[i];

j=j+1;

}

for(i=0;i

{

a[i]=b[i];

printf("%d",a[i]);

}

printf("\n");

return0;

}

24.移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(不含p)的数组元素平移到数组的最后。

例如,输入:

1,2,3,4,5,6,7,8,9,10;p的值为3。

移动后数组内容应为4,5,6,7,8,9,10,1,2,3。

#include

intmain()

{

inta[100],b[100];

intn,j,i,p;

scanf("%d",&n);

for(i=0;i

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

scanf("%d",&p);

for(i=p,j=0;i

{

b[j]=a[i];

j=j+1;

}

for(i=0;i

{

b[j]=a[i];

j=j+1;

}

for(i=0;i

{

a[i]=b[i];

printf("%d",a[i]);

}

printf("\n");

return0;

}

25.从键盘输入一个字符串并保存在字符strl中,把字符串中strl下标为偶数的字符保存在字符串strl2中并输出。

例如,当strl=“cdefghij",则strl2="cegi".标准输入:

whatisit,标准输出waii

#include

intmain()

{

charstr1[100],str12[100];

inti,j;

gets(str1);

for(i=0,j=0;str1[i]!

='\0';i++)

if(i%2==0)

{

str12[j]=str1[i];

j++;

}

str12[j]='\0';

puts(str12);

return0;

}

26.)编写一个程序,程序定义一个5*5二维数组,二维数组题目中给出,编写程序,求数组周边元素的平方和。

数组a为{0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1}求出结果为310.样例输出占2行,1行为整形数据,其值为平方和,另一行为回车符。

标准输入0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1

标准输出310

#include

intmain()

{

inta[5][5];

inti,j,s=0;

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

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

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

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

s=s+a[0][j]*a[0][j];

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

s=s+a[i][0]*a[i][0];

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

s=s+a[4][j]

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2