c语言一维数组上机考试题目

合集下载

C语言-数组-实验题目及答案

C语言-数组-实验题目及答案

实验六数组程序设计【实验目的】1、掌握使用一维数组编程方法2、掌握使用二维数组进行程序设计【实验内容】一、上机验证程序,并分析结果要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。

1、#include <stdio.h>int main(){ int a[ ]={1,2,3,4,5} , i, j, s=0 ;j = 1;for ( i = 4 ; i>=0 ; i--){s = s+ a[i] * j ;j = j * 10 ;}printf(" s= %d \n" , s );return 0;}二、程序改错题1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。

源代码如下,程序中存在错误,请将其改正。

#include <stdio.h>int main(){int a(10);/*定义数组*/int count,i;/* i循环变量 count 正数个数*/for(i=0;i<=10;i++){/*循环输入*/scanf("%d",a[i]);}count=1;for(i=0;i<=10;i++){/*查找正数*/if(a(i)>0)count++;}printf("数组中正数有:%d个\n",count);return 0;}三编写程序1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。

#include <stdio.h>#define N 30int main(){float score[N],sum=0,aver;int i;for(i=0;i<30;i++){scanf("%f",&score[i]);sum=sum+score[i];}aver=sum/30;printf("平均分为:%.2f\n",aver);for(i=0;i<N;i++)if(score[i]>aver)printf("%.2f ",score[i]);printf("\n");return 0;}2.编写程序:假设有13位评委参与评分工作。

C语言上机考试试题9

C语言上机考试试题9

C 语言上机考试试题-9一、选择题(每小题2分)1. 用数组名作为函数的实参时,传递给函数的形参是________。

(A) 数组的首地址(B) 数组的第1个元素(C) 数组中的全部元素(D) 数组的元素个数2. 下列定义一维数组正确的写法是________。

(A) int a(10); (B) int n=10, a[n];(C) int n; (D) #define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];3. 下述函数头定义形式正确的是________。

(A) int f(int x; int y) (B) int f(int x,y)(C) int f(int x, int y) (D) int f(x,y: int)4. 以“只读”方式打开文本文件c:\xy.txt,下列语句中哪一个是正确的________。

(A) fp=fopen("c:\\xy.txt","a"); (B) fp=fopen("c:\\xy.txt","r");(C) fp=fopen("c:\\xy.txt","wb"); (D) fp=fopen("c:\xy.txt","r");5. 判断变量x和y中有且只有一个值为0成立的表达式为________。

(A) !(x*y)&&x+y (B) (x*y)&&x+y(C) x*y==0 (D) x==0&&y!=06. 设有如下定义:struct ss{ char name[10];int age;char sex;} std[3],*p=std;下面各输入语句中错误的是________。

(A) scanf("%d",&(*p). age); (B) scanf("%s",&);(C) scanf("%c",&std[0].sex) (D) scanf("%c",&(p-> sex));7. 语句“int a=0; if(a=1) a+=10;” 编译不会出错,但运行后a的值是________。

C语言上机题参考答案

C语言上机题参考答案
}
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);

C语言实验__一维数组

C语言实验__一维数组

实验6 一维数组实验要求:使用Visual C++ 6.0开发环境,完成以下习题。

1. (此题可不使用数组)输出1~100之间的不能被7整除的数。

(要求使用continue语句,如果其能被7整除则continue)。

源程序保存为6-1.c。

运行效果截图保存为6-1p.jpg。

2. 对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。

源程序保存为6-2.c。

运行效果截图保存为6-2p.jpg。

3. 定义一个100个元素的数组,依次赋值为1 ~ 100。

先输出其中能被3整除的数。

再输出其中能被5整除的数。

(注意数组的下标是从0开始。

)源程序保存为6-3.c。

运行效果截图保存为6-3p.jpg。

4. 让用户输入学生的人数n,然后输入这n个学生的语文成绩,保存在数组中。

然后分别计算输出:(1)统计语文成绩平均分。

(2)不及格的学生序号及成绩、并统计不及格人数。

(3)最高分的成绩及最高分的学生的序号。

源程序保存为6-4.c。

运行效果截图保存为6-4p.jpg。

5. 定义一个数组A存放6个学生的高数成绩,定义一个数组B存放这6个学生的英语成绩, 再定义一个数组C存放这6个学生的C++成绩。

在输入时,要求逐个学生的三门课成绩输入(即先输入第1个学生的三门课成绩,再输入第2个学生的三门课成绩,以此类推)。

求这6个同学三科的总分存放在数组D中,并输出。

源程序保存为6-5.c。

运行效果截图保存为6-5p.jpg。

6. 编程实现:简单版成绩管理系统1。

程序首先显示菜单,让用户选择1则添加一个学生的的记录,选择2则查看一个学生的记录,选择3则修改一个学生的记录,选择4则浏览所有学生记录。

每个学生记录由其学号、高数成绩、英语成绩、C++成绩组成。

(提示:定义一个100个元素的数组,存放学生的学号;定义一个100个元素的数组存放高数成绩,定义一个100个元素的数组存放英语成绩;定义一个100个元素的数组存放C++成绩;定义一个变量记录当前已经总共添加了多少个学生)当用户选择1之后,让用户输入要添加的学生的学号、高数成绩、英语成绩、C++成绩。

一维数组练习题

一维数组练习题

维数组练习题1 、以下对一维数组 a 进行正确初始化的是 ____________A) int a[10]=(0,0,0,0,0);C) int a[ ]={0}; B) int a[10]={ };D) inta[10]={ 10*2};2 、以下一维数组 a 的正确定义是_________ 。

A) int a(10); B) int n=10,a[n];C) int n; D) #define SIZE 10 scanf("%d",&n); int a[SIZE];int a[n];3 、执行下面的程序段后 , 变量 k 中的值为 __________ 。

int k=3,s[2];s[0]=k;k=s[1]*10;A) 不定值B) 33C) 30 D) 104 、下列程序执行后的输出结果是main(){int a,b[5];a=0; b[0]=3;printf("%d,%d\n",b[0],b[1] );A) 3,0C) 0,3 }B) 3 0D) 3, 不定值5、已知数组a的赋值情况如下所示,则执行语句a[2]++; 后a[1]和a[2]的值分别是_______________ 。

a[0] a[1] a[2] a[3]a[4]10 | 20 | 30 | 40 | 50|A) 20 和 30 C) 21 和 30 B) 20 和 31 D) 21 和 316、以下程序输出 a 数组中的最小值及其下标,在划线处应填入的是 _____________ main( ){ int i,p=0,a[10];for(i=0;i<10;i++) scanf("%d",&a[i]);for(i=1;i<10;i++)if(a[i]<a[p]) ____________ ;printf("%d,%d\n",a[p],p);A) i=p C) p=j ,并输出低于平均分的学生B) a[p]=a[i]D) p=i7 、以下程序的输出结果是 ________ 。

一维数组习题

一维数组习题

10、用插入法对输入的10个整数按由小到大的顺序排列。
main() x[j]=t { int x[10],j,k,l,t,flag; flag=0 for(j=0;j<10;j++) {scanf("%d",&t); x[l+1]=x[l] if(j==0) ; else { for(flag=1,k=0;k<j&&flag;k++) if(x[k]>t) ; if(flag) x[j]=t; else { for(l=j-1;l>=k-1;l--) ; x[k-1]=t; } }} for(j=0;j<10;j++) { printf("%6d",x[j]); if((j+1)%5==0) printf("\n"); } }
j+1 j- ++j n++
12.将两个升序数列归并后仍为升序数列。 main() { int a[10]={1,2,5,8,9,10},an=5; a[j] int b[10]={1,3,4,8,12,18},bn=5; j++ int j,k,l,c[20],max=9999; b[k] a[an+1]=b[bn+1]=max; k++ j=k=l=0; while(a[j]!=max||b[k]!=max) if (a[j]<b[k]) { c[l]= ; l++; ; } else { c[l]= ; l++; ; } for(j=0;j<l;j++) printf("%4d",c[j]); }

一维数组的例题

一维数组的例题
i++; } if (i<n) {
printf("the location =%d\n",i); } else {
printf("not found!\n"); } } 题 8 删除指定数据 /* arrayDelet1.c 在一个数组中找到指定数据,然后将后面的数前移
*/ #include <stdio.h> main() {
double x[]={10,20,50,9,8,100,2,18},tmp=0; double y[]={10,20,50,9,8,100,2,18}; int i=0,n=0,j=0; n=sizeof(x)/sizeof(double); printf("before sort:\n"); for (i=0;i<n;i++) printf("%6.1lf ",x[i]); //将小的数不断往前滚,则小的到前面去了,大的到了后面 for (i=0;i<=n-2;i++) //0-n-2 轮 {
//每轮将 0 到 for (j=0;j<n-i-1;j++) {
if (x[j]<x[j+1])//如果小的在左边则换到右边 {
tmp=x[j]; x[j]=x[j+1]; x[j+1]=tmp; } } } printf("\nafter sort big-->small:\n"); for (i=0;i<n;i++) printf("%6.1lf ",x[i]); //将大的数不断往后滚,则大的到后面去了,小的到了前面 //注意:对 y 排序 for (i=0;i<=n-2;i++) //滚的轮数 0-n-2 { for (j=0;j<n-i-1;j++) //从 0 到已经排好序的前一个 { if (y[j]>y[j+1]) //找一个极端的样例 i=0 时想想 { tmp=y[j];y[j]=y[j+1];y[j+1]=tmp; } } } printf("\nafter sort small-->big:\n"); for (i=0;i<n;i++) printf("%6.1lf ",y[i]); } 题 5 冒泡法 /* 将小的数不断往前滚,则小的到前面去了,大的到了后面,低到高 将大的数不断往前滚,则大的到前面去了,小的到了后面,高到低 所以后滚既可实现高到低,也可实现低到高 */ #include <stdio.h> main() {

C语言上机模拟试题(1)

C语言上机模拟试题(1)

C语言机试模拟试题一、改错题:(30分)1、求一维数组a中的值为偶数的元素之和。

#include <stdio.h>sum ( int arr[ ],int n ){ int i,s;s = 0;for ( i=0; i<n; i++)if (arr[i] % 2 == 0)/************found************/s=s+i;改为:s = s + arr[i];return (s);}void main(){ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s;/************found************/s = sum( a ,2 ); 改为:s = sum( a ,10 );printf("The result is: %d\n", s);}2、求一维数组a中的值为奇数的元素之和。

#include <conio.h>#include <stdio.h>int sum( int b[ ],int n ){ int i,s = 0;for ( i=0; i<n; i++)if (b[i] % 2 == 1)/************found************/s = s + b[i] 改为:s = s + b[i];return (s);}void main(){ int a[12]={10,4,2,7,3,12,5,34,5,9,21,19},n;/************found************/n = sum(a,2); 改为:n = sum(a,12);printf("The result is :%d\n",n );}3、求二维数组a中的最大值和最小值。

#include <stdio.h>void main(){ int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min;//clrscr();max = min = a[0][0];for ( i=0; i<3; i++)/************found************/for ( j=1; j<3; j++)改为:for ( j=0; j<3; j++){ if ( max < a[i][j] )max = a[i][j];/************found************/if (min < a[i][j]) 改为:if (min > a[i][j])min = a[i][j];}printf("The max is: %d\n", max);printf("The min is: %d\n", min);}4、求一维数组a中的最大元素及其下标。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言一维数组上机考试题目
以下是一些关于C语言一维数组的常见上机考试题目:
1. 编写一个程序,输入一个整数n,求出1到n之间所有偶数的和。

2. 编写一个程序,输入一个整数n,求出1到n之间所有数字的阶乘之和。

3. 编写一个程序,输入一个整数n,求出1到n之间所有数字的立方之和。

4. 编写一个程序,输入一个整数n,求出1到n之间所有数字的平方之和。

5. 编写一个程序,输入一个整数n,求出1到n之间所有数字的倒数之和。

6. 编写一个程序,输入一个整数n,求出1到n之间所有数字的绝对值之和。

7. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子之和。

8. 编写一个程序,输入一个整数n,求出1到n之间所有数字的质因子之和。

9. 编写一个程序,输入一个整数n,求出1到n之间所有数字的奇数因子之和。

10. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子个数之和。

以上题目只是示例,实际上关于C语言一维数组的上机考试题目还有很多其他类型。

考生应该掌握一维数组的基本概念和操作,并且能够灵活运用数组来解决问题。

相关文档
最新文档