c语言上机实习填空题

时间:2019-05-12 20:35:05下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《c语言上机实习填空题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c语言上机实习填空题》。

第一篇:c语言上机实习填空题

班级:学号:姓名:

填空题

第一题

题目要求(11)

下列给定程序中,函数fun的功能是:将形参中,各位偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,中。.

#include #include

int fun(char*source, char*target){FILE*fs,*ft;charch;/**********found**********/if((fs=fopen(source,“w”_))==NULL)return 0;

if((ft=fopen(target, “w”))==NULL)函数返回值为64862

#include

unsigned long fun(unsigned longn){ unsigned longx=0;intt;while(n){ t=n%10;

/**********found**********/if(t%2==0)

/**********found**********/x=10*x+t;

/**********found**********/n=n/10;}returnx;} main()

{ unsigned longn=-1;while(n>99999999||n<0){

printf(“Please

input(0

”);scanf(“%ld”,&n);}

printf(“nThe result is: %ldn”,fun(n));}

1、做题分析: ① 本题考查:已知某数,如何求该数各个

位数值,已知各个位数值,如何表示该数;除法运算。将十位取出数以用于下次运算故改为n/10 第二题(11)

1、题目要求

.给定程序的功能是;调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值是1,失败时返回值为O。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname

return 0;

printf(“nThe data in file :n”);ch=fgetc(fs);

/**********found**********/while(!feof(fs)){putchar(ch);

/**********found**********/fputc(ch,ft);ch=fgetc(fs);}

fclose(fs);fclose(ft);printf(“nn”);return1;} main(){

char

sfname[20]

=“myfile1”,tfname[20]=“myfile2”;

FILE*myf;inti;charc;myf=fopen(sfname,“w”);printf(“nThe original data :n”);for(i=1;i<30;i++){

c='A'+rand()%25;fprintf(myf,“%c”,c);printf(“%c”,c);}

fclose(myf);printf(“nn”);if(fun(sfname,tfname))printf(“Succeed!”);

elseprintf(“Fail!”);}

答案:【1】“r” 【2】fs【3】ft

2、做题分析

① 对数据文件部分的知识掌握不透彻。首

先以读的方式打开文件看看是否有数据在里面,然后再进行操作,故应将“w”改为“r”。第三题

班级:学号:姓名:

1、题目要求

给定程序的功能是:从键盘输入若干行文件(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。#include #include #include void WriteText(FILE *);void ReadText(FILE *);main()

{FILE*fp;

if((fp=fopen(“myfile4.txt”,“w”))==NULL)

{printf(“ open fail!n”);exit(0);}

WriteText(fp);fclose(fp);

if((fp=fopen(“myfile4.txt”,“r”))==NULL)

{printf(“ open fail!n”);exit(0);}

ReadText(fp);fclose(fp);}

/**********found**********/ void WriteText(FILE___1___){charstr[81];

printf(“nEnter string with-1 to end :n”);gets(str);

while(strcmp(str,“-1”)!=0){ /**********found**********/fputs(___2___,fw);fputs(“n”,fw);gets(str);} }

void ReadText(FILE*fr){charstr[81];

printf(“nRead file and output to screen :n”);

fgets(str,81,fr);while(!feof(fr)){ /**********found**********/printf(“%s”,___3___);fgets(str,81,fr);} }

2、做题分析 答案:【1】*fw【2】str【3】str ①本题考查:函数定义以及文件指针;fputs函数的功能是向指定的文件写入一个字符串,其调用形式为: fputs(字符串,文件指针)。

【解题思路】

填空1:定义函数,函数的形参是一个文件类型的指针。

填空2:此处考查fputs函数的形式,应填入str。

填空3:依据printf函数的格式,输出字符串内容,即printf(“%s”,str)。

第二篇:C语言上机实习报告

一、实验目的

1.能够描述VC++6.0开发平台的使用过程,学会运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

2.能够使用算术表达式和赋值表达式书写正确的语句。3.能够使用输入/输出函数编写简单的程序。

二、实验环境

(调试程序所使用的软硬件环境)软件环境:VC++6.0 硬件环境:宏基

Intel 奔4 主频 2.8GHz,内存256MB

三、实验内容、结果及分析

1、题目1)求华氏温度150°F对应的摄氏温度。计算公式如下: 55cf32

其中:c表示摄氏温度,f表示华氏温度。源程序清单:(调试好的源程序代码)// work1.cpp : Defines the entry point for the console application.//

#include “stdafx.h” #include using namespace std;int main(int argc, char* argv[]){

} 主要标识符说明:(源程序中主要标识符含义说明)Double为双精度类型变量名表

实验结果:(程序运行结果)double f,c;cout<<“输入华氏温度,按Enter执行”<>f;c=5*(f-32)/9.0;cout<<“华氏温度为”<

实验中遇到的问题及解决的方法 源代码的粘贴出现乱码

解决:从Cpp文件中粘消除格式。

2、题目

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。

源程序清单:(调试好的源程序代码)// work2.cpp : Defines the entry point for the console application.//

#include “stdafx.h” #include using namespace std;int main(int argc, char* argv[]){

double a,b,c,average;cout<<“请按顺序输入数学、英语、计算机三科成绩。”<>a>>b>>c;average=(a+b+c)/3.0;cout<<”数学“<

实验中遇到的问题及解决的方法

3、题目

当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。

源程序清单:(调试好的源程序代码)// work3.cpp : Defines the entry point for the console application.//

#include “stdafx.h” #include using namespace std;int main(int argc, char* argv[]){

int n,digit1,digit2,digit3;cout<<“请输入一个三位数n(100﹏999)”<>n;digit1=n%10;

//求个位数字 digit2=n/10%10;

//求十位数字 digit3=n/100%10;

//求百位数字

cout<<“个位数字(digit1)”<

实验中遇到的问题及解决的方法

四、实验体会(心得、收获)

C语言对我们来说是一个崭新的学科。我想学习C语言就像学习其他学科一样,需要我们用心的去学习。它也是我们交流的一种新的方式。只不过是人机之间的。随着科学的进步,与社会的发展,计算机显得尤为重要。C语言又是学习计算机的基础,所以我们更应该该好好的学习C语言。通过这节实验课,我们学到了如何运用6.0来编辑代码,运行我自己编写的程序。虽然过程中会有错误,但在这犯错的过程中我学到了我所不知道的。在这纠错的过程中,我来了解到我还有很多的地方不足。如忘记写分号等。其实就错就是个学习的过程。

对于实验上的问题,如粘源代码时,就应先用记事本打开源代码,就可以。而不是在程序中直接粘,这样就不会出现乱码。还有,就是注意小处的错误,如分号和注意换行的使用。

第三篇:c语言上机实习报告

苏州科技大学上机实习报告 程序设计语言(C语言)

实验一: Visual C++实验环境

一、实验任务

实验一

二、实验目的

1.了解C程序结构,熟悉VC++ 6.0开发环境。

2.熟悉在VC++ 6.0开发环境中编辑、编译、连接、运行和调试C语言程序。3.通过运行简单的C语言程序,初步连接C语言源程序的特点。

三、实验环境

硬件:PC兼容机 CPU Core i5,内存4GB; 操作系统:中文版 Windows 7;

应用软件 Visual C++ 6.0程序开发环境。

四、实验准备及作业提交方法

1.提交位置

在计算机硬盘(E盘)上新建以学生“学号姓名”命名的文件夹,本次实验学生编写的程序文件先保存到上述文件夹中,待上机实验结束时,将文件夹通过校园网络提交到规定服务器位置上。2.提交内容

本次作业需提交2类文件:.c文件、上机实习报告.doc

五、实验内容(因实验内容较多,本实验报告中仅体现部分内容)

1.编写一个程序,输出以下信息:

*****************************

Welcome to the world of C!

***************************** 【源程序代码】

电子与信息工程学院上机实习报告

第1页 2.编写程序求两数之和

【源程序代码】

3. 编写程序。

【源程序代码

六、思考与实践

6.【修改后源程序代

码】 7.【源程序代码】

七、实验分析总结

有时候多个错误只要改第一个就行了。不能忘记尾部的‘;’。C语言要敢于动手尝试,不能逃避困难。

第四篇:c语言上机实习编程题

班级:姓名:学号:

第一题

一、题目要求(11题)

#include #include #defineN16 typedefstruct {charnum[10];ints;} STREC;

STRECfun(STREC*a, char *b){ int i;

STREC str={“”,-1};/*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1*/

for(i=0;i

if(strcmp(a[i].num,b)==0)/*找到指定学号的学生数据*/ str=a[i];

str=a[i];

return str;/*返回学生记录*/ }}

main(){STREC s[N]={{“GA005”,85},{“GA003”,76},{“GA002”,69},{“GA004”,85},{“GA001”,91},{“GA007”,72},{“GA008”,64},{“GA006”,87},{“GA015”,85},{“GA013”,91},{“GA012”,64},{“GA014”,91},{“GA011”,77},{“GA017”,64},{“GA018”,64},{“GA016”,72}};STRECh;charm[10];

inti;FILE *out;

printf(“The original data:n”);for(i=0;i

{if(i%4==0)printf(“n”);

printf(“%s %3d”,s[i].num,s[i].s);}

printf(“nnEnter the number:”);gets(m);h=fun(s,m);

printf(“The data :”);

printf(“n%s%4dn”,h.num,h.s);printf(“n”);

out = fopen(“out.dat”,“w”);h=fun(s,“GA013”);

fprintf(out,“%s%4dn”,h.num,h.s);fclose(out);}

第二题

编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程COS(x)-x=O的一个实根。Xn+1=COS(Xn)。迭代步骤如下:(1)取x1初值为0.0;

(2)xO=xl,把xl的值赋给xO:(3)x1=COS(x0),求出一个新的x1;(4)若x0-xl的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2);

(5)所求x1就是方程COS(x)-x=0的一个实根,作为函数值返回。程序将输出结果

Root=0.739085。#include #include #include float fun(){} main(){ clrscr();

printf(“Root=%fn”,fun());}

第三题

一、题目要求

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符

串中的前导*号全部移到字符串的尾部。例如,若字符串中的内容为*******A*BC*DEF*G****

移动后,字符串中的内容应当是A*BC*DEF*G***********。在编写函数时,不得使用C语言提供的字符串函数。

#include #include void fun(char *a){} main()

{ char s[81],*p;int n=0;

printf(“enter a string:n”);gets(s);fun(s);

printf(“the string after moving:n”);puts(s);}

一、做题分析

【参考答案】

voidfun(char *a){

int i=0,n=0;char *p;p=a;

while(*p=='*')/*判断*p是否是*号,并统计*号的个数*/{ n++;p++;}

while(*p)/*将前导*号后的字符传递给a*/{

a[i]=*p;i++;p++;}

while(n!=0){

a[i]='*';i++;n--;} a[i]='';}

二、做题分析

【考点分析】

本题考查:移动字符串中指定字符的位置,一般采用while循环语句,通过指针型变量来完成。

【解题思路】 函数fun的功能:将字符串中的前导*号全部移到字符串的尾部。本题解题思路:(1)定义一个指针并指向字符串的首地址;(2)利用循环语句找出字符串的前导*号的个数n;(3)利用循环语句把剩余的字符拷贝到另一个字符串中;(4)在字符串的末尾接上n个*号。

第四题 题目要求

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不只一个,函数返回分数最高的学生的人数。

#include #define N16 typedef struct { char num[10];int s;}STREC;

int fun(STREC *a, STREC *b){ } main(){STREC

s[N]={{“GA05”,85},{“GA03”,76},{“GA02”,69},{“GA04”,85},{“GA01”,91},{“GA07”,72},{“GA08”,64},{“G

A06”,87},{“GA015”,85},{“GA013”,91},{“GA012”,64}, {“GA014”,91},{“GA011”,77},{“GA017”,64}, {“GA018”,64},{“GA016”,72}};

STREC h[N];int i,n;FILE *out;n=fun(s,h);

printf(“the %d highest score :n”,n);for(i=0;i

printf(“%s%4dn”,h[i].num,h[i].s);printf(“n”);

out=fopen(“out15.dat”,“w”);fprintf(out, “%dn”,n);for(i=0;i

二、做题分析

1、应该先用for循环找出这些学生中成绩最高的然后再利用for循环结构把和最高成绩一样的找出来并用j记录最高成绩的个数。注:本题主要考察结构体的应用。故函数如下intfun(STREC*a, STREC *b){

int i,j=0,max=a[0].s;/*找出最大值*/for(i=0;i

if(max

for(i=0;i

if(max==a[i].s)b[j++]=a[i];

/*找出成绩与max相等的学生的记录,存入结构体b中*/return j;

/*返回最高成绩的学生人数*/}

第五题

一、题目要求

#in假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用c语言提供的字符串函数。例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是****ABCDEFG。

#include void fun(char *a){ } main(){ char s[81];

printf(“enter astring:n”);gets(s);fun(s);

printf(“the string after deleted:n”);puts(s);}

二、做题分析

1、首先判断*p前几个字符中中是否含有*,记录*截止的位置,然后再判断字符数组中其他的英文字符。故函数程序如下 Int i=0; char *p=a;

while(*p&&*p==’*’){a[i]=*p;i++;p++;} while(*p){if(*p!=’*’){a[i]=*p;i++;} p++;}

第六题

一、题目要求(18)

请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0O 0 0 O O 0 0 0 0 0 0 0 0 0 0 0 O #include #include

void fun(char *tt, int pp[]){} main()

{char aa[1000];intbb[26], k, n;clrscr();

printf(“nPlease entera char string:”);scanf(“%s”, aa);fun(aa, bb);

for(k = 0;k < 26;k++)printf(“%d ”, bb[k]);

printf(“n”);}

一、做题分析

本题考查:for循环语句,注意循环变量取值范围以及循环体语句作用。数组元素初始化和赋值操作。if语句条件表达式,需注意条件表达式的逻辑运算。字符串结束标识

要求统计在tt所指字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指数组中。首先for循环语句体中初始化pp数组中分别用来统计26个字母的个数。再使用循环判断语句对tt所指字符串中的字符进行逐一比较操作,同时存入相对应的pp数组中。故程序如下

void fun(char *tt, int pp[]){ int i;

for(i=0;i<26;i++)pp[i]=0;

for(;*tt!='';tt++)

if(*tt>='a'&&*tt<='z')pp[*tt-'a']++;}

第五篇:C语言上机练习题

上机练习题

1.输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。

/* Note:Your choice is C IDE */ #include “stdio.h” main(){ long n;int ww,qw,bw,sw,gw;printf(“Please input:n”);scanf(“%ld”,&n);while(n<=0||n>99999){

printf(“nThe number is 2 little or too large.Retry please!n”);

scanf(“%ld”,&n);} if(n>=10000&&n<=99999){

ww=n/10000;qw=n/1000%10;bw=n/100%10;sw=n/10%10;gw=n%10;printf(“The old number is:%ldn”,n);printf(“The new number is:%d%d%d%d%dn”,gw,sw,bw,qw,ww);} else if(n>=1000&&n<=9999){

qw=n/1000;

bw=n/100%10;

sw=n/10%10;

gw=n%10;

printf(“The old number is:%ldn”,n);printf(“The new number is:%d%d%d%dn”,gw,sw,bw,qw);

} else if(n>=100&&n<=999){

bw=n/100;

sw=n/10%10;

gw=n%10;

printf(“The old number is:%ldn”,n);printf(“The new number is:%d%d%dn”,gw,sw,bw);}

else if(n>=10&&n<=99)

{

sw=n/10;

gw=n%10;

printf(“The old number is:%ldn”,n);

printf(“The new number is:%d%dn”,gw,sw);

}

else printf(“The old number equals the new number:%ld”,n);

}

2.计算1+2+3„+n的值,n是从键

盘输入的自然数。

/* Note:Your choice is C IDE */ #include “stdio.h” main(){

int n,i;long sum=0;

printf(“1+2+3+....+nn”);printf(“Please input n:n”);

scanf(“%d”,&n);for(i=1;i<=n;i++){

sum+=i;

}

printf(“sum=%ld”,sum);}

3.从终端(键盘)读入20个数据

到数组中,统计其中正数的个数,并计算这些正数之和。、/* Note:Your choice is C IDE */ #include “stdio.h” #define N 20 main(){

int a[N],i,sum=0,count=0;printf(“Please input numbers :n”);

for(i=0;i

{ scanf(“%d”,&a[i]);

if(a[i]>0)

{ sum+=a[i];

count++;

}

} printf(“count=%d,sum=%d”,count,sum);} 4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各元素的值。

/* Note:Your choice is C IDE */ #include “stdio.h” #define N 5 main(){ int a[N],b[N],i;printf(“Please input numbers:n”);for(i=0;i

b[N-i-1]=a[i];} printf(“nThe old numbers are:n”);for(i=0;i

printf(“%-4d”,a[i]);printf(“nThe new numbers are:n”);for(i=0;i

printf(“%-4d”,b[i]);} 5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。/* Note:Your choice is C IDE */ #include “stdio.h” main(){ int i,j,k,n;for(i=1;i<=10;i++)

for(j=1;j<=25;j++)

for(k=1;k<=50;k++)

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

if(i*50+j*20+k*10+n*5==500)

printf(“num50=%d,num20=%d,num10=%d,num5=%dn”,i,j,k,n);}

6.求n以内(不包括n)同时能被

3和7整除的所有自然数之和的平方根s,n从键盘输入。例如若n为1000时,函数值应为:s=153.909064。

/* Note:Your choice is C IDE */ #include “stdio.h” #include “math.h” main()

{ int n,s,i;float sum=0;printf(“Please input n:n”);

scanf(“%d”,&n);while(n<=0){

printf(“nError input.Retry please:n”);

scanf(“%d”,&n);}

for(i=1;i

if(i%3==0&&i%7==0)

sum+=i;printf(“The number is:%4.2f”,sqrt(sum));}

7.一辆卡车违反交通规则,撞人后

逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。/* Note:Your choice is C IDE */ #include “stdio.h” #include “math.h” main(){

int i,qw,bw,sw,gw;

for(i=1122;i<=9988;i++){

if(sqrt(i)!=(int)sqrt(i))

continue;

qw=i/1000;

bw=i/100%10;

sw=i/10%10;

gw=i%10;

if(qw==bw&&sw==gw)

{

printf(“nThe number is:%dn”,i);

break;

}

} 8.输入1~10之间的一个数字,输出它对应的英文单词。

/* Note:Your choice is C IDE */ #include “stdio.h” main(){ int n;printf(“Please input n:n”);scanf(“%d”,&n);while(n<1||n>10){

printf(“Error input!Retry please:n”);

scanf(“%d”,&n);} switch(n){

case 1:printf(“One!”);break;

case 2:printf(“Two!”);break;

case 3:printf(“Three!”);break;

case 4:printf(“Four!”);break;

case 5:printf(“Five!”);break;

case 6:printf(“Six!”);break;

case 7:printf(“Seven!”);break;

case 8:printf(“Eight!”);break;

case 9:printf(“Nine!”);break;

case 10:printf(“Ten!”);break;} } 9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些?

/* Note:Your choice is C IDE */ #include “stdio.h” main(){

int i,count=0;

for(i=106;i<596;i=i+10){

if(i%3==0&&i%5!=0)

{

printf(“%-4d”,i);

count++;

} }

printf(“count=%-4d”,count);}

10.用自然语言描述程序逻辑如下,试写程序。

① 设置环境;

② 定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;

③ i=1;

④ 如果i≤100,则转⑤,否则转⑧;

⑤ 令s=0,求前i个自然数之和,并放于变量s之中;

⑥ sum=sum+s; ⑦ i增加1,转④; ⑧ 输出和sum,结束。

/* Note:Your choice is C IDE */

#include “stdio.h” main(){

int i,j;

long s=0,sum=0;

printf(“1+1+2+1+2+3+1+2+3+4+....1+2+3+..+nn”);i=1;

while(i<=3){

s+=i;sum+=s;i++;}

printf(“sum=%ld”,sum);} 11.用自然语言描述的程序逻辑为:

① 设置环境;

② 定义变量i、flag和password,并令flag=0,i=0;

③ 用户回答口令,将其赋于password变量;

④ 口令正确?如果是,则flag=1,转⑥。否则转⑤;

⑤ 回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥;

⑥ 根据flag之值输出相应信息。

/* Note:Your choice is C IDE */ #include “stdio.h” #include “string.h”

#define N 6 main(){ int i=0,flag=0;char password[N];printf(“The password is:123456n”);while(i<3){ gets(password);

if(strlen(password)!=6)

{ printf(“The string length is wrong!Retry please!n”);

i++;

continue;

}

if(strcmp(“123456”,password)==0)

{flag=1;break;}

else { printf(“Wrong input!Retry please!n”);i++;} } if(flag==1)printf(“Right password!n”);else printf(“Wrong password!n”);}

12.用自然语言描述的程序逻辑如

下:

① 设置环境;

② 定义变量digit、x、y分别表示原始数、原始数的个位数和逆数;

③ 输入原始正整数x;

④ 从x中分解出个位数字digit;

⑤ 合并个位digit至逆数y中;

⑥ 原始数x缩小10倍:x=x/10;

⑦ 如果x非零,则转④; ⑦ 输出逆数y,结束

/* Note:Your choice is C IDE */

#include “stdio.h” main(){

long digit,x,y;/*个位数、原始数、逆数*/

printf(“Please input the old number:n”);scanf(“%ld”,&x);digit=x%10;y=digit;while(x!=0){

x=x/10;

digit=x%10;

y=y*10+digit;}

printf(“x=%ld,y=%ld”,x,y/10);}

13.输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构成)。/* Note:Your choice is C IDE */ #include “stdio.h” main(){

float a,b,c,flag;/*flag=0不能,flag=1等边,flag=2等腰,flag=3任意*/

printf(“Please input angles:n”);

scanf(“%f,%f,%f”,&a,&b,&c);if(a+b<=c||a+c<=b||b+c<=a)flag=0;else if(a==b&&b==c)flag=1;else if(a==b||b==c||c==a)

flag=2;

else flag=3;if(flag==0)printf(“nCan not!n”);if(flag==1)printf(“nDeng Bian.n”);if(flag==2)printf(“nDeng Yao.n”);if(flag==3)printf(“nPu tong.n”);} 14.输入10个数,分别统计其中正数、负数、零的个数。#include “stdio.h” #define N 10 main(){ int a[N];int i,count1=0,count2=0,count3=0;/*count1记录正数个数,count2记录负数个数,count3记录0的个数*/ printf(“Please input numbers:n”);for(i=0;i

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

if(a[i]>0)count1++;

if(a[i]<0)count2++;

if(a[i]==0)count3++;} printf(“count1=%-4d,count2=%-4d,count3=%-4d”,count1,count2,count3);} 15.先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100)/* Note:Your choice is C IDE */ #include “stdio.h” #define N 100

#include #include main(){

int a[N],i;printf(“Please input numbers:n”);randomize();

for(i=0;i

{ a[i]=random(900)+100;printf(“%-4d”,a[i]);}

printf(“n--------------------n”);

printf(“n3,5,7:n”);for(i=0;i

if(a[i]%3==0&&a[i]%5==0&&a[i]%7==0)

printf(“%-4d”,a[i]);}

16.用for编程找出100~200中的完

全平方数。

#include “stdio.h” #include “math.h” main(){

int i;

for(i=100;i<=200;i++)if(sqrt(i)==i%100)

printf(“%-4d”,i);}

17.从终端输入三个正实数,判断这

三个数能否构成直角三角形。#include “stdio.h” main(){

float a,b,c,flag;/*flag=0不能,flag=1能*/ printf(“Please input angles:n”);

scanf(“%f,%f,%f”,&a,&b,&c);while(a<=0||b<=0||c<=0){ printf(“Wrong input!Retry please:n”);

scanf(“%d,%d,%d”,&a,&b,&c);} if(a+b<=c||b+c<=a||a+c<=b)flag=0;else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)

flag=1;

else flag=0;if(flag==1)printf(“nCan!”);else printf(“nCan not!”);} 18.输入一行字符,统计其中有多少个字母(包括大写字母和小写字母)。

/* Note:Your choice is C IDE */ #include “stdio.h” #define N 10 #include “stdlib.h” #include “ctype.h” #include “string.h” main(){ char c[N];int i,count=0;gets(c);i=0;while(i!=strlen(c)){

if(isupper(c[i])||islower(c[i]))

count++;i++;}

printf(“count=%-4d”,count);getch();} 19.输入一个字串,判断它是否是对称串。如”abcdcba”是对称串,”123456789”不是。

/* Note:Your choice is C IDE */ #include “stdio.h” #include “string.h” #include “ctype.h” #include “stdlib.h” #define N 10 main(){ char a[N],b[N],i;

printf(“Please input the string:n”);gets(a);

if(strlen(a)>N)

{

printf(“Wrong input!Retry please!n”);

gets(a);

}

strcpy(b,a);strrev(a);

if(strcmp(a,b)==0)

printf(“nYes!n”);else printf(“nNo!n”);}

20.随机产生N个大写字母输出,然

后统计其中共有多少个元音字符。(设N为200)

/* Note:Your choice is C IDE */

#include “stdio.h” #include #include #define N 200 main(){

int c[N],i,count=0;randomize();for(i=0;i

c[i]=random(27)+65;printf(“ %c”,c[i]);

if(c[i]=='A'||c[i]=='E'||c[i]=='I'||c[i]=='O'||c[i]=='U')count++;}

printf(“n----------------------n”);

printf(“ncount=%-4d”,count);}

找出三位自然数中的所有素数,要求判断x素数用自定义函数data(x)实现。

#include “stdio.h” int data(int x);main(){ int i,flag=0;/*1是,0否*/ for(i=101;i<=999;i++){ flag=data(i);if(flag==1)printf(“%-4d”,i);} }

int data(int x){ int i;for(i=2;i

printf(“n----------------n”);

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

satr(m);

printf(“n”);} } void satr(int m){ int i;for(i=1;i<=m;i++)

printf(“#”);} 22.若ax2+bx+c=0有实根,则求之。#include “stdio.h”

#include “math.h” main(){

int a,b,c;

float derta,x1,x2;printf(“Please input a,b,c:n”);

printf(“a=”);scanf(“%d”,&a);printf(“b=”);

scanf(“%d”,&b);printf(“c=”);scanf(“%d”,&c);

derta=b*b-4*a*c;if(derta<0)

printf(“NO!n”);if(derta==0)

{ printf(“One!n”);

x1=-b/(2*a);

x2=x1;

printf(“x=%-4.2f”,x1);

}

if(derta>0)

{ printf(“Two!n”);

x1=(-b+sqrt(derta))/(2*a);

x2=(-b-sqrt(derta))/(2*a);printf(“x1=%-4.2f,x2=%-4.2f”,x1,x2);

} }

23.从键盘输入两个字串,判断它们

是否相同。

#include “stdio.h” #include “string.h” #define N 20 main(){

char c1[N],c2[N];

printf(“Please input two string below:n”);gets(c1);gets(c2);

printf(“--------------------n”);

printf(“The answer is:”);if(strcmp(c1,c2)==0)

printf(“Equal!n”);

else printf(“Not equal!n”);} 24.从键盘输入两个字串,输出其中较短的那个字串,并输出它的长度。

#define N 20 #include “stdio.h” #include “string.h”

main(){ char c1[N],c2[N];printf(“Please input two string below:n”);gets(c1);gets(c2);printf(“--------------------n”);printf(“The answer is:”);if(strlen(c1)==strlen(c2)){ puts(c1);

puts(c2);

printf(“The length is:%dn”,strlen(c1));} if(strlen(c1)

printf(“The length is:%dn”,strlen(c1));}

if(strlen(c1)>strlen(c2)){

puts(c2);

printf(“The length is:%dn”,strlen(c2));} 25.从键盘输入长度不等的两个字串,将短串连接于长串之后输出。

#include “stdio.h” #include “string.h” #define N 20 main(){char c1[N],c2[N];printf(“Please input two string below:n”);gets(c1);gets(c2);while(strlen(c1)==strlen(c2)){ printf(“Wrong input!Retry please:n”);gets(c1);gets(c2);}

printf(“--------------------n”);

printf(“The answer is:”);if(strlen(c1)

if(strlen(c1)>strlen(c2))puts(strcat(c1,c2));}

26.从键盘输入长度不等的两个字

串,将长串连接于短串之后输出 #include “stdio.h” #include “string.h” #define N 20 main()

{ char c1[N],c2[N];

printf(“Please input two string below:n”);gets(c1);gets(c2);

while(strlen(c1)==strlen(c2)){

printf(“Wrong input!Retry please:n”);

gets(c1);

gets(c2);}

printf(“--------------------n”);

printf(“The answer is:”);

if(strlen(c1)

puts(strcat(c1,c2));

if(strlen(c1)>strlen(c2))

puts(strcat(c2,c1));}

27.随机产生N个两位自然数,降序

排列后输出。(设N为20)#include “stdio.h” #include “stdlib.h” #include “time.h” #define N 20 main()

{ int a[N],i,j,temp;randomize();

for(i=0;i

a[i]=random(900)+100;for(i=0;i

for(j=i+1;j

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

{ temp=a[i];

a[i]=a[j];

a[j]=temp;

} for(i=0;i

printf(“%-4d”,a[i]);} 28.从键盘输入两个字串,输出其中较长的那个字串,并输出它的长度。

#define N 20 #include “stdio.h” #include “string.h” main(){ char c1[N],c2[N];printf(“Please input two string below:n”);gets(c1);gets(c2);printf(“--------------------n”);printf(“The answer is:”);if(strlen(c1)==strlen(c2)){ puts(c1);

puts(c2);

printf(“The length is:%dn”,strlen(c1));} if(strlen(c2)

printf(“The length is:%dn”,strlen(c1));}

if(strlen(c2)>strlen(c1)){

puts(c2);

printf(“The length is:%dn”,strlen(c2));} } 29.从键盘输入10个战士的身高,输出平均身高,并找出哪些身高低于平均身高。#include “stdio.h” #define N 11 main()

{ float a[N],sum=0;int i;

printf(“Please input heigths:n”);

for(i=0;i

scanf(“%f”,&a[i]);

sum+=a[i];}

a[N-1]=sum/(N-1);printf(“The average is:%-6.2fn”,a[N-1]);

printf(“---------------------n”);

printf(“The answer are:n”);

for(i=0;i

printf(“%-8.2f”,a[i]);}

30.从键盘输入10个战士的身高,输出平均身高,并找出哪些身高高于平均身高。#include “stdio.h” #define N 11 main()

{ float a[N],sum=0;int i;

printf(“Please input heigths:n”);

for(i=0;i

scanf(“%f”,&a[i]);

sum+=a[i];}

a[N-1]=sum/(N-1);printf(“The average is:%-6.2fn”,a[N-1]);

printf(“---------------------n”);

printf(“The answer are:n”);

for(i=0;ia[N-1])

printf(“%-8.2f”,a[i]);} 31.从键盘输入10个战士的身高,输出最高、最低的身高 #include “stdio.h” #define N 10 main(){ float a[N],min=99999,max=-99999;int i;printf(“Please input heigths:n”);for(i=0;i

scanf(“%f”,&a[i]);

printf(“---------------------n”);for(i=0;imax)

max=a[i];if(a[i]

min=a[i];} printf(“max=%-6.2f,min=%-6.2f”,max,min);}。

32.“百钱百鸡”问题。百钱买百鸡,鸡翁一值钱三,鸡母一值钱二,鸡雏三值钱一,问鸡翁、鸡母、鸡雏各几何? #include “stdio.h” main(){ int jw,jm,jc;/*公鸡最多100/3=33只,母鸡最多100/2=50只,小鸡最多300只*/ for(jw=1;jw<=33;jw++)

for(jm=1;jm<=50;jm++)

for(jc=1;jc<=300;jc++)if(jw*3+jm*2+jc/3==100&&jw+jm+jc==100)printf(“JW=%d,JM=%d,JC=%dn”,jw,jm,jc);} 33.有三个小孩,一个比一个大2岁,已知其年龄之和为39,问这三个小孩各几岁? #include “stdio.h” main(){ int a,b,c;

for(a=1;a<=20;a++)

for(b=1;b<=20;b++)

for(c=1;c<=20;c++)

if(a+2==b&&b+2==c&&a+b+c==39)

printf(“The ages are:%-4d%-4d%-4d”,a,b,c);}

34.键盘输入长方体的长宽高l、w、h,求其体积及表面积。要求用自定义函数val(l,w,h)计算长方体的体积和表面积,计算结果使用全局变量带回主函数。#include “stdio.h” float l,w,h,v,s;

void val(float l,float w,float h);main(){

printf(“Please input l&w&h:n”);

printf(“l=”);scanf(“%f”,&l);printf(“w=”);scanf(“%f”,&w);printf(“h=”);scanf(“%f”,&h);val(l,w,h);}

void val(float l,float w,float h)

{ v=l*w*h;

s=2*l*w+2*w*h+2*h*l;

printf(“v=%-6.2f,s=%-6.2f”,v,s);}

35.计算:1/2+1/4+„„+1/n,设n

是由键盘输入的正偶数。#include “stdio.h” main()

{ int n,i;

float sum=0;printf(“Please input n:n”);

scanf(“%d”,&n);while(n%2!=0)

{ printf(“Wrong input!Try again:n”);

scanf(“%d”,&n);} for(i=2;i<=n;i=i+2)sum+=1.0/i;printf(“sum=%-6.2f”,sum);

} 36.计算:1/1+1/3+„„+1/n,设n是由键盘输入的正奇数。#include “stdio.h” main(){ int n,i;float sum=0;printf(“Please input n:n”);scanf(“%d”,&n);while(n%2==0){ printf(“Wrong input!Try again:n”);

scanf(“%d”,&n);} for(i=1;i<=n;i=i+2)sum+=1.0/i;printf(“sum=%-6.2f”,sum);} 37.计算:1/2-2/3+3/4-4/5„„,前100项。

#include “stdio.h” main(){ int i;float sum=0,d=1;for(i=1;i<100;i++){ sum+=i*d/(i+1);

d=-d;} printf(“sum=%-6.2f”,sum);} 38.从终端输入3个数a、b、c,按从大到小的顺序输出 #include “stdio.h” main(){ int i,j,k,l;/*i,j,k,l分别代表甲乙丙丁。1偷0没偷*/ for(i=0;i<=1;i++)

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

for(k=0;k<=1;k++)

for(l=0;l<=1;l++)if(j+l==1&&j+k==1&&i+j==1&&l==0)}

39.公安人员审问四名窃贼嫌疑犯。

已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说“乙没有偷,是丁偷的”,乙说“我没有偷,是丙偷的”,丙说“甲没有偷,是乙偷的”,丁说“我没有偷”。请根据这四人的答话判断谁是盗窃者。40.求

s=a+aa+aaa+aaaa+......+aa...a的值,其中a是1~9之间的一个数字,表达式项数从键盘输入(设不超过10项)。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

41.设N是一个四位数,它的9倍恰

好是其反序数,求N。反序数就是将整数的数字倒过来形成的整数。例如:1234的反序数是4321。

42.爱因斯坦出了一道这样的数学

题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问这条阶梯至少有多少阶?

43.输入任意一行字符,降序排列

之。

44.输入一行字符串,按如下规则加

密:如果是英文字母则大写变小写、小写变大写,对非英文字符则保持不变。试写加密程序。45.输入一行小写英文字母,按如下

规则加密:a→c、b→d、„、x→z、y→a、z→b,试写加密程序。

46.输入一行英文,已知各单词之间

用1个空格相隔(设第一个单词前没有空格),统计这行英文有多少个单词。

47.求1+12+123+„„前n项之和,其中n是从键盘输入的一个数字(1~9)。

48.小学生智商测试。让电脑随机出

十道100以内整数的加法题(10分/题),小学生从键盘回答答案,统计小学生最后得分。49.斐氏数列是公元13世纪数学家斐波拉契发明的。即:1,2,3,5,8,13,21,34,55,89,„„,输出其前15项。

下载c语言上机实习填空题word格式文档
下载c语言上机实习填空题.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言上机实验报告

    C语言上机实验报告 2160500146 计算机66马俊松 在本学期,共进行了大约五次上机,完成了数十道编程题,现将在完成作业过程中所遇到的问题以及解决过程进行如下几点总结,并提出几点......

    c语言填空题题库

    二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个[main] 函数。 2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2] 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。......

    上机实习作业

    上机实习试题 1、利用馆藏数据库,检索出郑州大学区域经济学专业,刘荣增教授近三年所带研究生的学位论文,写出检索步骤及结果。(结果可截屏) (万方博硕论文库) 2、利用馆藏数据库,......

    上机实习报告格式

    文献检索实习报告(参考格式) 课程名称:文献检索日期:学院:班号:姓名:学号: 实验名称:电子图书等资源检索。 实验目的:掌握图书资源如何检索和利用,熟悉人名录或机构名录的检索。 实验内......

    上机实习指导

    研究生《文检课》上机实习指导(1) 学号 ______________ 姓名______________ 一、中国生物医学文献数据库(CBM): 安徽医科大学图书馆网址(210.45.97.5)→ 电子资源 → CBM →新版Sin......

    C语言课程设计上机实习内容.(共5篇)

    C语言课程设计上机实习内容 一、 程序设计题目: 简单的学生成绩管理程序设计二、 程序设计功能及要求: 1、原始数据输入和结果输出要求使用文件存放; 2、计算每个学生三门功课......

    大一C语言上机实验报告

    C语言程序设计实验报告 姓名: 班级: 学号:实验内容: 编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用......

    C语言上机实验心得

    C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一......