C语言上机练习题 (2)
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);
2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1) 有下列程序:void sort(int a[],int n) { int i,j,t;for(i=0;i<n-l;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;} }main(){ int aa[10]:{1,2,3,4,5,6,7,8,9,10),i;sort(aa+2,5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是( )。
A. 1,2,3,4,5,6,7,8,9,l0,B. 1,2,7,6,3,4,5,8,9,10,C. 1,2,7,6,5,4,3,8,9,10,D. 1,2,9,8,7,6,5,4,3,10,(2) 执行下列程序后,变量a,b,C的值分别是( )。
int x=5,y=4;int a,b,c;a=(--x==y++)?X:++y;b=++x:c=y:A. a=5,b=5,c=5B. a=4,b=5,c=5C. a=5,b=6,c=5D. a=1,b=5,c=6(3) 设有如下定义:int arr[]={6,7,8,9,10);int*ptr:ptr=arr;*(ptr2)=2;printf("%d,%d\n",*ptr,*(ptr2)):则下列程序段的输出结果为( )。
A. 8,10B. 6,8C. 7,9D. 6,2(4) 以下所列的C语言常量中,错误的是()。
A. 0xFFB. 1.2e0.5C. 2LD. ‘72’(5) 数字字符0的ASCII值为48,运行以下程序的输出结果是( )。
《C语言程序设计上机指导与习题》(张健)599-0答案 第二部分 习题答案

第1章C语言概述一、选择题1.C 2.D 3.C 4.C 5.B6.C 7.C 8.D 9.C 10.A二、填空题1.主函数main 2.分号3./* */ //4.源程序.c 目标程序.obj 可执行程序.exe三、编程题1.参考代码#include <stdio.h>int main(){printf("欢迎来到C语言的世界!\n");return 0;}2.参考代码#include <stdio.h>int main(){int a,b,c;a=2;b=3;c=a+b;printf("c=%d\n",c);return 0;C 语言程序设计上机指导与习题 }第2章 算 法一、选择题1.D2.A3.A4.C5.B二、填空题1.算法2.顺序结构、选择结构(分支结构)、循环结构三、编程题1.算法的流程图如图2-1所示,算法的N-S 流程图如图2-2所示。
a>ba>cb>cmax=amax=c max=b max=c真真真假假假开始输入a ,b ,c 的值输出max 的值结束图2-1 流程图第二部分 习题答案输入a ,b ,c 的值判断a>b是否输出max 的值判断b>c判断a>c 是是否否max=amax=cmax=b max=c图2-2 N-S 流程图2.算法的流程图如图2-3所示,算法的N-S 流程图如图2-4所示。
开始num1=0,num2=0,num3=0输出num1,num2和num3的值结束No Yes 输入c 的值是否是小写字母num1++是否是大写字母num2++是否是数字num3++判断c 是否为#Yes No NoYes YesNo图2-3 流程图C 语言程序设计上机指导与习题判断是否是小写字母是否是否是大写字母是num1++否是否是数字num1=0,num2=0,num3=0输入c 的值是否num2++num3++当输入的字符c 不为#时输出num1,num2和num3的值图2-4 N-S 流程图第3章 C 程序设计基础一、选择题1.C 2.C 3.C 4.D 5.A 6.B 7.D 8.B 9.A 10.A 11.A 12.A 13.B 14.D 15.A 16.A17.B18.A19.A20.D二、填空题1.字母 数字 下划线 字母 下划线2.23.04.2第二部分习题答案5.1个2个6.(a/100) % 107.'f' 8.6 9.710.6.700000 2.000000 11.10,1812.d=13,e=13.200000三、编程题1.参考代码#include<stdio.h>int main(){int num,a,b,c;printf("Please input the number:");scanf("%d",&num);a=num/100;b=(num-100*a)/10;c=num-100*a-10*b;a+=b*10+c*100;printf("The result is%d\n",a);return 0;}2.参考代码#include <stdio.h>int main(){float c,f;f=120.3;c=5.0/9*(f-32);printf("c=%f\n",c);return 0;}3.参考代码#include <stdio.h>int main( ){C语言程序设计上机指导与习题int a,b,c;printf("请输入a的值\n");scanf("%d",&a);printf("请输入b的值\n");scanf("%d",&b);c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;printf("c=%d\n",c);return 0;}第4章顺序结构程序设计一、选择题1.A 2.D 3.B 4.A 5.C 6.D 7.B 8.B二、填空题1.空格制表符回车2.printf("%.2f\n",n);3.A4.0.33%5.n1=%04d\nn2=%04d6.①putchar(a); ②putchar(b);7.①b=a+32; ②putchar(b);8.n1=1,n2=129.aabb cc abc A B10.x=3.600000,i=3三、编程题1.参考代码第二部分习题答案#include <stdio.h>int main(){int i;int s1,s2,s3,s4;int sum;double average;sum=average=0;scanf("%d,%d,%d,%d",&s1,&s2,&s3,&s4);sum=s1+s2+s3+s4;average = (double)sum/4;printf("sum=%d\n",sum);printf("average=%f\n",average);return 0;}2.参考代码#include <stdio.h>int main(){char c1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+5;c2=c2+5;c3=c3+5;c4=c4+5;c5=c5+5;printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);return 0;}3.参考代码#include <stdio.h>int main(){int a=560;int h,m;h=a/60;C语言程序设计上机指导与习题m=a%60;printf("560分钟=%d小时%d分钟\n",h,m);return 0;}第5章选择结构程序设计一、选择题1.C 2.B 3.C 4.C 5.D 6.B 7.C 8.C 9.C 10.D 11.B 12.C 13.C 14.A 15.B 16.A 17.D 18.B 19.B 20.D二、填空题1.算术运算符赋值运算符2.a>1&&a<43.if(a%3)4.x>z||y>z5.11,19,30,16.67.08.①getchar(); ②ch<='Z'-6 ③ch=ch+6;④'Z'-6<ch&&ch<='Z' ⑤ch=ch+5-'Z'+'A';三、编程题1.参考代码#include<stdio.h>int main(){char num='0';第二部分习题答案scanf("%c",&num);if (num>='a'&&num<='z')printf("小写字母\n");else if (num>='A'&&num<='Z')printf("大写字母\n");elseprintf("不是字母\n");return 0;}2.参考代码#include<stdio.h>int main(){int grade;printf("input grade(0-100):");scanf("%d",&grade);if(grade>100)printf("Input error!\n");else if(grade>=90)printf("Very Good!\n");else if(grade>=80)printf("Good!\n");else if(grade>=70)printf("Middle!\n");else if(grade>=60)printf("Pass!\n");elseprintf("No pass!\n");return 0;}3.参考代码#include <stdio.h>int main(){int month;C语言程序设计上机指导与习题printf("input month(1-12):");scanf("%d",&month);if(month>=3&&month<=5)printf("spring");if(month>=6&&month<=8)printf("summer");if(month>=9&&month<=11)printf("autumn");if(month==12||month==1||month==2)printf("winter");if(month>12||month<1)printf("error month!");return 0;}4.参考代码#include <stdio.h>int main(){char c;printf("请输入一个大写字母:\n");scanf("%c",&c);if('B'<=c&&c<='Y')printf("前一个字母为%c,后一个字母为%c\n",c-1,c+1);else if(c=='A')printf("没有前面的字母,后一个字母为%c\n",c+1);elseprintf("前一个字母为%c,没有后面的字母",c-1);return 0;}5.参考代码#include <stdio.h>int main(){int a,b,c,t,x;printf("input 3 integers:");scanf("%d,%d,%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(b<c)x=b;else if(a<c)x=c;elsex=a;printf("the middle number is:%d",x);return 0;}第6章循环结构程序设计一、选择题1.B 2.B 3.B 4.A 5.B6.C 7.A 8.C 9.C 10.B11.B12.A13.C 14.B 15.A16.A 17.C 18.A 19.C 20.B二、填空题1.while do-while for 不管循环条件是否成立,do-while循环都先执行一次循环体,所以do-while循环的循环体至少执行一次,而while循环的循环体可能一次都不执行。
c语言上机习题

晕(作业3)看着这样的“回”形图案你晕吗?让我们不用数组,来做出它。
输入:n。
正方形的边长输出:边长为n 的数字回形方阵。
测试输入期待的输出时间限制内存限制额外进程测试用例1 以文本方式显示13↵以文本方式显示2 1 2 3↵38 9 4↵47 6 5↵无限制64M 0测试用例2 以文本方式显示54↵以文本方式显示6 1 2 3 4↵712 13 14 5↵811 16 15 6↵910 9 8 7↵无限制64M 0测试用例5 以文本方式显示105↵以文本方式显示11 1 2 3 4 5↵1216 17 18 19 6↵1315 24 25 20 7↵1414 23 22 21 8↵1513 12 11 10 9↵无限制64M 0开启时间2012年03月31日星期六12:00折扣时间2012年04月18日星期三23:55关闭时间2012年04月22日星期日23:55允许迟交:否H5 铺地板(选作)(作业3)背景:你是一名室内装潢工程队的配料员。
你的伙伴们喜欢采用“之”字型的方式铺大理石地砖,图案如下:1 2 6 7 153 5 8 14 164 9 13 17 2210 12 18 21 2311 19 20 24 25 学了C 语言以后,你决定编写一个程序,帮助你的同伴生成这样的图形。
输入:方阵N的大小。
输出方阵。
测试输入期待的输出时间限制内存限制额外进程测试用例1 以文本方式显示15↵以文本方式显示2 1 2 6 7 15↵3 3 5 8 14 16↵4 4 9 13 17 22↵510 12 18 21 23↵611 19 20 24 25↵1秒64M 0测试用例2 以文本方式显示73↵以文本方式显示8 1 2 6↵9 3 5 7↵10 4 8 9↵1秒64M 0 H7 子数整除(选作)()作业3对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:•sub1=a1a2a3•sub2=a2a3a4•sub3=a3a4a5例如,五位数20207可以拆分成:•sub1=202•sub2=020(=20)•sub3=207现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1、sub2、sub3都可被K整除。
大连理工大学C语言第二次上机第二次作业

代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,i;
double c,d,a1,b1;
srand(time(NULL));
a = rand()%10;
{
int i=1,n=1,h,day,st;
switch (mon)
{
case 1:h=7;day=31;break;
case 2:h=31;day=28;break;
case 3:h=31+28;day=31;break;
case 4:h=31+28+31;day=30;break;
case 5:h=31+28+31+30;day=31;break;
break;
case 3:
a1 = a;
b1 = b;
c = a1/b1;
c = (int)(c*100+0.5)/100.0;
printf("保留两位小数\n%d/%d= ",a,b);
break;
}
scanf("%lf",&d);
d = (int)(d*100)/100.0;
if (c==d) printf("\nRight!\n");
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Would you like to display another month (y/n) ? N
C语言上机试题

1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
.6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。
8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。
M与n为两个正整数,且要求m>n。
p=m!/n!(m-n)!10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
C语言上机内容(2)

一.选择题
二.程序题
1. 从键盘输入x,计算,并把结果输出到屏幕上;
如输入3.2,输出结果为0.324813
2.从键盘输入一个实数,输出这个实数的个位数和第一位小数的乘积,如输入42.834,则输出16
3. 从键盘输入x的值,计算fun(x),并将结果输出到屏幕上
4. 程序改错题:修改如下程序,使之完成功能:输出200以内除以3余数为2的所有自然数之和的平方根。
(只能对红色画线的部分修改,其他地方不能改动);
#include <stdio.h>
#include <math.h>
void main()
{
double s=0.0,y;
int i;
for(i=1;i<200;i++)
s+=i;
printf("y=%f\n",y);
}
5.程序填空,在横线上填入适当的语句,输出如下星型图案,其中行数n从键盘输入如下图,当n=5时
#include<stdio.h>
main()
{
;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
;
printf(" ");
for (k=1;k<=7;k++)
printf("*");
printf("\n");
}
}
6.编程输出100-200之间的所有能被3和5同时整除的整数,并统计个数。
C语言作业及上机习题(仅供参考)

第一次课熟悉win-TC编译环境、熟悉C语言程序结构1.使用C 语言编译环境,输入下面的源程序。
将你的程序命名为hello.c,然后编译运行它。
/* program writes the words "Hello, world" to the screen *File : Hello.c* By : NJCIT* Date : 07-03-09*/#include <stdio.h>main(){printf("Hello, world\n");return(0);}2.main() /*求两数之和*/{int a,b,sum; /* 这是变量定义*/a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);}问题:1.一个C语言源程序从哪里开始执行?2. C程序的函数由几部分构成?3. ANSI C 中的注释内容是用什么符号界定?第二次课熟悉printf()函数、常见转义字符及各种数据类型的输出格式1.2. main(){int a=5,b=7,c=-1;float x=67.8564,y=-789.124;char c=‘A’;long n=1234567;unsigned u=65535;printf(“%d%d\n”,a,b);printf(“%3d%3d\n”,a,b);printf(“%f,%f\n”,x,y);printf(“%-10f%-10f\n”,x,y);printf(“%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n”,x,y,x,y,x,y);printf(“%e,%10.2e\n”,x,y);printf(“%c,%d,%o,%x\n”,c,c,c,c);printf(“%ld,%lo,%x\n”,n,n,n);printf(“%u,%o,%x,%d\n”,u,u,u,u);printf(“%s,%5.3s\n”,”COMPUTER”,”COMPUTER”);}3. 假设下面的例子都是完整程序的一部分,那么他们每一个将会输出什么?4.加载,编译并运行下面的程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机任务三答案
1.打开程序modi3_1.c,程序存在一个错误,请修改、运行并查看结果。
#include<stdio.h>
void main()
{
int a=5,c,b=3; 求余数运算%两边应为整型数据
c=a%b;
printf("%d\n",c);
}
2.打开程序modi3_2.c,程序存在一个错误,请修改、运行并查看结果。
(注意:除了错误行,其它行不得修改)
#include<stdio.h>
void main()
{
int a=5,c;
float b=3.0;
c=a%(int)b; 强制类型转换时,类型名一定要用括号括起来
printf("%d\n",c);
}
3.打开程序modi3_3.c,程序存在一个错误,请修改、运行并查看结果。
方法一:
#include<stdio.h>
void main()
{
int a=8,b=8,c;
在变量定义中“a=b=8”为非法赋值
c=a+b;
printf("%d\n",c);
}
或者
方法二:
#include<stdio.h>
void main()
{
int a,b,c;
a=b=8; 合法的赋值语句
c=a+b;
printf("%d\n",c);
}
4.打开程序modi3_4.c,程序要求输出1000和25000;程序存在两个错误,请
修改、运行并查看结果。
#include<stdio.h>
void main()
{
float a,b;
a=1e+3; 用指数形式表示时,尾数部分不能空,指数部分必须为整数
b=0.25e5;
printf("%f\n%f\n",a,b);
}
5.打开程序modi3_5.c,程序填空题,程序要求:从键盘上输入一个小写字母(用getchar函数),要求输出大写字母(使用putchar函数);请修改、运行并查看结果。
#include<stdio.h>
void main()
{
char ch;
ch=getchar(); /* Fill Blank */
putchar(ch-32); /* Fill Blank */
putchar('\n');
}
6.打开程序modi3_6.c,程序填空题,程序要求:输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,要求输出保留两位小数。
例如输入100,输出37.78 。
#include <stdio.h>
void main()
{float f,c;
scanf("%f",&f);
c=5.0/9*(f-32);
printf("%6.2f\n",c);
}
注意:温度转换公式不能写为5/9。
7.新建程序prog3_1.c,实现以下内容:从键盘上输入一个整数x,输出=1的值,例如:输入2,输出y=9.8。
+
x
y x+
e
#include<stdio.h>
#include<math.h> 注意:若要使用数学函数,必须包含数学函数库。
void main()
{
int x;
float y;
scanf("%d",&x);
y=1+exp(x)+sqrt(x);
printf("y=%.1f\n",y);
}
8.新建程序prog3_2.c,填空实现以下内容:从键盘上输入一个字母,输出字母表中该字母的下一个字母,例如输入“A”,输出“B”;再输入“Z”,观察结果。
#include <stdio.h>
void main()
{
char a;
a=getchar();
putchar(a+1);
putchar('\n');}
或者:
#include <stdio.h>
void main()
{
char a;
scanf("%c",&a);
printf("result:%c\n",a+1);
}
注意:字符型数据的输入输出控制符。