大一期末考C语言试题求解答

1.从键盘输入10个整数,存入数组a,从数组a的第二个元素起,分别将后项减前项之差存入数组b,按每行3个元素输出数组b。
2.输入一个字符串,将其中的大写字符转换成小写,其它的不做转换,然后输出得到的字符串。
3. 某班有30名学生,考试共5门课程,输入各门成绩,计算每人的总分,输出全班学生的各科成绩及总分。
4.从键盘输入10个数,从小到大排列(或从大到小排列),将其输出(冒泡法或选择法任选)。

第一题:#include<stdio.h>

void main()

{

 int a[10],b[9],i=0;

 for(;i<10;i++)

 {

  printf("请输入第%d个数",i+1);

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

 }

 

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

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

 

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

 {

  if(i%3==0)printf("\n");

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

 }

}

 

运行结果:

第二题:#include<stdio.h>

void main()

{

 char a[100];int i=0;

    printf("请输入一串字符按回车结束");

 scanf("%s",a);

    while(1)

 {

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

         a[i]=a[i]+32;

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

 i++;

 if(a[i]==0)break;

 }

 printf("\r\n");

 

}

运行结果:

第三题:(以两名学生为例,其他只要改变对应的值即可,照着框架来即可)#include<stdio.h>

void main()

{

 int a[2][5],i,j;

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

 {   

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

  {

   printf("请输入第%d个学生,第%d门成绩",i+1,j+1);

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

  }

  printf("\n"); 

 }

 int sum,csum=0;

 printf("%14c第1门课%4c第2门课%4c第3门课%4c第4门课%4c第5门课%4c总分\n",32,32,32,32,32,32); 

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

 {   

  sum=0;

  printf("第%d个学生",i);

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

  {

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

   printf("%3c",32);

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

  }

  csum=csum+sum;

  printf("%5c%d",32,sum);

  printf("\n");

 }

 int temp;

 printf("班级总分 ");

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

 {

  temp=0;

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

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

  printf("%6c%d",32,temp);

  printf("%2c",32);

 }

 printf("%5c%d\n",32,csum);

 printf("\n"); 

}

 

运行结果:

第四题:#include<stdio.h>

void main()

{

 int a[10],i=0,j,temp;

 for(;i<10;i++)

 {

  printf("请输入第%d个数",i+1);

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

 }

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

 { 

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

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

   { 

    temp=a[i]; 

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

    a[i+1]=temp;

   } 

 } 

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

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

 printf("\n"); 

}

 

运行结果:

 

学习是要用心的,多动脑,多思考学到的东西才是自己的。喔,对了给分哟!!!!!

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-31
这个。。。。。。没分可能没人帮你写
相似回答