b)max=a;elsemax=b;printf("最大值是:%d\n",max);return0;}第二次上机作业题目二:请编程实现输出如下图形,保存为test2.c(也可为星形,或正方形,图形不限)#includevoid" />
当前位置:文档之家› C语言历次上机作业总汇

C语言历次上机作业总汇

C语言历次上机作业总汇
C语言历次上机作业总汇

第一次上机作业

题目五:求两个数的中的较大值:(尝试运行并抄写在课本P9),并保存为test5.c

#include

int main( )

{

int a,b,max;

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

if(a>b)

max=a;

else

max=b;

printf("最大值是:%d\n",max);

return 0;

}

第二次上机作业

题目二:请编程实现输出如下图形,保存为test2.c(也可为星形,或正方形,图形不限)

#include

void main()

{

printf(" * \n");

printf(" *** \n");

printf(" ***** \n");

printf("*******\n");

printf(" ***** \n");

printf(" *** \n");

printf(" * \n");

}

题目四(选作题):编写一个程序,输入a,b,c三个值,输出其中最大者,保存为test4.c #include

void main()

{

int a,b,c,max;

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

if(a>=b && a>=c)

max=a;

else if(b>=a && b>=c)

else

max=c;

printf("max is %d\n",max);

}

第三次上机作业

题目一:编写以下程序,保存为test1.c

已知一个学生的C语言成绩为92.5,大学物理成绩为85,概率论成绩为79.5,编程求他的总分和平均成绩,并输出总分和平均成绩。

#include

void main()

{

float a=92.5,b=85,c=79.5;

int sum;

float aver;

sum=a+b+c;

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

printf("%d, %.2f\n",sum,aver);

}

题目二:编写程序实现如下功能,保存为test2.c

输入一个三位整数,找出每位上的数字,并反序输出这个数。如,输入456,则输出654的结果。

#include

void main()

{

int m,a,b,c,n;

printf("请输入一个三位数");

scanf("%d",&m);

a=m/100;

b=m/10%10;

c=m%10;

n=c*100+b*10+a;

printf("这个新的三位数为%d\n",n);

}

题目三:编写程序实现如下功能,保存为test3.c

己知小数x=10.1,y=20.2,求z的值,其中z=x*x+y*y

#include

void main()

{

float x=10.1,y=20.2,z;

z=x*x+y*y;

printf("%.2f\n",z);

}

题目四:编写程序实现如下功能,保存为test4.c

要将China译成密码.密码规律是:用原来的字母后面第4个字母代替原来的字母.例如.字母A后面的第4个字母是E 用E代替A.因此,CHINA应译为Glmre.请编一程序.用赋初值的方法使C1.C2.C3.C4.C5这五个变量的值分别为

#include

void main()

{

char c[]="China";

int i;

for(i=0;c[i]!='\0';i++)

c[i]=c[i]+4;

printf("%s\n",c);

}

第四次上机作业

题目二:由用户从键盘输入圆的半径,编程序求出圆的周长L和面积S。要求用scanf函数输入数据,输出时要求有文字说明,取小数点后2位数字,保存为test2.c。

#include

void main()

{

int r;

float L,S;

printf("请输入一个半径r");

scanf("%d",&r);

L=2*3.14*r;

S=3.14*r*r;

printf("周长是%.2f\n面积是%.2f\n",L,S);

}

题目四:用scanf语句输入一个学生的成绩,判断是否通过考试。判断标准是大于等于60为通过考试,保存为test4.c。

#include

void main()

{

int score;

scanf("%d",&score);

if(score>=60 && score<=100)

printf("PASS\n");

else if(score>0 && score<60)

printf("NOT PASS\n");

else

printf("ERROR\n");

}

题目五:给定一个大写字母,要求用小写字母输出,并且输出该小写字母对应的ASCII码。保存为test5.c。

#include

void main()

{

char A;

printf("%c,%d\n",A+32,A+32);

}

选作题:

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。

现在要求输入一个三位数,然后判断它是不是水仙花数,如果是水仙花数,就输出这个数,否则不输出。

#include

void main()

{

int m,a,b,c;

scanf("%d",&m);

a=m/100;

b=m%100/10;

c=m%10;

if(m==a*a*a+b*b*b+c*c*c)

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

}

第5次作业

作业1:请用getchar putchar来实现输入一个大写字母,要求用小写字母输出,并且输出该小写字母。

#include

void main()

{

char A,a;

A=getchar();

a=A+32;

putchar(a);

putchar('\n');

}

作业2:请用if语句实现“奖学金评定”的编程。如输入一个百分制成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’。

判别学生成绩的等级:

90~100分A级;

80~89分B级;

70~79分C级;

60~69分D级;

<60分E级。

#include

void main()

{

int score;

scanf("%d",&score);

if(score>=90 && score<=100)

printf("A\n");

else if(score>=80 && score<90)

printf("B\n");

printf("C\n");

else if(score>=60 && score<70)

printf("D\n");

else if(score>=0 && score<60)

printf("E\n");

else printf("ERROR\n");

}

作业4:输入某一年,判定这一年是不是闰年,并输出判定结果。

#include

void main()

{

int year;

scanf("%d",&year);

if((year%4==0 && year%100!=0) ||year%400==0)

printf("这年是闰年\n");

else

printf("这年不是闰年\n");

}

作业5:课本P112 习题6

#include

void main()

{

int x,y;

scanf("%d",&x);

if(x<1)

y=x;

else if(x>=1 && x<10)

y=2*x-1;

else

y=3*x-11;

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

}

作业6:编程序,输入月份数,输出是那个季节。(春3 4 5月,夏6 7 8,秋9 10 11,冬12,1,2月)#include

void main()

{

int month;

scanf("%d",&month);

if(month>12 || month<1)

printf("ERROR\n");

else if(month>11 && month<3)

printf("春天\n");

else if(month>2 && month<6)

printf("夏天");

else if(month>5 && month<9)

printf("秋天\n");

else printf("冬天\n");

选作题:有3个整数a,b,c,由键盘输入,输出其中最大的数。

#include

void main()

{

int a,b,c,max;

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

if(a>=b && a>=c)

max=a;

else if(b>=a && b>=c)

max=b;

else

max=c;

printf("max is %d\n",max);

}

选作题:输入一个字符,判定它的类别,比如是数字、小写字母、大写字母和其他字符。

#include

void main()

{

char c;

scanf("%c",&c);

if(c>='0' && c<='9')

printf("数字\n");

else if(c>='a' && c<='z')

printf("小写字母\n");

else if(c>='A' && c<='Z')

printf("大写字母\n");

else printf("其他字符\n");

}

第六次作业

作业1:请用switch语句实现“奖学金评定”的编程。如输入一个百分制成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’。

判别学生成绩的等级:

90~100分A级;

80~89分B级;

70~79分C级;

60~69分D级;

<60分E级。

当输入为负数或者大于100的数提示出错。保存为test1.c

#include

void main()

{

float a;

printf("请输入成绩:\n");

scanf("%f",&a);

printf("error\n"); //防止输入104…输出A

else switch((int)(a/10)) //int取整如10.26 舍入后为10,如-5.2 舍入后为-6 {

case 10 :

case 9: printf("A\n");break;

case 8: printf("B\n");break;

case 7: printf("C\n");break;

case 6: printf("D\n");break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0: printf("E\n");break;

default: printf("error\n");

}

}

作业2:请输入3个整数,输出其中最大的数。保存为test2.c

#include

void main()

{

int a,b,c,max;

printf("请输入三个整数:\n");

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

max=a;

if(a

max=b;

else if(a

max=c;

printf("max=%d\n",max);

}

作业3:给一个不多于5位的正整数,请输入它是几位数。保存为test3.c

#include

void main()

{

int a,b;

printf("请输入一个不多于5位的正整数:");

scanf("%d",&a);

if(a>9999 && a<100000)

b=5;

else if(a>999 && a<10000)

b=4;

else if(a>999 && a<10000)

b=3;

else if(a>999 && a<10000)

b=2;

else if(a>-1 && a<10)

else printf("error\n");

printf("这是一个%d位数",b);

}

作业4:从键盘上输入三个数据(要求有数据输入前提示),看是否可以构成三角形,如果可以构成三角形,然后判断它是否为等腰三角形以及等边三角形还是直角三角形,否则输出不构成三角形。保存为test4.c

#include

void main()

{

int a,b,c;

printf("请输入三个数据:\n");

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

if(a>0 && b>0 && c>0 && a+b>c && b+c>a && a+c>b)

{ printf("这三边能够成三角形\n");

if(a==b==c)

printf("这三边构成等边三角形");

else if(a==b || b==c || c==a)

printf("这三边构成等腰三角形");

else if(a*a+b*b==c*c || c*c+b*b==a*a || c*c+a*a==b*b)

printf("这三边构成直角三角形"); }

else

printf("这三边不能够成三角形\n");

}

作业5:输入一个实数,求该实数的绝对值,要求用条件表达式来完成。保存为test5.c

#include

void main()

{

float a;

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

scanf("%f",&a);

printf("该实数的绝对值为%.2f",a=a>0?a:-a);

}

作业6:输入某年某月某日,输出这一天是这一年的第几天?保存为test6.c

Input

输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output

对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input

1985/1/20

2006/3/12

Sample Output

20

71

第二步:先计算某月以前月份的总天数

第三步:注意闰年的判断

最后输出天数。

可以用if elseif elseif elseif …….等完成,也可以用switch 语句来实现。

#include

void main()

{

int year,month,day;

printf("请输入年月日\n");

scanf("%d %d %d",&year,&month,&day);

switch(month)

{

case 1:day+=0;break;

case 2:day+=31;break;

case 3:day+=59;break;

case 4:day+=90;break;

case 5:day+=120;break;

case 6:day+=151;break;

case 7:day+=181;break;

case 8:day+=212;break;

case 9:day+=243;break;

case 10:day+=273;break;

case 11:day+=304;break;

case 12:day+=334;break;

default:printf("error");break;}

if((year%4==0 && year%100!=0) || (year%400==0))

day+=1;

else day=day;

printf("这是%d年的第%d天",year,day);

}

第7次作业

作业1:编程序完成以下功能:输入一个整数判断它能不能被3整除,如果能被3整除,就输出这个数,否则不输出。保存为test1.c

#include

void main()

{

int a;

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

scanf("%d",&a);

if(a%3==0)

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

else printf("\n");

}

作业2:编程序完成以下功能:输入数字1-7中的一个数,按照输入的值输出对应的星期(星期一到星期天),请用switch语句来实现。保存为test2.c

int a;

printf("请输入一个1到7的整数\n");

scanf("%d",&a);

switch(a)

{

case 1:printf("星期一"); break;

case 2:printf("星期二"); break;

case 3:printf("星期三"); break;

case 4:printf("星期四"); break;

case 5:printf("星期五"); break;

case 6:printf("星期六"); break;

case 7:printf("星期日"); break;

default:printf("error\n");

}

}

作业3:编程序完成以下功能:输入三个学生的成绩(整型),求这三个学生的总成绩和平均成绩(保留2位小数)。保存为test3.c

#include

void main()

{

int a,b,c;

float aver;

printf("请输入三名学生的成绩\n");

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

aver=(a+b+c)/3.0;

printf("总成绩为%d\n",a+b+c);

printf("平均成绩为%.2f\n",aver);

}

作业4:编程序完成以下功能:输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离(保留2位小数)。提示:开平方用sqrt函数,因为要用到数学函数,要在main()前加#include,保存为test4.c

#include

#include

void main()

{

float x1,y1,x2,y2;

double d;

printf("请输入第一个坐标\n");

scanf("%f %f",&x1,&y1);

printf("请输入第二个坐标\n");

scanf("%f %f",&x2,&y2);

d=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));

printf("这两点之间的距离是%.2f\n",d);

}

作业5:编程序完成以下功能:根据输入的半径值,计算球的体积(保留2位小数)。保存为test5.c

#include

float r;

double v;

printf("请输入半径\n");

scanf("%f",&r);

v=4*P*r*r*r/3;

printf("球的体积是%.2f",v);

}

第八次作业

【作业2】将100~200之间的所有不能被3整除的数输出,要求输出格式尽量美观,保存为test3.c

#include

void main()

{

int i,a=0;

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

{ if(i%3!=0)

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

a++; if(a%4==0) printf("\n");

}

}

【作业3】输出100-900之间所有水仙花数。水仙花数是指个位、十位、百位数字的立方和为这个数本身。例如,153是一个水仙花数,因为153=1^3+5^3+3^3。保存为test4.c

#include

void main()

{

int i,a,b,c;

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

{a=i/100;

b=(i/10)%10;

c=i%10;

if(i==a*a*a+b*b*b+c*c*c)

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

}

}

【作业4】计算下式前n项的和,例如,当形参n的值为10时,函数返回:9.612558。保存为test5.c

#include

#define n 10

void main()

{

int i;

double s=0;

s+=(2*i-1)*(2*i+1)/((2.0*i)*(2*i));

printf("%f\n",s);

}

【作业5】输入一个数,判断该数是否为素数。保存为test6.c

#include

void main()

{

int a,i;

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

scanf("%d",&a);

for(i=2;i

{ if(a%i==0)

break;

}

if(i>=a)

printf("%d是素数\n",a);

}

【作业6】输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。保存为test7.c

#include

void main()

{

char a;

int i=0,j=0,k=0,l=0;

printf("请输入一些字符\n");

while((a=getchar())!='\n')

{

if((a>='a' && a<='z') ||(a>='A' && a<='Z'))

i++;

else if(a>='0' && a<='9')

j++;

else if(a==' ')

k++;

else l++;}

printf("字母有%d\n数字有%d\n空格有%d\n其他字符有%d\n",i,j,k,l);

}

第九次作业

【作业1】求费波那西(Fibonacci)数列的前40个数,要求一行显示5个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。

#include

int main()

{ int f1=1,f2=1,f3;

int i;

printf("%12d %12d",f1,f2);

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

{ f3=f1+f2;

if(i%4==0) printf("\n"); //每输出四个数后换行f1=f2;

f2=f3;

}

return 0;

}

【作业2】在屏幕上输出上三角九九乘法表。

#include

void main()

{

int i,j;

for(i=9;i>=1;i--)

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

printf("%d*%d=%d",i,j,i*j);

printf("\n");

}

}

【作业3】输出以下4*4的方阵。

1 2 3 4

2 4 6 8

3 6 9 12

4 8 12 16

#include

void main()

{

int i,j;

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

{ for(j=1;j<=4;j++)

printf("%9d",i*j);

printf("\n");}

}

【作业4】编写程序,输出100~200间的所有素数。

#include

void main()

{

int i,j;

{ for(j=2;j<=i-1;j++)

if(i%j==0) break;

if(j>=i)

printf("%d是素数\n",i);

}

}

第10次作业

【作业1】要求用数组来实现:输出费波那西(Fibonacci)数列的前40个数,要求一行显示4个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。

#include

void main()

{ int i,n=0;

int a[40]={1,1};

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

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

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

{ printf("%10d",a[i]); n++;

if(n%6==0) printf("\n"); }

}

【作业2】输入10个数存入数组中,要求对这10个数按从大到小排序。

#include

void main()

{

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

printf("请输入十个数");

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

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

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

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

if(a[i]

{p=a[i];

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

a[i+1]=p;}

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

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

printf("\n");

}

【作业3】输入N个数据存入数组中,输出其中的最小元素和最大元素。

#include

#define n 10

void main()

{

int a[n],i,max,min;

printf("请输入十个数");

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

max=a[0];

min=a[0];

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

{ if(a[i]>max)

max=a[i];

if(a[i]

min=a[i];}

printf("max=%d min=%d\n",max,min);

}

【作业4】有8个数(89 78 99 56 78 67 90 67)存入数组中,求这8个数的平均值,并输出平均值,以及大于平均值的数。

#include

void main()

{

int a[8]={89,78,99,56,78,67,90,67},i,aver,s=0;

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

s+=a[i];

aver=s/8;

printf("平均值为%d\n",aver);

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

{if(a[i]>aver)

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

}

【作业5】将a所指数组中的前半部分元素中的值和后半部分元素中的值对换。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。

#include

#define n 10

void main()

{

int a[n],i,p;

printf("请输入%d数",n);

for(i=0;i

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

for(i=0;i

{ p=a[i];

a[i]=a[i+n/2];

a[i+n/2]=p;

}

for(i=0;i

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

}

【选作题】举一反三:输入十个学生的成绩到数组A,然后将大于平均分的成绩放入数组B中,并输出。

#include

#define n 10

void main()

int a[n],b[n],i,j=0,m,aver,s=0;

printf("请输入%d数",n);

for(i=0;i

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

for(i=0;i

s+=a[i];

aver=s/n;

for(i=0;i

if(a[i]>aver)

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

m=j;

for(j=0;j

printf("高于平均分得有%4d\n",b[j]);

}

第11次作业

【作业1】用起泡法对六个数排序(由大到小)这六个数是9,3,5,4,2,0。

【作业2】有一个3×4的矩阵(如下图),要求编程序以求出其中值最大的那个元素的值及其所在的行号和列号。

【作业3】设有一个二维数组A(4,4),数据自已给出。请编程序计算:

(1)求两条对角线元素之和,并输出

(2)计算并输出各列的和

(3)交换第二行和第三行的位置,并输出处理后的数据

【作业4】:己知一字符数组,数一数数组中大写字母的字符个数。

【作业5】:己知一字符数组,将数组中的大写字母全部转换成小写字母。

【作业6】:编一程序,将两个字符串连接起来,不要用strcat函数。

1

#include

#define n 6

void main()

{

int a[n],i,j,p;

printf("请输入%d数",n); //自己输入

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

for(j=0;j

for(i=0;i

if(a[i]

{ p=a[i];

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

a[i+1]=p;}

for(i=0;i

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

printf("\n");

}

2

#include

#define n 4

#define m 3

void main()

{

int a[m][n],i,j,p,q,max;

printf("请输入%d数",m*n); //自己输入

for(i=0;i

for(j=0;j

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

for(i=0;i

{for(j=0;j

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

printf("\n");}

max=a[0][0];

p=0;q=0;

for(i=0;i

for(j=0;j

if(a[i][j]>max)

{max=a[i][j];

p=i;

q=j;

}

printf("最大值为%d 行号为%d 列号为%d",max,p+1,q+1);

}

3

#include

#define n 4

#define m 4

void main()

{

int a[m][n],i,j,s=0,l=0,k=0,o=0,r=0,p;

printf("请输入%d数",m*n); //自己输入

for(i=0;i

for(j=0;j

for(i=0;i

{for(j=0;j

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

printf("\n");}

for(i=0;i

for(i=0;i

for(j=0;j

if(i+j==3 || i==j)

s+=a[i][j];

printf("对角线元素之和为%d\n",s);

for(i=0;i

{l+=a[i][0];

k+=a[i][1];

o+=a[i][2];

r+=a[i][3];

}

printf(" 第一列元素之和为%d\n 第二列元素之和为%d\n 第三列元素之和为%d\n 第四列元素之和为%d\n",l,k,o,r);

for(j=0;j

{p=a[1][j];

a[1][j]=a[2][j];

a[2][j]=p;}

printf("交换后的矩阵:\n");

for(i=0;i

{for(j=0;j

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

printf("\n");}

}

4

#include

#define n 40

void main()

{

char a[n];

int i,b=0;

printf("请输入%d个字符",n); //自己输入

for(i=0;i

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

for(i=0;i

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

printf("数组中大写字母个数为%d\n",b);

}

5

#include

#define n 10

void main()

{

char a[n];

int i;

printf("请输入%d个字符",n); //自己输入

for(i=0;i

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

for(i=0;i

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

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

for(i=0;i

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

}

6 #include

void main()

{

int i=0,j=0;

char s1[10],s2[10];

scanf("%s %s",s1,s2);

while(s1[i]!='\0')

i++;

while(s2[j]!='\0')

s1[i++]=s2[j++];

s1[i]='\0';

printf("%s\n",s1);

}

第12次作业

【作业1】:己知一字符数组,数一数数组中大写字母的字符个数。

【作业2】:己知一字符数组,将数组中的大写字母全部转换成小写字母。

【作业3】:将ss所指字符串中所有下标为奇数位上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入"abc4EFg",则应输出"aBc4EFg"。

【作业4】:编一程序,将两个字符串连接起来,不要用strcat函数。

[作业5] 请编程序,求出二维数组周边元素之和。二维数组中的值为

2 9 9 9 4

6 9 9 9 8

1 3 5 7 0

则函数值为61。

【作业6】输入5个学生的学号和姓名,按学生的姓名由小到大顺序进行排序,学号顺序也随之调整。1

#include

#define n 40

void main()

{

char a[n];

int i,b=0;

printf("请输入%d个字符",n); //自己输入

for(i=0;i

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

for(i=0;i

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

b++;

printf("数组中大写字母个数为%d\n",b);

}

2

#include

#define n 10

void main()

{

char a[n];

int i,b=0;

printf("请输入%d个字符",n); //自己输入

for(i=0;i

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

for(i=0;i

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

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

for(i=0;i

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

}

3.

#include

void main()

{

int i;

char ss[10];

scanf("%s",ss);

for(i=0;ss[i]!='\0';i++)

if(ss[i]>='a' && ss[i]<='z' && i%2==0)

C语言上机作业

1.输入十个整数,分别输出这10个数再计算并输出它们的和。 源程序: #include void main() { int i,sum=0; int a[10]; printf("input 10 intergers:\n"); for(i=0;i<=9;i++) { scanf("%d",&a[i]); } for(i=0;i<=9;i++) { sum+=a[i]; printf("%d ",a[i]); } printf("sum=%d\n",sum); } 运行结果: 2.输入10个不同的数,将它们存入数组a中,在输入一个数x。然后在数组中查找x。如果找到,则输出相应下标,否则输出“not found”。 源程序:#include void main() { int a[10],i,j,x; printf("Input data of a[10]:\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]);

} printf("Input x:"); scanf("%d",&x); for(j=0;j<10;j++) { if(x==a[j]) { printf("%d\n",j); goto L1; } } printf("not found\n"); L1: ; } 运行结果:

3.输入一个整数n(1 void main() { int n,i,s,min,a[10]; printf("Input a interger n(1a[i]) min==a[i]; } for(i=0;i

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

5-6次C语言上机作业

实验5 函数(1) 【实验题5-1】以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上。调试运行程序,观察出现了什么错误,提出两种修改方案。 【实验题5-2】下程序的功能:输出3~1000之的间的素数。请选择合适的内容填入程序的空白处,并调试运行程序。

【实验题5-3】从键盘输入一个整数n,计算n^3,并将结果输出在屏幕上。要求计算n^3用函数实现。 【实验题5-4】从键盘输入一个整数n,计算2n+1与++n之和。要求计算两数之和用函数

实现。 注意写计算表达式的时候3*n之间的乘号不要丢掉,否则会提示:invalid suffix “n” on integer constant. 调用用户自定义函数是只写ifun=fun(n); 就可以了,不要在括号里加上int。Ifun=fun(int n) × 【实验题5-5】编写程序,计算Cmn=n!/(n-m)!m!。要求如下: 1)编写一个函数计算n!; 2)编写主函数,输入n和m, 调用第1)项中的函数完成计算; 3)输出并计算C58、C712的结果。

【实验题6-1】以下程序功能:用已知三角形三边,求三角形面积。但程序有错,请上机调试并改正错误。

【实验题6-2】以下程序运行的结果应该是a=14, b=15,temp=0。在程序空白处填写适当的编译预处理命令。 【实验题6-3】用for循环输出20个0~99之间的随机数。要求没输出五个随机数换一行。 【实验题6-4】从键盘输入一个字母,如果是大写字母就转换成小写字母输出;如果是小写字母就转换成大写字母输出。要求用库函数实现。

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

7~8次C语言上机作业

实验7 数组(1) 【实验题7-1】此程序的功能:给数组元素赋值并进行输出。但程序中有错误,请查找原因,并调试程序以实现程序功能。 【实验题7-2】以下程序的功能:求整型数组中元素的最大值及其下标。请选择合适的内容填入程序中空白处。 【实验题7-3】以下程序的功能:把整型数组里的元素按逆序进行排序并输出。请选择合适的内容填入程序中空白处。 【实验题7-4】编写一个程序,定义一个有五个元素的一维数组,从键盘对该数组的元素进行赋值后再显示在屏幕上。 【实验题7-5】编写程序对整型数组iA的各元素进行从大到小排序。 【实验题7-6】在数组iA和数组iB中分别存放了na和nb个由小到大的有序数。编写程序,完成把两个数组中的元素按从小到大的顺序归并存放在数组iC中。 【实验题7-7】假设数组iA中的元素按由小到大的顺序存放。编写程序把数组iA中相同的元素删除至一个,然后按照每行六个元素的形式输出数组iA中的各个元素值。 【实验题7-8】在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素为该二维数组的一个鞍点。编写程序要求从键盘输入一个二维数组,当鞍点存在时,把鞍点找出来。 #include #define M 3 #define N 4 int main(){ int a[M][N],i,j,k; printf("\n请输入二维数组的数据:\n"); for(i=0;i for(j=0;j scanf("%d",&a[i][j]); for(i=0;i for(j=0;j

printf("M",a[i][j]); printf("\n"); } for(i=0;i k=0; for(j=1;j if(a[i][j]>a[i][k]) k=j; for(j=0;j if(a[j][k] break; if(j==M) printf("%d,%d,%d\n",a[i][k],i,k); } return 0; } 上面这个题代码运行不了,可又找不到问题所在,头疼!!! 实验8 数组(2) 【实验题8-1】此程序的功能:过滤字符数组中数字并进行输出。但程序中有错误,请查找原因,并调试程序以实现程序功能。 【实验题8-2】此程序的功能:统计字符数组中出现字符“s”的次数,并进行输出。但程序中有错误,请查找原因,并调试程序以实现程序功能。 【实验题8-3】以下程序的功能:连续输入一批“#”结束的字符串,遇“##”则全部结束,统计并输出每个字符串的有效长度。请选择适当的内容填入空白处。 【实验题8-4】

扬州大学C语言上机作业1-9整理

答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a; a=b; b=c; printf("%d,%d\n",a,b); getch(); } 5.设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a+b; a=c; printf("a=%d,b=%d\n",a,b); getch(); } 6.从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。 #include void main() { int x,y; printf("enter first integer : "); scanf("%d",&x); y=x*x*x+3*x*x+x-10;

printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include void main() { int a,b,hour,min; printf("enter first integer : "); scanf("%d",&a); b=60; hour=a/b; min=a%b; printf("hour=%d,min=%d\n",hour,min); getch(); } 2.编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。 #include void main() { int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; printf("%d,%d",c,d); getch(); } 3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。 #include void main() { int a,b,c,d; printf("enter first integer : "); scanf("%d",&a);

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

大连理工c语言第五次上机作业参考答案

第五次上机作业:(请用指针实现) 1.数据移位 有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。 SAMPLE OUTPUT Input n(n<=10):10 Input 10 integers:1 2 3 4 5 6 7 8 9 10 Output the original:1 2 3 4 5 6 7 8 9 10 Input m(m<=10):4 Output the shifted:7 8 9 10 1 2 3 4 5 6 #include #define N 10 void shift(int a[ ],int n,int m); void main( ) { int i,n,m; int a[N]; printf("Input n(n<=10):"); scanf("%d",&n); printf("Input %d integers:\n",n); for(i=0;i=0;j--) a[j+1]=a[j]; a[0]=t; } } n

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

C语言作业3

撞球

#include #include #include int main() { double length,wide,x0,y0,x1,y1; int i; char towards[1500]; while(1) { memset(towards,0,sizeof(towards)); if(scanf("%lf %lf",&wide,&length)==EOF) break; scanf("%lf %lf",&x0,&y0); scanf("%lf %lf",&x1,&y1); scanf("%s",towards); for(i=0;i

x0=-x0; if(towards[i]=='R') x0=2*wide-x0; } printf("%.4lf\n",sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1))); } return(0); } 20. 整数问题 成绩: 0 / 折扣: 0.8 请求输出满足以下条件的n 位正整数的个数: 要求该n位整数的从高位开始前1位可以被1整除,该n位整数前2位可以被2*2整除,该 整数前3位可以被3*3整除,该整数前4位可以被4*4整除……。即该整数前k位都可被k 平方整除。 例如:n=1,则符合条件的1位正整数为1~9,输出答案9。n=2,符合条件的正整数为:12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96,则输出答案22。当n=4时,2432就是一个符合题意的整数。第一位2可以被1整除; 前2为24可以被4整除;前3位243可以被9整除;整个4位2432可以被16整除。 输入: n(0<=n<9) 输出: 符合该条件的n位正整数的数量 (本题目为软件学院2007年保研学生初试上机试题。本题可以不用数组) 测试输入期待的输出时间限制内存限制额外进程 测试用例 1以文本方式显示 1.1? 以文本方式显示 1.9? 无限制64M 0 测试用例 2以文本方式显示 1.2? 以文本方式显示 1.22? 无限制64M 0 测试用例 6以文本方式显示以文本方式显示无限制64M 0

c语言上机模拟题1

1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。 A. 实时控制 B. 计算机辅助设计 C. 数据处理 D. 科学计算 参考答案:C 2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。 A. 计算机的硬件系统 B. 计算机上配置的操作系统 C. 计算机的软件系统 ! D. 由硬件系统和软件系统组成 参考答案:D 3.微型计算机的微处理芯片上集成的主要组件包括______。 A. 控制器和运算器 B. 内存和控制器 C. 控制器和存储器 D. 运算器和I/O接口 参考答案:A 的对话框窗口不可以______。 A. 关闭

【 B. 移动 C. 任意改变大小 D. 最小化 参考答案:C 5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。 A. xing%参考答案:D 6.下列对C语言程序的描述中,正确的是_______。 A. C语言程序总是从第一个定义的函数开始执行 B. C语言程序总是从最后一个定义的函数开始执行 C. C语言程序总是从main()函数开始执行 < D. C语言程序中的main()函数必须放在程序的开始部分 参考答案:C 7.设有char ch='\\';,则变量ch包含______个字符。 A. 1 B. 2 C. 3 D. 4 参考答案:A 8.以下选项中合法的字符常量是____________。 A. '\101' {

B. '\97' C. '\xyz' D. '\019' 参考答案:A 9.下面用户标识符中合法的是____________。 A. iPhone# B. 13a C. char D. _int 参考答案:D ( 10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是 _______。 A. 5 B. C. 3 D. 2 参考答案:D 11.设有定义int b=0;,表达式_______与其它表达式的值不相同。 A. b+=1 B. b++ C. ++b

C语言上机试题答案

//vc1 //prog1.cpp //设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。#include"stdio.h" main() { int a[3],i,j,t; for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<9;i++) /*此处的i可以小于任意一个大于6的整数*/ { for(j=0;j<2;j++) { if(a[j]>a[j+1]) t=a[j],a[j]=a[j+1],a[j+1]=t; } } printf("The three data from small to big is:"); for(i=0;i<3;i++) printf("%d ",a[i]); } //vc1 //prog2.cpp //求1+3+5+...+95+97+99的和。 #include"stdio.h" main() { int i,sum=0; for(i=1;i<100;i=i+2) sum+=i; printf("1+3+5+....+99=%d\n",sum); } //vc1 //prog3.cpp //写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此

整数为素数”,否则输出“整数非素数”。(注:要求从主函数输入整数)#include"stdio.h" main() { int i,j,k,l=2; printf("输入一个大于3的整数:"); scanf("%d",&i); for(j=2;j=0;i--) printf("%d ",a[i]); for(i=0;i<10;i++) sum+=a[i]; printf("The total is:%d\n",sum); } //vc2 //prog2.cpp //输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。

C语言上机作业

《程序设计基础—C程序实验》 说明: 实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。 实验1 计算机基本操作 实验目的 ⑴熟悉计算机,能够正确进行开、关机操作。 ⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。 ⑶理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。 ⑷知道“回收站”的功能,学会有关文件、文件夹的基本操作。 ⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。 实验内容 ⑴熟悉上机实验的计算机,熟悉键盘,学会中、英文输入方式的转换。 ⑵学会用正确的指法进行输入,知道键盘上所有字符的输入。 ⑶利用“控制面板”修改系统时间、桌面背景、鼠标属性。 ⑷在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名。 ⑸用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中。 ⑹将上述文件夹复制到ftp://10.10.9.222上。

实验2 常用软件的基本操作 实验目的 ⑴了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置、分栏、页面设置、添加底纹等。 ⑵学会文件的保存与打开、打印预览、段落的间隔、首字符位置改变等,能够在Word中插入图片、表格、艺术字、特殊符号等。 ⑶了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置、数字的几种填充形式、单元格的合并与恢复、边框的设置等。 ⑷掌握Excel的基本公式的使用,能够用公式进行基本计算。掌握Excel中的图形制作方法,能够根据表格做出图形。 实验内容 ⑴将ftp上自己文件夹中的1.doc文件复制到桌面上,然后做如下处理: ①将标题“自我介绍”居中; ②将文章中第二段的内容进行分栏,要求中间有分割线; ③插入一个4行4列的表格,内容为学号、姓名、某门课的成绩; ④任意插入一张图片; ⑤在文章中的任意位置加底纹。 将做好的文档以2.doc命名并保存。 ⑵用Excel建立如下表格: 学生的总成绩 学号姓名语文数学英语计算机总分平均分 09001 张辉78 90 80 92 09003 万明84 87 83 90 09004 杜芳鸣91 80 78 95 09006 徐好芳87 85 80 85 09007 江珍80 67 78 70 09008 王豪78 73 85 80 09009 王小盟75 89 94 88 09010 胡甜甜82 93 88 95 09012 卫晓88 97 65 72 并对表格进行如下操作: ①利用公式计算学生的总分、平均分; ②将表中所有的数据选择居中; ③利用该表格中的姓名和计算机的成绩做簇状图形。 将做好的Excel表以2.xls命名并保存。 将本次实验的两个文件上传到ftp上自己的文件夹中。

C语言上机题及答案

C语言程序设计上机题 编写函数实现从键盘输入一个字符串,再将其逆序输出。 #include //宏定义 #include //调用string库函数 void main() { int i,n; char a[30]; //定义字符型数组 gets(a); //输入字符串 n=strlen(a); //调用strlen函数,测量字符串长度 for(i=n;i>=0;i--) //通过for循环倒序输出 printf("%c ",a[i]); printf("\n"); } 编写函数求出10!的值并输出。 #include //宏定义 void main() { unsigned int a,num=1; for(a=1;a<=10;a++) //for循环求出10的阶乘 num=num*a; printf("%d\n",num); //输出所求值 } 编写函数实现10个元素数组的平均值,并在主函数输出。 #include //宏定义 float dy(int *a,int n) // 子函数, { float sum=0,p; int i; for(i=0;i<10;i++) //for循环求数组和 sum=*(a+i)+sum; // 数组指针 p=sum/10.0; // 求平均数 return p; // 返回平均数P的值 } void main() { int i,a[10]; for(i=0;i<10;i++) //for循环输入数组的十个数字scanf("%d",&a[i]); printf("%f\n",dy(a,10)); // 输出子函数返回的平均值}

C语言实训作业

C语言实训作业 文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

《C语言通识教育》实训指导书 (实训课) (2学时) 指导教师:何天成 2016 年月日

前言 C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。因此,C 语言正在被迅速地推广和普及。上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。本指导书可增强同学上机实验的针对性。整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解 C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。 本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。共计约14次实训课,其中每一讲内容分1、2两次上课。每个实验内容结构如下: (1)实验学时 (2)实验目的 (2)预习要求 (4)实验内容 (5)实验注意事项 (6)思考题 其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。 在实验之前,要求学生对实验作好预习工作。在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。一般要求准备好相关代码,实验课中最好以调试和讨论为主。 实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy别人的运行结果。通报告具体内容可根据实验内容和实验要求进行增删。实验报告一般要求包含: (1)实验题目 (2)设计思路或算法分析 (3)流程图 (4)程序源代码 (5)程序运行结果及分析

C语言上机试题及答案

实验一 Visual C++6.0的使用及顺序结构程序设计 一、实验目的 1、掌握启动和退出VC6的方法。 2、熟悉VC6开发环境。 3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。 4、初步掌握程序的编辑修改和调试。 5、熟练使用赋值运算、算术运算等表达式。 6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。 二、实验内容 1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。 请同学们按照下面的实验指导学习VisualC++6.0的使用。 1.启动VisualC++6.0开发环境 (1)单击“开始”按钮,选择“程序” ——〉“Microsoft Visual Studio 6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。 (2)单击“结束”按钮,关闭窗口,进入VC6.0开发环境的主窗口。 2.使用Visual C++6.0对一个C程序进行编辑、编译、连接和运行。 ⑴分析 Visual C++6.0中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。 ⑵步骤 ①编辑

图1-1 New对话框 编辑是将C源程序输入计算机的过程。在Visual C++6.0主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。在弹出窗口中的Files标签页下,选择C ++ Source File。在选项卡右面的File编辑框里输入文件名如“Exa.c”,在Location编辑框里输入文件路径,如“d:\test”。点击OK按钮。将出现编辑窗口,如图1-2所示。在图1-2所示的 右端编辑窗口里输入以下C源程序并保存文件。 图1-2 编辑窗口 ②编译 编译是使用系统提供的编译器将文本文件Exa.c生成机器语言的过程,结果为Exa.obj,由 于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。选择Build菜单下的Co mpile Exa.c,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编译无错时,将源程序Exa.c编译为目标文件Exa.obj。编译结果如图1-4所示。如果出现运行错误,应该分析错误的原因,例如,是输入数据错误,还是代码错误;如果需要修改源程序文件,还需重 新编译、链接和执行。改正编译窗口下方指出的两个错误,直至编译成功,如图1-5所示。

历年全国计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

二级C语言上机题库及答案

第一套题 上机填空: #include double fun(double e) { int i, k; double s, t, x; s=0; k=1; i=2; /**********found**********/ x=__1__/4; /**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i; /**********found**********/ x=__3__/(t*t); i++; } return s; } main() { double e=1e-3; printf("\nThe result is: %f\n",fun(e)); 第一处答案:3.0 第二处答案:> 第三处答案:(2*i+1)或者(t+1) 上机改错题: #include /************found************/ void fun ( int n )

{ int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5; printf( "\nThe value of function is: %lf\n", fun ( n ) ); } 第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b; 第二套题 上机填空题 #include double fun(int n) { int i; double s, t; /**********found**********/ s=__1__; /**********found**********/ for(i=1; i<=__2__; i++) { t=2.0*i; /**********found**********/ s=s+(2.0*i-1)*(2.0*i+1)/__3__; } return s; } main() { int n=-1; while(n<0) { printf("Please input(n>0): "); scanf("%d",&n); }

相关主题
文本预览
相关文档 最新文档