C语言题库一部分.docx

上传人:b****5 文档编号:5842456 上传时间:2023-01-01 格式:DOCX 页数:18 大小:20.82KB
下载 相关 举报
C语言题库一部分.docx_第1页
第1页 / 共18页
C语言题库一部分.docx_第2页
第2页 / 共18页
C语言题库一部分.docx_第3页
第3页 / 共18页
C语言题库一部分.docx_第4页
第4页 / 共18页
C语言题库一部分.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言题库一部分.docx

《C语言题库一部分.docx》由会员分享,可在线阅读,更多相关《C语言题库一部分.docx(18页珍藏版)》请在冰豆网上搜索。

C语言题库一部分.docx

C语言题库一部分

C语言题库(一部分)

1编程:

要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。

#include

main()

{

inta,b,c;

printf("pleaseinputa=");

scanf("%d",&a);

printf("pleaseinputb=");

scanf("%d",&b);

if(a*a+b*b>100)

{

c=(a*a+b*b)/100;

printf("%d",c);

}

else

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

}

2编程:

根据以下函数关系:

当x<=0,y=0;当020,y=sin(x);输入一个x值,计算出相应的y值并输出。

(提示:

sin(x)属于math.h)

#include

#include

main()

{

intx;

floaty;

printf("pleaseinputx=");

scanf("%d",&x);

if(x<=0)

{

y=0;

}

elseif((0

{

y=x;

}

elseif((10

{

y=10;

}

else

y=sin(x);

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

}

3编程:

根据以下函数关系:

当x2,y=sin(x);输入一个x值,计算出相应的y值并输出。

(提示:

sin(x)、sqrt(x)属于math.h)参考2

4编程:

输入三个正整数x,y,z,将这三个数由小到大输出。

#include

#include

main()

{

inta[3],i,max,j;

printf("pleaseinputthe3numbers:

");

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

{

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

}

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

{

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

if(a[j]>a[j+1])

{

max=a[j];

a[j]=a[j+1];

a[j+1]=max;

}

}

printf("theresultis");

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

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

printf("\n");

}

5编程:

从键盘输入一个年号,判断该年号是否为闰年,并输出结果。

闰年是能被4整除但不能被100整除;或能被100整除且能被400整除的年号。

练习书上有,第一页

6编程实现四位电话号码的升位。

原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:

输入1234,则输出:

21234。

#include

main()

{

longx,y;

printf("pleaseinputtelephonenumber");

scanf("%d",&x);

y=x/1000;

switch(y)

{

case1:

case3:

case5:

case7:

case9:

x=2*10000+x;break;

case2:

case4:

case6:

case8:

x=3*10000+x;break;

}

printf("theresultis%ld\n",x);

}

7编程实现四位电话号码的升位。

原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:

输入1234,则输出:

31234。

参考6

8编程:

已知分段函数:

当x>10时,y=2*x+1;当1

参考2

9编程:

输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。

三角形面积公式:

area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。

(提示:

sqrt(x)属于math.h)

#include

#include

main()

{

floatx,y,z;

floatarea,s;

printf("pleaseinput:

");

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

if((x+y<=z)||(z+y<=x)||(x+z<=y))

printf("no\n");

else

{

s=(x+y+z)/2;

area=sqrt(s*(s-x)*(s-y)*(s-z));

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

}

}

10编程:

已知分段函数,当x<=0时,y=3*x;当010时,y=2*x*x;从键盘输入x的值,计算y的值。

参考2

11编程:

判定用户输入一个不大于999的正整数是否为一个回文数。

回文数是指正读和反读都相同的数。

#include

main()

{

inta,x,y,z;

printf("pleaseinputanumber");

scanf("%d",&a);

if(0

{

x=a/100;

y=(a-100*x)/10;

z=a%10;

if(x==0)

{

if(y==z)

printf("Yes\n");

else

printf("no\n");

}

elseif(x==z)

printf("yes\n");

else

printf("no\n");

}

}

12编程:

从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。

转换的方式是:

将a中较大的数码作为b的十位,剩余的数码作为b的个位。

例如,当输入a=49,则结果b=94。

#include

main()

{

inta,b,x,y;

printf("pleaseinputanumber");

scanf("%d",&a);

if(0

{

x=a/10;

y=a%10;

if(x>=y)

{

b=a;

}

else

{

b=10*y+x;

}

printf("theresultis%d",b);

}

else

printf("awrongnumber");

}

13编程:

从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。

转换的方式是:

将a中较小的数码作为b的十位,剩余的数码作为b的个位。

例如,当输入a=54,则结果b=45。

参考12

14初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。

#include

main()

{

inta[10]={2,3,4,1,5,6,7,8,9,10},i,x,j,k;

printf("pleaseinputanumber");

scanf("%d",&x);

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

{

if(a[i]==x)

{

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

a[j]=a[j+1];

for(k=0;k<9;k++)

printf("%3d",a[k]);

break;

}

elseif(i==9)

printf("no");

}

}

15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。

#include

main()

{

chara[7]={"howare"};

charb[1];

inti,j,k;

printf("pleaseinputthestring:

");

gets(b);

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

{

if(a[i]==b[0])

{

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

{

a[j]=a[j+1];

}

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

printf("%c",a[k]);

printf("\n");

break;

}

elseif(a[i]=='\0')

{

printf("no\n");

break;

}

}

}

16计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。

要求初始化矩阵,输出计算结果并输出该矩阵。

#include

main()

{

inta[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}};

inti,sum=0,max,j;

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

sum=sum+a[i][i];

max=a[0][0];

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

{

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

if(max

max=a[i][j];

}

printf("thesumis%dandthemaxnumberis%d\n",sum,max);

}

17计算一个3*3矩阵的所有元素之和以及所有元素中的最大元素的值。

要求初始化矩阵,输出计算结果并输出该矩阵。

参考16,懒得弄了

18初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。

#include

main()

{

chara[20]={"asldfkjasldkf"};

inti;

puts(a);

for(i=2;i<7;i++)

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

printf("\n");

}

19编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。

要求初始化矩阵。

参考16

20初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。

#include

main()

{

inta[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}},i,j,max;

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

{

max=a[i][0];

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

{

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

}

printf("\n");

}

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

{

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

{

if(max

max=a[i][j];

}

}

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

}

21初始化一矩阵a[4][4],计算每列的最大元素值,要求输出原始矩阵以及每列的最大元素值。

参考20

22编程计算a[3][4]数组的最大值所在位置,输出该位置以及a[3][4]矩阵。

要求初始化矩阵。

参考20

23编程实现:

计算矩阵a[3][4]每行元素的和。

要求输出原始矩阵以及每行元素的和值。

要求初始化矩阵。

参考20

24编程实现:

计算矩阵a[3][4]每列元素的和。

要求输出原始矩阵以及每列元素的和值。

要求初始化矩阵。

参考20

25一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。

输出原始数据和移动后的结果。

要求初始化数组。

例如:

原始数据为:

610298717182345,输出结果为:

6102998717182345。

#include

main()

{

inta[11]={6,10,2,9,8,7,17,18,23,45},i;

printf("theoriginstringsis");

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

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

printf("\n");

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

a[i]=a[i-1];

printf("thechangedstringsis");

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

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

printf("\n");

}

26编程实现:

在任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a和数组b。

要求初始化数组a。

懒得弄,太简单

27初始化一个存放10个整数的数组,删除其中所有的小于0的数据。

例如:

当前的数据为1–1–68966–569,则输出结果为1896669。

#include

main()

{

inta[10]={1,-1,-6,8,9,6,6,-5,6,9};

inti;

printf("theoriginstringis");

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

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

printf("\n");

printf("thechangestringis");

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

{

if(a[i]>0)

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

}

printf("\n");

}

28已知4X4矩阵,求行下标和列下标均为偶数的元素之和,要求输出原始矩阵以及和值。

提示:

例如A[0][0]、A[0][2]的行下标和列下标均为偶数。

要求初始化矩阵。

#include

main()

{

inta[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}};

inti,sum=0,j;

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

{

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

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

}

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

{

for(j=0;j<3;j=j+2)

sum=sum+a[i][j];

}

printf("theresultis%d\n",sum);

}

29已知4X4矩阵,求行下标和列下标均为奇数的元素之和,要求输出原始矩阵以及和值。

例如A[1][1]、A[1][3]的行下标和列下标均为奇数。

要求初始化矩阵。

参考28

30函数voidfun(inta[],intn,int*small,int*big),该函数的功能是分别求出一维数组a中所有奇数项中的最小值与所有偶数项中的最大值,形参n给出数组中数据的个数;利用指针small返回奇数项中的最小值,利用指针big返回偶数项中的最大值。

要求:

在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后,在主调函数中输出结果。

#include

voidfun(inta[],intn,int*small,int*big)

{

intmax,min,i,j;

min=a[0];

max=a[1];

if(n%2==0)

{

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

{

if(min>a[i])

min=a[i];

}

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

{

if(max

max=a[j];

}

*small=min;

*big=max;

}

else

{

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

{

if(min>a[i])

min=a[i];

}

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

{

if(max

max=a[j];

}

*small=min;

*big=max;

}

}

main()

{

inti=0;

intstr1,str2;

inta[8]={2,13,3,4,54,6,8,4},n;

n=8;

printf("theoriginnumbersare:

");

do{

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

i++;

}while(i<=7);

printf("\n");

fun(a,n,&str1,&str2);

printf("theminis%dthemaxis%d\n",str1,str2);

}

31函数voidfun(inta[],intn,int*big,int*small),该函数的功能是分别求出数组a中所有偶数项中的最小值与所有奇数项中的最大值,形参n给出数组中数据的个数;利用指针small返回偶数项中的最小值,利用指针big返回奇数项中的最大值。

要求:

在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后在主调函数中输出结果。

#include

voidnewstr(charstr[])

{

inti;

intj=0;

charnewstr[100];

for(i=0;str[i]!

='\0';i++)

{

if(str[i]%2!

=0)

{

newstr[j]=str[i];

j++;

}

}

newstr[j]='\0';

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

str[i]=newstr[i];

}

voidstringcat(charstr1[],charstr2[])

{

char*p1,*p2;

p1=str1;

p2=str2;

while(*p1)

p1++;

while(*p1++=*p2++);

}

main()

{

inti;

charstr1[]="Ilovethenortheastenuniversity";

char*p,str2[100];

puts(str1);

p=str1;

for(i=0;*(p+i)!

='\0';i++)

str2[i]=*p++;

str2[i]='\0';

newstr(str1);

stringcat(str1,str2);

puts(str1);

}

32编写函数voidnew(charstr[]),该函数将字符串str中ASCII值为偶数的字符删除,串中剩余字符形成一个新串。

编写函数voidstringcat(charstr1[],charstr2[])将原字符串str链接在新串的后面。

编写一个程序,调用上述各个函数。

要求:

在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。

要求:

不允许使用字符串库函数。

#include

voidstrnew(charstr[])

{

inti,j;

for(i=0;str[i]!

='\0';i++)

{

if(str[i]%2==0)

{

for(j=i;str[j]!

='\0';j++)

str[j]=str[j+1];

}

}

}

voidstringcat(charstr1[],charstr2[])

{

char*p1,*p2;

p1=str1;

p2=str2;

while(*p1)

p1++;

while(*p1++=*p2++);

}

main()

{

inti;

char*p1,*p2;

charstr1[100]={"howareyou"},str2[100]={"howareyou"};

for(i=0;str1[i]!

='\0';i++)

printf("%c",str1[i]);

printf("\n");

strnew(str1);

p1=str1;

stringcat(str1,str2);

printf("%s\n",p1);

}

33编写函数voidnew(charstr[]),该函数将字符串str中下标值为偶数的字符删除,串中剩余字符形成一个新串。

编写函数charstrmax(charstr[])在新字符串中查找最大的字符。

编写一个程序,调用上述各个函数。

要求:

在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str以及最大字符。

要求:

不允许使用字符串库函数。

#include

inti;

voidnewstr(charstr[])

{

intj=0;

charnewstr[100];

for(i=1;str[i]!

='\0';i+=2)

{

newstr[j]=str[i];

j++;

}

newstr[j]='\0';

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

str[i]=newstr[i];

}

charstrmax(charstr[])

{

charmax[1];

max[0]=str[0];

for(i=0;str[i]!

='\0';i++)

{

if(max[0]

max[0]=str[i];

}

returnmax[0];

}

main()

{

charmax[2];

charstr[]="Ilovethenorheeastenuniversity";

puts(str);

newstr(str);

puts(str);

max[0]=strmax(str);

max[1]='\0';

puts(max);

}

34编写函数voidnew(charstr[]),该函数将字符串str中ASCII值为奇数的字符删除,串中剩余字符形成一个新串。

编写函数intstrln(charstr[])计算新串的长度。

编写一个程序,调用上述各个函数。

要求:

在main()函数中初始化字符串str并输出原字符串str,调用各个函

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

当前位置:首页 > 医药卫生 > 基础医学

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

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