文档库 最新最全的文档下载
当前位置:文档库 › 2014广西大学C语言上机实验题(个人整理)

2014广西大学C语言上机实验题(个人整理)

2014广西大学C语言上机实验题(个人整理)
2014广西大学C语言上机实验题(个人整理)

2014广西大学C语言上机实验题和答案(个人整理分享)

计电学院计网132班实验一

1、已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下所示(计量单位:元)。计算员工的当月薪水。当月的薪水为(保底薪水+所接工程的利润*提成比率)要求使用Switch语句。

工程利润profit 提成比率

profit≤1000 没有提成

1000<profit≤2000 提成10%

2000<profit≤5000 提成15%

5000<profit≤10000 提成20%

10000<profit 提成25%

2、输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个数。分为五级,分别为A(90-100)、B(80-89)、C(70-79)、D(60-69)、和E(0-59)。

3、(选作)输入一个四位数,将其加密后输出。方法是将该数每一位的数字加9,然后除以10求余,作为该位上的新数字,最后将千位和十位上的数字互换,百位和各位上的数字互换,组成加密后的新四位数。

学长的:

1.

#include

main()

{

int profit,grade;

double salary=500;

printf("请输入工程月利润:");

scanf("%d",&profit);

grade=(profit-1)/1000;

switch(grade)

{

case 0: break;

case 1: salary+=profit*0.1; break;

case 2:

case 3:

case 4: salary+=profit*0.15; break;

case 5:

case 6:

case 7:

case 8:

case 9: salary+=profit*0.2; break;

default: salary+=profit*0.25; break;

}

printf("您当月的薪水为: %.2f\n",salary);

}

2.

#include

main()

{

int n,i,A,B,C,D,E,s;

A=B=C=D=E=0;

printf("输入学生人数:");

scanf("%d",&n);

for(i=0;i

{

printf("请输入学生%d的成绩:",i+1);

scanf("%d",&s);

while(1){

if(s>=0&&s<=100)

break;

else{

printf("输入的成绩格式错误!\n请重新输入学生%d的成绩:(0<=成绩<=100:)",i+1);

scanf("%d",&s);

}

}

switch(s/10)

{

case 6:D++;break;

case 7:C++;break;

case 8:B++;break;

case 9:

case 10:A++;break;

default:E++;break;

}

}

printf("成绩为A级人数: %d\n",A);

printf("成绩为B级人数: %d\n",B);

printf("成绩为C级人数: %d\n",C);

printf("成绩为D级人数: %d\n",D);

printf("成绩为E级人数: %d\n",E);

}

我的:

1.#include "stdio.h"

int main(){

int profit,temp;

float salary = 500;

printf("Enter profit: ");

scanf("%d",&profit);

temp = (profit-1)/1000;

switch(temp){

case 0:

break;

case 1:

salary = profit*0.1 + salary; break;

case 2:

case 3:

case 4:

salary = profit*0.15 + salary; break;

case 5:

case 6:

case 7:

case 8:

case 9:

salary = profit*0.2 + salary; break;

default:

salary = profit*0.25 + salary; break;

}

printf("\nsalary = %0.2lf\n",salary);

return 0;

}

3.

#include "stdio.h"

int main(){

int number,n1,n2,n3,n4;

int temp;

printf("Enter numner:");

scanf("%d",&number);

n1 = number %10;

n2 = (number/10)%10;

n3 = (number/100)%10;

n4 =number/1000;

n1 --; n1=(n1+9)%10;

n2 --; n2=(n2+9)%10;

n3 --; n3=(n3+9)%10;

n4 --; n4=(n4+9)%10;

number = n1*100+n2*1000+n3+n4*10;

printf("\nrenubmber = %04d\n",number);

return 0;

}

实验二

1、编写程序,验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数之和。

例如6=3+3,

8=3+5,…,18=5+13。要求输入一个大于6的正整数n,将6-n之间的偶数都表示成两个素数之和,打印时一行打印5组。

2、编写程序,输入两个正整数m和n(m>=1,n>=500),统计并输出m和n之间的素数的个数以及这些素数的和。要求定义并调用函数prime(m)判断m是否是素数。

3、(选作)输入一个整数,统计并输出该数中某个数字的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。

1.

#include

int prime(int a);

int main()

{

int n,j,i,t,p=1,count=0;

printf("Enter a number:");

scanf("%d",&n);

while(1)

{

if(n>6)

break;

else

{

printf("Enter error!\nplease Enter the number again(n>6) :");

scanf("%d",&n);

}

}

for(j=6;j<=n;j+=2)

for(i=3;i

if(prime(i)==1&&prime(j-i)==1)

{

printf(" (%d) %d=%d+%d",p,j,i,j-i);

p++;

count++;

if(count%5==0)

break;

}

printf("\n");

return 0;

}

int prime(int a)

{

int k;

for(k=2;k

if(a%k==0)

return 0;

return 1;

}

2.

#include

#include

int prime(int a,int b);

int main()

{

int m,n;

printf("Enter two number:");

scanf("%d ",&m);

scanf("%d",&n);

while(1){

if(m>=1&&n>=500)

break;

else

{

printf("Enter error!please Enter the number again(m>=1,n>=500) :"); scanf("%d ",&m);

scanf("%d",&n);

}

}

prime(m,n);

return 0;

}

int prime(int a,int b)

{

int i,j,k,sum,count;

sum=count=0;

printf("%d到%d之间所有的素数如下:\n",a,b);

for(j=a;j<=b;j++)

{

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

if(j%i==0)

break;

if(i>k)

{

printf("%6d",j);

count++;

sum+=j;

if(count%10==0)

printf("\n");

}

}

printf("\n");

printf("素数的个数是 %5d\n",count); printf("所以素数的和为 %6d\n",sum); return 0;

}

3.

#include

int countdigit(int a ,int b);

int main(void)

{

int count,digit,i;

printf("Enter count:");

scanf("%d",&count);

printf("Enter digit:");

scanf("%d",&digit);

i=countdigit(count,digit);

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

return 0;

}

int countdigit(int a ,int b)

{

int sum=0;

while(a !=0){

if(a%10==b){

sum++;

}

a=a/10;

}

return sum;

}

实验三

1、请编写一个函数int homogeneous ( int x ),它的功能是:判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。所谓〃同构数〃是指这样的数,它出现在它的平方数的右边。例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。X的值由主函数从键盘读入,要求不大于300。

2、输入一个正整数n,找出n以内的所有“完数”。所谓“完数”是一个自然数,除了它本身之外的各因子之和等于它本身。定义一个函数,判断某个正整数是否是完数,并输出其因子。例如,6的因子为1,2,3,而6=1+2+3,因此6是完数,输出6=1+2+3。(提示:如果n除以i(1<=i

1.

#include

#include

int homogeneous(int x);

main()

{

int x;

printf("Enter a number:");

scanf("%d",&x);

while(1)

{

if(x<=300)

break;

else

{

printf("Enter error!\nplease Enter the number again(x<=300):");

scanf("%d",&x);

}

}

if(homogeneous(x)==1)

printf(" 结果:%d是同构数\n",x);

else

printf(" 结果:%d不是同构数\n",x);

}

int homogeneous(int x)

{

int i,j,k,count=0;

i=x;

j=x*x;

while(i!=0)

{

i/=10;

count++;

}

k=pow(10,count);

if((j-x)%k==0)

return 1;

return 0;

}

2.

#include

#include

main()

{

int n,i,j,k=0,sum=0,a[100];

printf("请输入一个数字:");

scanf("%d",&n);

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

{

sum=0;

k=0;

for(j=1;j

{

if(i%j==0)

{

a[k++]=j;

sum+=j;

}

}

if(sum==i)

{

printf("完数是%5d ",j);

printf("其因子是");

while(k--)

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

printf("\n");

}

}

}

2.修改

#include

int Count=0;

void input_stu(int a[][7]) //输入学生成绩

{

int i,n;

printf("输入要新建的学生人数:");

scanf("%d",&n);

if(Count==80)

{

printf("The array is full!\n");

return;

}

for(i=0;i

{

printf("Input No.%d:\n",i+1);

printf("Input the student's num:");

scanf("%d\n",&a[0][0]);

printf("Input the student's course score1:");

scanf("%d\n",&a[0][1]);

printf("Input the student's course score2:");

scanf("%d\n",&a[0][2]);

printf("Input the student's course score3:");

scanf("%d\n",&a[0][3]);

printf("Input the student's course score4:");

scanf("%d\n",&a[0][4]);

printf("Input the student's course score5:");

scanf("%d\n",&a[0][5]);

Count++;

}

}

void avr_stu(int a[][7],double b[]) //计算学生平均分{

int i,j;

for(i=0;i

{

a[i][6]=(a[i][1]+[i][2]+a[i][3]+a[i][4]+a[i][5])/5.0;

}

printf("学生平均分如下:\n");

for(i=0;i

{

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

if(i%5==0)

printf("\n");

}

}

void avr_cor(int a[][7],double b[]) //计算课程平均分{

int i,j,k;

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

for(k=0;k

{

b[i]+=a[k][2+i];

}

printf("课程平均分如下:\n");

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

{

printf("%.2f",b[i]);

}

}

void highest(int a[][7],double c[]) //查询最高分

{

int i,j;

double temp;

for(i=0;i

c[i]=a[i][6];

for(j=0;j

{

for (i=0;i

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

{

temp=c[i];

c[i]=c[i+1];

c[i+1]=temp;

}

}

printf("平均分最高分:%.2f",c[Count-1]);

}

void output_stu(a[][7],b[],c[])

{

int i,j;

printf("num course1 course2 course3 ourse4 course5 平均分\n"); for(i=0;i

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

{

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

if(i%7==0)

printf("\n");

}

printf("avr_cor1 avr_cor2 avr_cor3 avr_cor4 avr_cor5\n");

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

{

printf("%.2f",b[j]);

}

printf("\n");

printf("平均分最高分:%.2f",c[Count-1]);

}

/*void input_stu(int ); //输入学生成绩

void highest(int,double); //查询最高分

void output_stu(int,double,double); //输出学生成绩

void avr_stu(int ,double ); //计算学生平均分

void avr_cor(int ,double ); //计算课程平均分

int Count=0;

int a[80][7];

double b[6],c[80]; */

int main(void)

{

int choice,num;

int a[80][7];

double b[6],c[80];

do{

printf("choice: 1:input 2.calculate average 3.calculate avrscore 4:search highest 5:output 0:exit\n");

scanf("%d",&choice);

switch(choice)

{

case 1 : input_stu(a);break;

case 2 : avr_stu(a,b);break;

case 3 : avr_cor(a,b);break;

case 4 : highest(a,c);break;

case 5 : output_stu(a,b,c);break;

case 0 : break;

}

}while(choice!=0);

printf("END!\n");

return 0;

}

3、参考下图,开发一个学生成绩统计程序,题目要求见课本P111第11题。

3.

没做

实验四

1、输入一个正整数n(0

2、参考下图,开发一个学生成绩统计程序,题目要求见课本P111第11题。

3、输入一个正整数n(n<=10),输出下列的特殊n阶方阵(顺时针方向旋进)。

1 2 3 4 5 1 2 3 4

16 0 0 0 6 12 0 0 5

15 0 0 0 7 n=5 11 0 0 6 n=4

14 0 0 0 8 10 9 8 7

13 12 11 10 9

1.

#include

int main(void)

{

int i, j, k,n, x, temp,a[21];

printf("Input a number:");

scanf("%d", &n);

while(1)

{

if(n<=0||n>=20)

{

printf("Error!Please input again:(0

scanf("%d\n", &k);

n=k;

}

else

break;

}

printf("Please input %d numbers: ",n); for(i=0; i

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

for(j=0;j

{

for (i=0;i

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

{

temp=a[i];

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

a[i+1]=temp;

}

}

for(i=0;i

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

printf("\n");

printf("Please input another number: "); scanf("%d", &x);

a[n]=x;

for(j=0;j

{

for (i=0;i

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

{

temp=a[i];

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

a[i+1]=temp;

}

}

for(i=0;i

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

printf("\n");

return 0;

}

2.

没做

3.

#include

int main(void)

{

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

printf("Input anumber:");

scanf("%d",&n);

while(1)

{

if(n<=0||n>=11)

{

printf("Error!Please input again:(1<=n<=10)");

scanf("%d\n", &k);

n=k;

}

else

break;

}

for(i=0;i

for(j=0;j

a[i][j]=0;

for(i=0;i

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

for(i=0;i

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

for(i=0;i

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

for(i=0;i

a[n-1-i][0]=n+n-1+n-1+i;

for(i=0;i

{

for(j=0;j

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

printf("\n");

}

return 0;

}

实验五

1、输入一个以回车符结束的字符串(少于80个字符),统计并输出辅音字母的个数(即除‘a’‘e’‘i’‘o’‘u’-包括大写,以外的其他字母),最后按顺序和逆序的方式输出这个字符串的内容。

2、输入一串字符(少于80个字符),按照8进制、10进制与16进制分别提取各自有效的字符串,打印输出这些字符串。然后分别转化为十进制整数后再打印输出。

1.

#include

int main(void)

{

int i=0,p=0,count=0,num=0,j,k;

char s[80],c;

printf("please input a string:\n");

while((c=getchar())!='\n') //while循环依次输入字符

{

s[i++]=c;

++p; //计算(除回车之外的)输入字符的个数

}

while(1) //判断输入个数是否小于80,否则重新输入

{

if(i>=79)

{

printf("Error !Please input again(输入字符应小于80个):"); i=0;

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

s[i++]=c;

break;

}

else

break;

}

s[i]='\0'; //将最后一个字符给回车

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

{

if(s[i]>='A'&&s[i]<='Z') //判断字符在A和Z之间,并排除大写元音

{

if(s[i]!='A'&&s[i]!='E'&&s[i]!='I'&&s[i]!='O'&&s[i]!='U' )

count++; //计算大写辅音字母个数

}

else if(s[i]>='a'&&s[i]<='z') //判断字符在a和z之间,并排除小写元音 {

if(s[i]!='a'&&s[i]!='e'&&s[i]!='i'&&s[i]!='o'&&s[i]!='u' )

num++; //计算小写辅音字母个数

}

}

j=count+num; //计算大写和小写辅音字母个数

printf("顺序输出字符:\n"); //从输入的第一个字符开始输出

for (i=0;i

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

i=0;

while(i<80) //计算输入的除回车外的字符个数

{

if(s[i]=='\0')

{

k=i;

break;

}

i++;

}

printf("\n逆序输出字符:\n"); //从输入的最后一个字符开始输出

for (i=0;i

printf("%c ",s[k-1]);

printf("\n辅音字母个数:%d\n",j); //输出辅音字符个数

return 0;

}

2.

#include

#include

int main(void)

{

char a[4][79]; //定义二维数组

int i=0,b=0,c=0,d=0,m,p,q,r,j=0,k=0,l=0;

printf("please input a string:\n");

while((a[0][i]=getchar())!='\n') //while循环,二维数组第一行存放输入的字符i++;

m=i; //统计输入的字符个数

while(1) //判断输入是否小于80个字符,否则重新输入

{

if(i>=79)

{

printf("Error !Please input again(输入字符应小于80个):");

i=0;

while((a[0][i]=getchar())!='\n')

i++;

m=i;

break;

}

else

break;

}

for(i=0;i

{

if (a[0][i]>='0' && a[0][i] <='7') //判断是否八进制数字符

{

a[1][b]=a[0][i]; //将八进制字符存放到二维数组的第二行

b++; //统计八进制字符的个数

}

if (a[0][i]>='0' && a[0][i] <='9') //判断是否十进制数字符

{

a[2][c]=a[0][i]; //将十进制字符存放到二维数组的第二行

c++; //统计十进制字符的个数

}

if((a[0][i]>='a' && a[0][i]<='f')||(a[0][i]>='A' && a[0][i]<='F')||(a[0][i]>='0' && a[0][i] <='9')) //判断是否十六进制数字符

{

a[3][d]=a[0][i]; //将十六进制字符存放到二维数组的第二行

d++; //统计十六进制字符的个数

}

}

printf ("八进制字符:\n");

if(b==0)

printf(" 无 "); //判断输入的字符中是否有八进制字符,否则输出“无”

else

for(i=0;i

{

printf ("%c ",a[1][i]); //输出八进制字符

}

printf ("\n十进制字符:\n");

if(c==0)

printf(" 无 "); //判断输入的字符中是否有十进制字符,否则输出“无”

else

for(i=0;i

{

printf ("%c ",a[2][i]); //输出十进制字符

}

printf ("\n十六进制字符:\n");

if(d==0)

printf(" 无 "); //判断输入的字符中是否有十六进制字符,否则输出“无”else

for(i=0;i

{

printf ("%c ",a[3][i]); //输出十六进制字符

}

for(i=0;i

{

p=(int)pow(8,b-1-i);

j+=p*(a[1][i]-'0');

}

for(i=0;i

{

q=(int)pow(10,c-1-i);

k+=q*(a[2][i]-'0');

}

for(i=0;i

{

r=(int)pow(16,d-1-i);

if(a[0][i]>='a' && a[0][i]<='f')

l+=r*(a[3][i]-'a'+10);

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

l+=r*(a[3][i]-'A'+10);

if(a[0][i]>='0' && a[0][i] <='9')

l+=r*(a[3][i]-'0');

}

printf ("\n\n各进制字符转换结果如下:\n\n 八进制数十进制数十六进制数\t \n");

printf ("%10d %10d %10d\n",j,k,l); //输出已转换的八,十,十六进制大小return 0;

}

实验六

1、从键盘输入n个整数(n<=10)存放到数组,然后根据提示选择输入’A’、’B’、’C’,’A’则将数组元素按从小到大排列,选择’B’则将数组元素按从大到小排列、选择’C’则将数组的头尾调换。自定义一个函数sort,指针变量作为形参,编写相应程序。

2、n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(m

1.

#include

void sort(int *,int,char);

int main(void)

{

int i,n,a[10];

char choice;

printf("输入数组的长度:n=");

scanf("%d",&n);

while(1)

{

if(n>10)

{

printf("输入错误!请重新输入(i<=10):n=");

scanf("%d",&n);

break;

}

else

break;

}

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

for(i=0;i

{

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

}

printf("选择数组输出方式:\n");

while(1)

{

printf("A:从小到大排列B:从大到小排列C:数组头尾调换D:exit \n");

scanf("%c",&choice);

if(choice=='D'||choice=='d')

break;

sort(a,n,choice);

}

return 0;

}

void sort(int *p,int q,char r)

{

int i,j,temp;

if(r=='A'||r=='a')

{

for(j=0;j

{

for (i=0;i

if (*(p+i)>*(p+i+1))

{

temp=*(p+i);

*(p+i)=*(p+i+1);

*(p+i+1)=temp;

}

}

for(i=0;i

printf(" %d",*(p+i));

printf("\n");

}

if(r=='B'||r=='b')

{

for(j=0;j

{

for(i=q-1;i>j;i--)

{

if(*(p+i-1)<*(p+i))

{

temp=*(p+i);

*(p+i)=*(p+i-1);

*(p+i-1)=temp;

}

}

}

for(i=0;i

printf(" %d",*(p+i));

printf("\n");

}

if(r=='C'||r=='c')

{

j=q-1;i=0;

temp=*(p+i);

*(p+i)=*(p+j);

*(p+j)=temp;

for(i=0;i

printf(" %d",*(p+i));

printf("\n");

}

}

2.

#include

int main(void)

{

int i,n,m,*p=NULL,num[100],count1=0,count2=0; char choice;

printf("输入:n=");

scanf("%d",&n);

printf("输入:m=");

scanf("%d",&m);

while(1)

{

if(m>=n)

{

printf("输入错误!请重新输入(m

printf("输入:n=");

scanf("%d",&n);

printf("输入:m=");

C语言上机报告答案

2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 改成:printf("%c %c %d\n",a,b,c);

c语言程序基础练习题00道(附答案)

1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( b ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

2015VB实验指导书

计算机程序设计基础(VB)实验指导书主编:刘华伟 单位:信息工程学院

实验报告要求:每次实验要求写实验报告(word电子版),包括实验名称,实验目的,实验内容,所有主要界面(需把界面图贴上,用截图工具)和所有源程序(将代码复制粘贴到word报告里),每次上机课后的周五理论课对上机题目进行讲解,每次上机实验报告要求在上机内结束前提交,如果没做完最迟当天内提交给教师信箱458007844@https://www.wendangku.net/doc/7a13689586.html, 只能用自己的邮箱在这个时间段提交。 提交格式:邮件名和word文件名均为: 公141班张三000000第1次作业 第一次上机课要做实验指导书中前两次实验的内容,将两次上机的实验报告都写在同一个word文档里提交。以后每次上机均做一次实验的内容。

实验一VB6.0环境和程序设计初步 一、实验目的 1.学会使用VB开发环境。 2.学会建立、编辑、运行一个简单的VB应用程序的全过程。 3.掌握变量的概念及使用。 4.通过程序实践结合课堂例子,理解类、对象的概念,掌握属性、事件、方法的应用。 二、实验内容: 1.熟悉VB开发环境的标题栏、菜单栏、工具栏、窗体窗口、属性窗口、工程资源管理器窗口、代码窗口、立即窗口、窗体布局窗口、工具箱窗口的位置以及用法。(此题不需要写实验报告) 2.编写一个四则运算的功能,在界面上输入两个数,并设置加减乘除四个按钮,点击不同的按钮,显示不同的运算结果。 步骤: (1)建立用户界面的对象。 (2)对象属性的设置。 (3)对象事件过程及编程。 (4)保存和运行程序

实验二选择结构程序设计 一、实验目的 1.掌握逻辑表达式的正确书写形式。 2.掌握单分支与双分支语句的使用。 3.掌握多分支条件语句的使用。 4.掌握情况语句的使用与多分支条件语句的区别。 二、实验内容 1.P272实验C的1,2题,界面按自己思路设计。其中第1题要求用两种方法实现。 2.在界面上输入4个数,求最大值和最小值并显示,要求用两种方法实现。提示:先编写求最大值的程序,然后再编写求最小值的程序。 3.输入三门功课的成绩,评定某个学生是否得奖学金。 评奖学金标准如下: 平均分大于95分或两门100分第三门不低于80分。

C语言上机考试题

考试时间120分钟题目中所有要求统计或输出的地方都要用printf函数输出相关内容要求:新建一个以自己中文姓名命名的文件夹,将如下题目的答案保存在该文件夹中,各题命名要求Exam1.c,Exam2.c,Exam3.c,Exam4.c,Exam5.c 只需提交每个题目的源文件 1.定义一个字符数组s[50],从键盘输入如下字符串给s数组中,统计其中数字字符的个数和英文字母的个数以及特殊字符的个数。(要求:输入的字符为:“123ABCDhijkop#&%*&!”)(本题5分) 输入功能,3个统计 2.从键盘输入10个元素给数组a,然后将这些元素逆向复制到数组b中(要求:输入的这10个数为:1,2,3,4,5,6,7,8,9,10)。(本题5分) 输入,逆序2个功能,错一个扣2分 3.使用循环嵌套,打印输出如下图形结果(提示使用两次循环嵌套)。 (本题5分) 没有中文后面扣1分 实现一半扣2分 4.从键盘上输入一个字符,如果是’M’,输出Mondey,’T’输出Tuesday,’W’输出Wednesday,’R’输出Tursday,’F’输出Friday,’S’输出Saturday,’U’输出Sunday,否则输出Error(本题5分)输入字符,switch语句,细节有错扣0.5 5.从键盘上输入10个学生的数学成绩,使用冒泡排序实现对成绩的排序功能(排序后的成绩按从低到高排列,效果如下), 输出排序后的学生成绩,输出最高成绩,输出最低成绩,将55-60之间的成绩(含55,不含60)修改为60,并统计被修改的成绩个数,统计及格人数,统计95(含95,优秀)分以上的学生成绩人数,输出及格率和优秀率(>=60,及格,>=95优秀)。(要求:输入的10个

《计算机图形学》新版实验指导书

湖北汽车工业学院实验报告 班级学号姓名 课程名称完成日期 实验一熟悉Visual C++绘图应用程序的开发过程 一、实验目的 1、熟悉VC6.0开发环境; 2、掌握MFC编程; 3、掌握CDC图形程序库; 4、掌握VC6.0下的简单图形程序的开发过程。 二、实验性质 验证性 三、实验要求 1、认真阅读本次实验的目的,了解本次实验要求掌握的内容; 2、能够根据实验指导书的要求,完成相关的内容; 3、务必掌握绘图程序的开发流程,为今后复杂的图形程序开发做好准备。 四、实验内容 (一)生成绘图应用程序的框架 开发绘图应用程序的第一步是使用AppWizard(程序生成向导)来建立程序的基本框架。AppWizard为框架的建立提供了一系列对话框及多种选项,用户可以根据不同的选项生成自己所需要的应用程序框架。具体步骤如下: 1、从“文件”菜单选择“新建”菜单项,在“新建”对话框中选择“工程”选项卡,从项目类型中选择MFC AppWizard(.exe)。在“位置”文本框中,可直接输入目录名称,或者单击“…”按钮选择已有的目录。在“工程名称”文本框中输入项目的名称,如Draw,其他采用默认值,这时确定按钮变亮,如下图所示:

2、单击确定按钮,弹出“MFC应用程序向导步骤1”对话框,如图所示,选择单文档单选按钮和“中文[中国]”选项,表示要生成以中文为用户界面的单文档(SDI绘图程序)。 3、点击下一步,在随后出现的几个对话框中,都点击下一步,表示采用各项的默认设置,直到出现“MFC应用程序向导步骤6”对话框,如图所示。

4、“MFC应用程序向导步骤6”对话框中默认设置确定了类得名称及其所在文件的名称。用户可以改CdrawApp、CmainFrame和CdrawDoc的文件名称,但不可以改变它们的基类。 单击完成按钮,应用程序向导显示将要创建的文件清单,再单击确定,MFC应用程序向导就自动生成绘图程序的各项源文件了。 MFC应用程序向导设置完后,点击组建按钮,然后再点击执行按钮,就会出现MFC 应用程序向导生成的完整应用程序的基本框架。

C语言上机实验[1]

实验四循环结构程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、熟练掌握while语句、do-while语句和for语句。 2、练习并掌握循环结构的嵌套形式。 3、掌握循环结构的程序设计方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 束输入。(实验指导书P41) 2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数 本身。(实验指导书P42) 3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(实验指导书P167) 4、计算π的近似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小 于10-6为止。(实验指导书P169) 5、计算1!+2!+……+n! 的值,n值由键盘输入。(实验指导书P176) 6、输入10个整数,统计并输出其中正数、负数和零的个数。 四、实验答案:(代码+运行结果截屏) 实验五综合实验1:结构化程序设计(2学时) 一、实验方式:一人一机 二、实验目的: 1、进一步掌握选择结构、循环结构的编程特点。 2、掌握C语言的结构化程序设计思想。 3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。 三、实验内容:说明:前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设: 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(实验指导书P162) 2、百马百担问题。(实验指导书P45) 3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 4、输出如下图案: * *** ***** ******* ***** *** * 四、实验答案:(代码+运行结果截屏)

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的一个实根。 迭代步骤如下:(1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0.739085。 11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。 12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数

C语言上机实验题

第六章循环控制 通过本章实验作业应达目标 1.熟悉while、for、do_while、break、continue语句的作用与使用规范。 2.学习并掌握利用while语句、for语句、do_while语句实现循环结构。 3.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。 4.进行算法设计训练,能综合所学控制结构语句解决一般问题。 本章必须上交作业 程序6_1.c、6_2.c、6_5.c、6_6.c、6_8.c上传至211.64.135.121/casp。 本章开始,上机实验项目量加大,希望同学们多多自行上机。本章实验项目有余力都可以做一下并上交。 循环程序设计 计算机解决问题都是按指定的顺序执行一系列的动作。按照特定的顺序执行相应的动作来求解问题的过程称为算法。程序中的语句是算法的体现,而算法要解决的是“做什么”和“怎么做”的问题。 计算机程序中指定语句的执行顺序称为“程序控制”。结构化的程序控制包含三种基本结构:顺序结构,选择结构和循环结构。 1. 循环设计 循环是在循环条件为真时反复执行的一组计算机指令,是计算机解题的一个重要结构。循环控制有两种基本方法:计数法和标志法。 1)计数器控制的循环 事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。 教材例6.2、6.3、6.7都是典型的计数器控制的固定次数次数循环。 2)标志控制的循环 事先不知道准确的循环次数,由某一目标值标记循环的结束。如,教材例6.6中以|t|的值达到标记下限值1e-6作为循环的结束。 循环设计时要注意合理设计循环条件,使得循环不会成为死循环。 2. 算法 程序设计的首要工作是算法设计,离开了算法也就没有了程序。算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。 循环主要用来解决程序设计中两类基本的算法:穷举和迭代。 1)穷举 穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。 例:输入两个正整数x和y,求其最大公约数。 main() {int x,y,i,flag; printf("Please input two numbers:"); scanf("%d%d",&x,&y);

西门子PLC实验指导书

实验一:PLC认知及PLC编程软件的使用(两学时) 一、实验目的: 1.熟悉典型继电器电路的工作原理及电路接线。 2.熟悉西门子PLC 的组成,模块及电路接线。 3.熟悉西门子STEP 7 编程软件的使用方法。 4.熟悉利用STEP 7 建立项目、硬件组态、编程、编译、下载和运行等设 计步骤。 5.学会用基本逻辑指令实现顺控系统的编程,完成三相异步电机单向运行控 制程序的编制及调试。 二、实验设备: 1.个人PC 机 1 台 2.西门子1214C AC/DC/RLY PLC 1 台 3.西门子CM1241 RS485通信模块 1 台 4.实验操作板 1 块 5.线缆若干 三、实验步骤: 1.参照黑板上的电路接线图,电路连接好后经指导教师检查无误,可以上电 试验。 2.了解西门子PLC 的组成,熟悉PLC的电源、输入信号端I 和公共端 COM、输出信号端Q 和公共端COM;PLC 的编程口及PC 机的串行通讯口、编程电缆的连接;PLC 上扩展单元插口以及EEPROM 插口的连接方法;RUN/STOP开关及各类指示灯的作用等。 2.参照黑板上的电路接线图,电路连接好后经指导教师检查无误,并将 RUN/STOP 开关置于STOP 后,方可接入220V交流电源。 3.在PC 机启动西门子STEP 7编程软件,新建工程,进入编程环境。 4.根据实验内容,在西门子STEP 7编程环境下输入梯形图程序,转换后, 下载到PLC中。

5.程序运行调试并修改。 6.写实验报告。 四、实验内容: 实验1、三相笼型异步电动机全压起动单向运行控制 图1 三相笼型异步电动机全压起动单向运行控制接线图实验2、三相笼型异步电动机全压起动单向运行PLC控制 图2 三相笼型异步电动机全压起动单向运行PLC控制梯形图 五、实验总结与思考: 1.简述S7-1200 PLC的硬件由哪几部分组成。 2.请简要叙述从硬件组态开始到程序下载到PLC进行调试的整个过程。 3.做完本次实验的心得体会;

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语言常见、经典的上机实验题目

3.3 常见、经典的上机实验题目 1、 /*功能:数组x有十个元素,编程将其元素首尾颠倒。(即第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换…)。*/ main() {int a[10]={5,65,654 ,5 ,5 ,56,588,77,58,5},j,x; for(j=0;j<5;j++) {x=a[j]; a[j]=a[9-j]; a[9-j]=x;} for(j=0;j<10;j++) printf("%d\t", a[j]); } 2、 /*功能:统计输入的一串字符(假设以‘\n’结束)中,大写字母A,B,...,Z各出现的次数。(提示,用一个数组count[26]计数各个字母出现的次数,count[0]表示A出现的次数,count[1]表示B出现的次数,...,count[25]表示字母Z出现的次数。初始时count的各元素值为0。以后,每读入一个字符ch ,若它是一个大写字母,就让相应计数单元count[ch-'A']加1。*/ main( ) {int count[26] ,i; char ch[80]; for(i=0;i<26;i++) count[i]=0; gets(ch); for(i=0;i ='A'&&ch[i]<='Z') count[ch[i]- 'A']++; for(i=0;i<26;i++) printf("%c %d\t", 'A'+i,count[i]); } 3、 /*功能:键盘输入若干数,输出它们的平均值,输入值为-1时,结束输入*/ main( ) {int x,i=1,s; scanf("%d",&x); while(x!=-1) {s=s+x;i++; scanf("%d",&x); } printf("%d\n",s/i); }

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> void main( ) {int a,b,c,d; printf( “ Please enter a,b: ”);

scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b; printf( “ %d+%d=%d\n” ,a,b,c); printf( “ %d*%d=%d\n” ,a,b,d); } 3、#include <> #include <> void main( ) { double x,s; printf( “ Please input value of x: ”); scanf( “%lf ” ,&x); s=cos(x); printf( “ cos(%lf)=%lf\n ”,x,s); } 4、#include <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> void main( ) { int x,y,t; printf( “ Please enter x and y: ”); scanf( “%d%d”,&x,&y); t=x; x=y; y=t; printf( “ After swap:x=%d,y=%d\n ” ,x,y); } 实验二简单的 C程序设计 (4 学时 ) 一、实验方式:一人一机 二、实验目的: 1、掌握 C语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

C语言上机实验(第四版)参考答案

C语言上机实验(第四版)参考答案 C语言程序设计上机实验指导与习题 参考答案(第四版) (学生改编) 实验 1 C语言程序初步一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。(3)通过运行简 单的C程序,初步了解C程序的特点。(4)在教师的指导下,学会使用在线 评判系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入visual c++ ,编译、连接和运行该程序。 #include\main() { printf(\ } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为 a1.c。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。 2. 在在线评判系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, #include \main() { int a, b;

scanf(\ printf(\ } (1)在程序编辑窗口中输入程序。(2)保存程序,取名为 a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。(4)在程序运行 过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结 果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序 的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检 查程序是否正确。 3 实验 2 基本数据类型、运算和表达式一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它 们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是 自加(++)和自减(--)运算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。二、实验内容 1. 变量的定义 [题目 1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整 缺少的语句。 #include \ main() { int a, b; /*定义整型变量 a和 b*/ int i, j; /*定义实型变量i和 j*/ a=5; b=6; i=3.14; j=i*a*b; printf(\ } [具体操作步骤]

C语言实验指导书

《C语言程序设计》实验指导书 每次实验(10分)一共100分,最后折合成50分计入最终成绩。 第一次实验(一星期完成) ●内容一:熟悉编译环境和工具 在VS中键入以下的这段程序 1)关键字变色,自动缩近,智能提醒 2)代码风格和注释 3)编译出错,连接出错。修改错误 4)调试,断点,监控变量,进入函数,跳出函数。监控内存,监控堆栈 在linux中键入以下这段程序 1)熟悉VIM程序,gcc编译程序(开两个终端窗口) 2)熟悉GDB调试程序的基本技巧。(list,backstrac; break, watch,delete; next, continue, run; print,set,help) 其中,help命令是一个非常的参考,如果忘记了某条具体的命令,可以随时去参考help命令来得到相关的细节。 3)介绍《鸟歌的私房菜》这本书 ●内容二:登陆https://www.wendangku.net/doc/7a13689586.html,网站,在线提交。 1)熟悉基本的提交方法和规则 2)现场演示反作弊程序的效果 ●程序: 输入:两个整数,用空格分隔, 输出:两个整数的和,计算两个整数的和的功能,要求用函数实现,同时如果输入有错误,例如(12 abc)程序能够给出“error input”的提示。 参考输入: 12 33 参考输出: 45 参考输入: 12 abc 参考输出:

error input ●思考和扩展(无标准答案) 如果用户输入12 12abc 如何判断并终止程序,输出“error input”的提示 第二次实验(一星期完成) ●内容一:登陆ACM,演示OJ系统 1)介绍这个网站,有兴趣的同学可以去尝试一下() ●内容二:计算工资/小时程序 1)强制类型转换 2)一共有多少位的算法 3)整形数的溢出,以及针对特定问题,如何解决溢出问题 注意:linux编译下应该加上–lm 开关。 ●程序: 输入:工资数,小时数(整数,空格分隔)。 输出:工资/小时数(精确到小数点后2位),并根据四舍五入取整,然后将取整的数平方后计算一共有几位,后三位分别是什么? 参考输入: 2345 2 ←input (separate by space) 参考输出: 1172.50 ←average salary 1173 ← round off to integer 7 ← number of digit 0 2 5 ← the last three digit (separate by space) 第三次实验(两星期完成) ●内容一:介绍linux 下的grep,并给出相应的实例。重点介绍下面要用到的四个符号。 ●内容二:正则表达式 ^ 代表字符串开始 . 代表任意字符 $ 代表字符串末尾

C语言上机综合实验一及答案

1、编制程序,输入n 个整数(n 从键盘输入,n>0),输出它们的偶数和。 2、 编程,输入n 后:输入n 个数,根据下式计算并输出y 值。 3、输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。 4、编写程序,输入一个正整数n ,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3+……+1/n ,函数返回值的类型是double 。 5、输入一个正整数n ,求1+1/2!+1/3!+……1/n!的值,要求定义并调用函数fact(n)计算n 的阶乘,函数返回值的类型是单精度浮点型。 答案: 程序1、 #include void main () { int n,i,x,sum=0; while(scanf("%d",&n),n<=0); printf ("请输入%d 个数:", n); for (i=1; i<=n ;i++) { scanf("%d",&x); if(x%2==0) sum+=x; } printf ("sum=%d", sum) ; } 程序2、 #include #include void main( ) { int i,n; float x,y; scanf(“%d”,&n); for(i=1;i<=n;i++){ scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if(x<=2) y=pow(2,x)+x; else y=sqrt(x*x+x+1); printf(“%f \n”,y); } } 程序3、 # include void main( ) { int letter,digit,other; ?????>++≤≤-+-<-=2 12222sin 22x x x x x x x x y x 111111...23n k s k n ===++++∑

C语言程序设计课程C语言上机考试题—2014

1、从键盘输入10个整数,对这10个数排序(由小到大)后输出。 2、从键盘输入10个整数,对这10个数排序(由大到小)后输出。 3、对于一个自然数,如果该数的所有因子之和正好等于该数,则该数称为完数。统计1000以内的完数个数。 4、编写主函数和一个函数int diff(int year, int m1, int d1, int m2, int d2)。(1)函数diff计算year年的m1月d1日至m2月d2日之间相隔的天数(假设m1<=m2);(2)主函数中输入某年的两个日期,调用diff函数计算它们之间相隔的天数,并输出。 5、编写主函数和一个函数void merge(int a[], int b[], int c[])。要求是:(1)函数merge对两个已是升序的数组a、b进行归并,归并后的结果仍然是升序的,并通过形参c返回;(2)主函数:定义长度为5的数组a,并升序初始化;定义长度为8的数组b,并升序初始化;调用merge函数对数组a、b进行归并,输出归并结果。 6、从键盘输入一个0~99999之间的整数。 ①判断它是一个几位数; ②将该数的各位数字按逆序输出。 7、输入一行字符,统计其中有多少个单词并输出,单词之间用空格符分隔开。 8、输入10个整数,判断它们是否为素数。要求:编写一个函数int prime(int m)来判断形参变量m是否为素数,如果是素数则返回1,否则返回0。 9、输入10个学生的成绩,求平均成绩。要求控制成绩输入的正确性,即控制输入的成绩必须为0~100分。 10、编写主函数和一个函数int monthDay(int year, int month)。(1)函数monthDay 计算year年month月的天数,并返回;(2)在主函数中输入一个日期(年、月、日),计算该日是当年的第几天(说明:需要调用monthDay函数)。 11、写两个函数int gcd(int m, int n)和int lcm(int m, int n),分别求两个正整数m 和n的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数的值在主函数中从键盘输入。 12、有0、1、2、3、4五个数字,能组成多少个互不相同且无重复数字的三位数?并计算这些三位数之和。 13、输出2至1000之间的所有同构数,所谓同构数是指它出现在它的平方数的右端。例如,5、6、25的平方分别等于25、36、625,所以5、6和25都是同构数。 14、编写一个函数,将一个数插入到已是升序的数组中,且插入后该数组仍是升序数组。已是升序数组的内容由主函数给出,待插入的数在主函数中输入。 15、编写一个程序,查找某数是否在给定的升序数组中,如果在则输出“Find success!”并输出它是第几个数,否则输出“No find!”。 16、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一个学生5门课程的平均成绩。 17、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一个学生有几门不及格的课程。 18、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一门课程4个学生的平均成绩。 19、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一门课程有几个不及格的学生。

广工《Java语言程序设计基础教程》上机实验指导手册(第一次)

《Java语言程序设计基础教程》 上机实验指导手册 实验一 Java环境演练 【目的】 ①安装并配置Java运行开发环境; ②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序; ③掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet 程序; ④学习同时编译多个Java源文件。 【内容】 1.一个简单的应用程序 ?实验要求: 编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: Hello.java public class Hello { public static void main (String args[ ]) { 【代码1】//命令行窗口输出"你好,很高兴学习Java" A a=new A(); a.fA(); } } class A { void fA() { 【代码2】//命令行窗口输出"We are students" } } ?实验后的练习: 1.编译器怎样提示丢失大括号的错误? 2.编译器怎样提示语句丢失分号的错误? 3.编译器怎样提示将System写成system这一错误?

4.编译器怎样提示将String写成string这一错误? 2.一个简单的Java Applet程序 ?实验要求: 编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: FirstApplet.java import java.applet.*; import java.awt.*; public class FirstApplet extends Applet { public void paint(Graphics g) { g.setColor(Color.blue); 【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36)); 【代码2】//在Java Applet中绘制一行文字:“我改变了字体” } } ?实验后的练习: 5.程序中的主类如果不用public修饰,编译能通过吗? 6.程序中的主类如果不用public修饰,程序能正确运行吗? 7.程序将paint方法误写成Paint,编译能通过么? 8.程序将paint方法误写成Paint,运行时能看到有关的输出信息吗? 3.联合编译 ?实验要求: 编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。将4个源文件保存到同一目录中,例如:C:\100,然后编译Hello.java。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: 模板1:Hello.java public class MainClass { public static void main (String args[ ]) {

相关文档
相关文档 最新文档