文档库 最新最全的文档下载
当前位置:文档库 › c语言期末考试编程题及答案

c语言期末考试编程题及答案

c语言期末考试编程题及答案
c语言期末考试编程题及答案

1.用for循环从1加到100 。(江松)

# include

int main(void)

{

int s=0, i;

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

{

s=s+i;

}

printf("%d", s);

}

2.求从1到50的所有能被3整除的数的和。(江松)

# include

int main(void)

{

int i,sum=0;

while(i<=50)

{

if(i%3==0)

{

sum+=i;

}

i++;

}

printf("sum=%d",sum);

}

3.编写程序,求12+22+32+……+n2,直到累加和大于等于10000为止,并输出n和超出10000的值。(江松)

#include

int main(void)

{

int i,sum;

i=0;sum=0;

while(sum <10000)

{

sum + =i*i;

i++;

}

printf("n=%d sum=%d",i-1,sum);

}

4.用冒泡排序法对10个整数按照由小到大的顺序进行排序。(江松)#include

int main(void)

{

int a[10],i,j,t;

printf("Input 10 integer numbers:\n");

printf("\n");

for(j=0; j<9; j++) }/*

{

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

{

if(a[i] > a[i+1]) 此部分为答案填写部分

{

t = a[i];

a[i] = a[i+1];

a[i+1] = t; */

}

}

}

printf("The sorted numbers:\n");

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

{

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

}

}

5.输入三个整数x,y,z,请把这三个数由小到大输出。(江松)

#include

int main(void)

{

intx,y,z,t;

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

if (x>y)

{

t=x;x=y;y=t;

}

if(x>z)

{

t=z;z=x;x=t;

}

if(y>z)

{

t=y;y=z;z=t;

}

printf("small to big: %d %d %d\n",x,y,z);

}

6.编写程序,输入一个整数,打印出它是奇数还是偶数。(江松)

#include

void main()

{

int a;

scanf("%d",&a);

if(a%2 == 0)

{

printf("ou shu");

}

else

{

printf("ji shu");

}

}

7.编写程序,从键盘输入一个三位数,求出该数个位、十位、百位上的数字之和并输出。(江松)

#include

int main(void)

{

int a;

printf("请输入一个3位数\n");

scanf("%d",&a);

if(a>100&&a<999)

{

printf("个位、十位、百位上的和是%d\n",(a%10+a/10%10+a/100));

}

}

8.编写程序,把560分钟换算成用小时和分钟表示,然后输出。(江松)

#include

int main(void)

{

int a=560,b=60,c,d;

c=a/b;

d=a%b;

printf("560分钟=%d小时%d分钟",c,d);

}

9.编写程序,读入三个双精度数,求出它们的平均值并保留此平均值。(江松)

#include

int main(void)

{

double a,b,c,d;

printf("输入三个双精度数:%f,%f,%f",a,b,c);

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

d=(a+b+c)/3;

printf("%lf",d);

}

1. 求二维数组的主对角线之积。

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

编译

#include

int main(void)

{

int a[4][4]={(1,2,3,4)(5,6,7,8)(9,10,11,12) (13,14,15,16)},I,j,sum=1;

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

{ ,

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

{

if(i==j)

{

Sum=sum*a[i][j];

}

}

}

Printf(“%d”,sum);

}

2.求0-99不是3的倍数的累加和。

#include

int main(void)

{

int a=0,s=0;

while(a<100)

if(a%3==0) continue;

{

s=s+a;

}

a=a+1;

}

printf("s=%d",s);

}

3.从键盘输入3个数,并将最大的数输出。

#include

int main(void)

{

int a,b,c;

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

if(a>=b)

{

if(a>=c)

printf("%d",a);

else

printf("%d",c);

}

else

{

if(b>=c)

printf("%d",b);

else

printf("%d",c);

}

}

4.当a=1时,a=a+1;

当a=2时,a=a+5;

当a=10时,a=a+8;

其他,a=a=10;

#include

int main(void)

{

int a;

scanf("%d",&a);

switch(a)

case 1:a=a+1;

break;

case 2:a=a+5;

break;

case 3:a=a=8;

break;

default:a=a+10;

break;

}

printf("%d",a);

}

5.0至50的累加和。

#include

int main (void)

{

int total,count,num;

total=0;

count=0;

num=0;

while(count<51)

{

total=total+num;

count=count+1;

num++

}

printf("total=%d",total);

}

6.已知整型数组a中有十个元素,按从小到大排列并输出#include

int main (void)

{

int a[10],i,j,k,t;

for(i=0;i<10;i++) scanf("%d;&a[i]);

printf("\n");

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

{

k=i;

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

if(a[k]>a[j]) k=j;

t=a[i];a[i]=a[k];a[k]=t;

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

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

}

7.使用if语句编写程序,若a除以3余0则输出,若a除以3不余0则加10输出。解:

#include

int main(void)

{

inta;

scanf("%d",&a);

if((a%3)==0)

{

;

}

else

a=a+10;

printf("%d",a);

}

8. 使用for语句编写程序,小于10的奇数累加和。

#include

int main(void)

{

int i,s=0;

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

{

s=s+i;

}

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

}

9.任意输入两个数,求这两个数的乘积。

#include

int main (void)

{

float a,b;

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

printf("%f",a*b);

}

10.由键盘输入一个小写字母,将其转换成大写字母,并输出。

#include

int main(void)

char c1,c2;

printf(input a character: ");

c1=getchar();

c2=c1-32;

putchar(c1);

putchar(c2);

}

1.a={1…100}的累加和,当a=51时跳出,并打印结果。(用for 语句)(盛喆)

参考答案

#include

int main(void)

{

int a,sum;

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

{

if(a==51) break;

sum+=a;

}

printf("%d",sum);

}

2.从1到100累加和,其中将3的倍数去掉。(用continue do-while 语句)(产文哲)

参考答案

#include

int main(void)

{

int a,sum;

a=1;

sum=0;

do

{

if((a%3)==0))continue;

{

sum+=a;

}

a++;

}while(a<=100);

printf("%d",sum);

}

3.求一个4×4矩阵主对角线元素之积(张继建)

参考答案

#include

Int main(void)

{

Int a[4][4],i,j,k=1;

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

{

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

{

if(i==j)

{

K=k*a[i][j];

}

}

}

printf("%d",k);

4.定义一个数组a[10][10],使得a[0][0]=0…a[9][9]=99 (何淼)参考答案

#include

int main(void)

{

Int a[10][10],i,j;

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

{

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

{

a[i][j]=10*i+j;

}

}

printf(“%d”,a[i][j])

}

5.给定一个数组a={0,1,2,3,4,5,6,7,8,9},用程序代码实现“求所有元素的和”。(陈肖)

答案:

#include

int main(void)

{

int i,s=0,a[10]={0,1,2,3,4,5,6,7,8,9};

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

s=s+a[i];

printf(“s=%d\n”,s);

}

6.a={1,2…50},用程序代码实现“5的倍数直接打印,否则+1打印”(夏顺顺)

参考答案:

#include

int main(void)

{

int a;

scanf(“a=%d”,&a);

if(a%5)

{

a=a+1;

}

printf(“a=%d”,a);

}

7.a={1,2,3…50},当a=20时跳出循环,小于20打印。(汪磊)

参考答案:

#include

int main(void)

{

int a;

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

{

if(a==20) break;

printf(“a=%d”,a);

8.用数组求解100之内的素数(丁瑞海)

(注:素数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数)

程序为:

#include

int main(void)

{

int i,j,a[100];

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

{

a[i]=i;

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

{

if(j

if(a[i]%j==0)

break;

if(a[i]-j==0)

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

}

}

printf("\n");

}

9.定义一个数组有100个元素,将0到99分别给啊a[0]到a[99]。(丁方平)

#include

int main(void)

{

int i,a[100];

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

{

a[i]=i;

}

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

printf(“%d3d”,a[i]);

}

10.a={0……100}的累加和,其中3的倍数不计入。(袁业建)

参考答案:

#include

Int main(void)

{

int a,sum;

a=0;

sum=0;

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

{

if(a%3==0)

continue;

sum=sum+a;

}

printf(“%d”,sum);

}

1.公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元钱买100只鸡有多少种买法?

#include

int main(void)

{

int a,b,c,n=0;

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

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

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

if(5*a+3*b+c==100)n++;

Printf(“一共有%d种\n”,n):

}

2.求1到100的和?

#include

int main(void)

{

int i,sum;

i=1;

sum=0;

while(i<=100)

{

sum=sum+i;

i++;

}

printf(“sum=%d”,sum);

}

3.求0到100的累加和,其中3的倍数不计入,不包括100.用for语句编程。 #include

int main(void)

{

int i,s;

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

{

if((i%3)!=0)

{

S=s+i

}

}

Printf(“s=%d”,s)

}

4.从键盘输入两个数,将较大的数输出。

#include

Int mian (void)

{

Int a,b;

Scanf(“%d,%d”,&a,&b);

If (a>=b)

Printf(“%d”,a);

Else

Peintf(“%d”,b);

}

5、计算并输出200-400之间不能被3整除的整数的和

#include

void main()

{ int i,sum=0;

for(i=200;i<=400;i++)

if(i%3!=0)

sum=sum+i;

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

}

6.编程1!+2!+3!+4!+~+20!

#include

int main(void)

{

float s=0,t=1;

Int n;

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

{

t=t*n;

S=s+t;

}

Printf(“1!+2!+~+20!=%e\n”,s);

}

7.计算1+2+22+…+210的值并输出,假定用a,b,c作为循环变量,累乘变量和累加变量的标识符

答案:

#include

int main (void)

{

int a;

int b=1;

int c=1;

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

{

b=2∧a;

c+=b;

}

printf(“%d”,c);

}

7.程序題求1到100的累加合(用which编写)

答案#include

int main(void)

{

int i,sum;

i=1;

sum=0;

while(i<=100)

{

i+=1;

sum=sum+i;

}

printf("sum is%d",sum); }

相关文档