教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

c语言试题库编程题

来源:网络收集 时间:2025-04-28
导读: C语言试题库 利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(ab)?a:b这是条件运算符的基本例子。 2.程序源代码: main() { int score; char grade; printf(please input a score\n);

C语言试题库

利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

2.程序源代码:

main()

{

int score;

char grade;

printf("please input a score\n");

scanf("%d",&score);

grade=score>=90?'A':(score>=60?'B':'C');

printf("%d belongs to %c",score,grade);

}

2.(10分)

编写函数fun(),它的功能是:计算和输出下列级数的和。

S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))

例如,当n=10时,函数值为0.909091。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include<conio.h>

#include<stdio.h>

double fun(int n)

{

int i=1,j=2,k;

double sum=0.0;

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

{

sum+=1.0/(i*j);

i++;

j++;

}

return sum;

}

main()

{

clrscr();

printf("%f\n",fun(10));

}

C语言试题库

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

1.程序分析:

2.程序源代码:

main()

{int a,i,aa[4],t;

scanf("%d",&a);

aa[0]=a%10;

aa[1]=a%100/10;

aa[2]=a%1000/100;

aa[3]=a/1000;

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

{aa[i]+=5;

aa[i]%=10;

}

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

{t=aa[i];

aa[i]=aa[3-i];

aa[3-i]=t;

}

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

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

}

4.(5分)下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include

main()

{ int i, j;

for(i=0; i<=9或i<10或9>=i或10>i; i++)

{ j=i*10+6;

if(j%3!=0或j%3 ) continue;

printf("%d",j);

}

}

5.(10分)

判断一个素数能被几个9整除

1.程序分析:

2.程序源代码:

main()

{ long int m9=9,sum=9;

int zi,n1=1,c9=1;

C语言试题库

scanf("%d",&zi);

while(n1!=0)

{ if(!(sum%zi))

n1=0;

else

{m9=m9*10;

sum=sum+m9;

c9++;

}

}

printf("%ld,can be pided by %d \"9\"",sum,c9);

}

6.(10分)

将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

程序源代码:

/* zheng int is pided yinshu*/

main()

{

int n,i;

printf("\nplease input a number:\n");

scanf("%d",&n);

printf("%d=",n);

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

{

while(n!=i)

{

if(n%i==0)

{ printf("%d*",i);

n=n/i;

}

else

break;

}

}

printf("%d",n);}

C语言试题库

7.(5分)

打印出如下图案

*

***

******

********

程序源代码:

main()

{

int i,j,k;

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

{

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

printf(" ");

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

printf("*");

printf("\n");

}

}

8.(10分)

请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。

例如,若输入17,5,则应输出:19,23,29,31,37。

注意:部分源程序给出如下。

请勿改动主函数main和其它函数中的任何去何内容,仅在函数fun的花括号中填入你编写 的若干语句。

试题程序。

#include <conio.h>

#include <stdio.h>

/*本题中的for()循环用来判断一个数是否为素数,由于个数只能是k个所以用do-while循环来控制。*/

void fun(int m, int k, int xx[])

{ int i,j=0,p=m+1;

do

{for( i=2; i<p; i++)

if(p%i==0) break;

if(i>=p) xx[j++]=p;

p++;

} while(j<k);

}

main()

{ int m,n,zz[1000];

printf("\n please enter two integers: ");

C语言试题库

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

fun( m,n,zz);

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

printf("%d ", zz[m]);

printf("\n");

}

9.(10分)

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....

2.程序源代码:

main()

{

long f1,f2;

int i;

f1=f2=1;

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

{ printf("%12ld %12ld",f1,f2);

if(i%2==0) printf("\n");/*控制输出,每行四个*/

f1=f1+f2; /*前两个月加起来赋值给第三个月*/

f2=f1+f2; /*前两个月加起来赋值给第四个月*/

}

}

10.(5分)写程序,实现矩阵(3行3列)的转置(即行列互换)。

试题程序:

#include <stdio.h>

#include <conio.h>

int fun(int array[3][3])

{ int i,j,t;

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

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

{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}

}

main()

{ int i,j;

int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};

clrscr();

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

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

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

printf("\n");

}

fun(array);

printf("Converted array:\n");

C语言试题库

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

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

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

printf("\n …… 此处隐藏:10370字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言试题库编程题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/2326493.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)