您的位置:

c语言编写答案,c语言编程答案

本文目录一览:

求C语言练习题答案

二、填空题

1. ___变量__是指在程序运行过程中,值可以发生变化的量。

2.C语言是一种____区分_(区分/不区分)字母大小写的语言,Password和password在C语言中是两个___不同__(相同/不同)的标识符。

3.下面的转义字符分别表示:

’\b’__退格___,’\n’__换行___,’\t’__水平制表___,’\”’ __双引号字符“"”___

4.下面常量的类型分别为:

1.5E12__浮点型___,1288L _整型____,’a’__字符___,"a"__字符串___

08 __整形___,’\007’__整型___

5. C语言源程序一定要有而且只有一个__主函数___函数,程序执行时也从它开始。

6. 结构化程序设计主要有___顺序__、__选择___和__循环___三种基本结构。

三、判断题

1. C语言不是一种结构化程序设计语言。(错)

2. C语言是弱类型语言,为了类型转换的方便,对类型的要求很不严格,在许多情况下不做类型检查。( 对 )

3. C语言既具有高级语言的特点,同时也具有部分低级语言的特点。(对)

4. C源程序可以由多个文件组成,每个文件中都可有一个主函数main()。( 错 )

5. C程序从main()函数开始执行,因此主函数main()必须放在程序的开头。(错)

6. 命名标识符时字符个数不得超过6个。(错)

7. 对于同一个数据种类型,变量值越大,它所占内存的字节数越多。(错)

8. 定义一个变量时必须指出变量类型,但是不一定必须给变量初始化。( 对 )

9. ""表示一个空字符串常量,’’表示一个空字符常量。( 对 )

10. 一个表达式中出现多种数值型数据类型,运算前先进行类型转换。( 对 )

11. 浮点数不能作自增或自减运算,只有整型才可作自增或自减运算。( 错 )

12. 已知a、b是整型变量,则表达式a=3,2+4,b=6,7+8是一个逗号表达式。( 对 )

四、问答题

1. 写出下面表达式的值

(1)12/3*9=36

(2)int i=3,j;

i*=2+5;

i/=j=4;

i+=(j%2);

i、j的最终结果是多少?i=5,j=4

(3)int a=3,b,c;

b=(a++)+(a++)+(a++);

c=(++a)+(++a)+(++a);a、b、c的最终结果是多少?a=9,b=9,c=25

2. 下列表达式是否正确?若正确,表达式的值是什么?

21/2=10 21/2.0= 10.5 21.0/2=10.5 21%2=1 21.0%2 21%2.0 18%15=3 15%18=15 3%15=3

五、编程题

编写程序,在屏幕上输出如下信息:

===================

= I am a student. =

===================

#include"stdio.h“

void main()

{

printf("= I am a student. =");

}

求一道C语言编程答案

楼主,楼上不太会说话,不要理,等等我贴出代码。没有其他语言基础的C语言初学者起步是慢了一点,但是要渣油~

#include stdio.h

int main()

{

int i, n, t1 = 1, t2 = 1, nextTerm,ct=0;

//printf("输出几项: ");

//scanf("%d", n);

n=20;

printf("斐波那契数列: \n");

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

{

printf("%d ", t1);ct+=1;

if(ct%5==0)printf("\n");

nextTerm = t1 + t2;

t1 = t2;

t2 = nextTerm;

}

return 0;

}

//推荐个学C的网站(我自己就是在这学的):m.runoob.com/cprogramming/

C语言编程,急求答案。。。。

第一个

#include stdio.h

#include math.h

double cal(double e)

{

int c=1;

double ret = 0;

double cur = 1;

double t = 1;

while(cur  e)

{

ret += cur;

c ++;

t *= c;

cur = 1.0/c;

}

return ret;

}

int main()

{

int n, i;

double e;

printf("input n:");

scanf("%d", n);

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

{

e = pow(10, -i);

printf("e=%lg result = %lg\n", e, cal(e));

}

return 0;

}

第二个

#include stdio.h

int count(char *s, char c)

{

int ret = 0;

int i;

for(i = 0; s[i]; i ++)

if(s[i] == c) ret ++;

return ret;

}

void delete(char *s, char c)

{

int i,j;

for(i = j = 0; s[i]; i ++)

if(s[i] != c) s[j++] = s[i];

s[j] = 0;

}

int main()

{

char str[1024];

char c;

printf("input str:");

gets(str);

printf("input char:");

c = getchar();

printf("count = %d\n", count(str,c));

delete(str,c);

printf("after delete:%s\n", str);

return 0;

}

供参考 望采纳

20分求c语言编程题答案

我这里有一些程序(dev-c++编译器),虽然并不是你所想要的完美答案,但是其中的一些代码,希望对你有所帮助:

No.1 有5个学生,每个学生有3门课的成绩,从键盘输入数据(包括学生号,姓名,3门课的成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

程序:

#includestdio.h

#includestdlib.h

struct student

{

char num[10];

char name[8];

int score[3];

float ave;

}stu[5];

int main()

{

int i,j,sum;

FILE *fp;

for(i=0;i5;i++)

{

printf("\ninput score of student %d:\n",i+1);

printf("No.:");

scanf("%s",stu[i].num);

printf("name:");

scanf("%s",stu[i].name);

sum=0;

for(j=0;j3;j++)

{

printf("score %d:",j+1);

scanf("%d",stu[i].score[j]);

sum+=stu[i].score[j];

}

stu[i].ave=sum/3.0;

}

fp=fopen("stud","w");

for(i=0;i5;i++)

if(fwrite(stu[i],sizeof(struct student),1,fp)!=1)

printf("file write error\n");

fclose(fp);

fp=fopen("stud","r");

for(i=0;i5;i++)

{

fread(stu[i],sizeof(struct student),1,fp);

printf("\n%s,%s,%d,%d,%d,%6.2f\n",stu[i].num,stu[i].name,

stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].ave);

}

system("pause");

return 0;

}

No.2 将运行No.1程序所得到的stud文件中的学生数据按平均分进行排序处理,将已排序的学生数据存入一个新文件stu_sort中。

程序:

#includestdio.h

#includestdlib.h

#define N 10

struct student

{

char num[10];

char name[8];

int score[3];

float ave;

}st[N],temp;

int main()

{

FILE *fp;

int i,j,n;

if((fp=fopen("stud","r"))==NULL)

{

printf("can not open.");

exit(0);

}

printf("File 'stud':");

for(i=0;fread(st[i],sizeof(struct student),1,fp)!=0;i++)

{

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[i].ave);

}

printf("\n");

fclose(fp);

n=i;

for(i=0;in;i++)

for(j=i+1;jn;j++)

if(st[i].avest[j].ave)

{

temp=st[i];

st[i]=st[j];

st[j]=temp;

}

printf("\nNow:");

fp=fopen("stu_sort","w");

for(i=0;in;i++)

{

fwrite(st[i],sizeof(struct student),1,fp);

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[i].ave);

}

printf("\n");

fclose(fp);

system("pause");

return 0;

}

No.3 将题No.2已排序的学生成绩文件进行插入处理。插入一个学生的3门课程成绩,程序先计算新插入学生的平均成绩,然后将它按平均成绩高低顺序插入,插入后建立一个新文件。

程序:

#includestdio.h

#includestdlib.h

struct student

{

char num[10];

char name[8];

int score[3];

float ave;

}st[10],s;

int main()

{

FILE *fp,*fp1;

int i,j,t,n;

printf("\nNo.:");

scanf("%s",s.num);

printf("name:");

scanf("%s",s.name);

printf("score1,score2,score3:");

scanf("%d,%d,%d",s.score[0],s.score[1],s.score[2]);

s.ave=(s.score[0]+s.score[1]+s.score[2])/3.0;

if((fp=fopen("stu_sort","r"))==NULL)

{

printf("can not open file.");

exit(0);

}

printf("Original data:\n");

for(i=0;fread(st[i],sizeof(struct student),1,fp)!=0;i++)

{

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[i].ave);

}

n=i;

for(t=0;st[t].aves.avetn;t++);

printf("\nNow:\n");

fp1=fopen("sort1.dat","w");

for(i=0;it;i++)

{

fwrite(st[i],sizeof(struct student),1,fp1);

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[t].ave);

}

fwrite(s,sizeof(struct student),1,fp1);

printf("\n%8s%8s%8d%8d%8d%10.2f",s.num,s.name,s.score[0],

s.score[1],s.score[2],s.ave);

for(i=t;in;i++)

{

fwrite(st[i],sizeof(struct student),1,fp1);

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[i].ave);

}

printf("\n");

fclose(fp);

fclose(fp1);

system("pause");

return 0;

}

No.4 将No.3的结果仍存入原有的文件而不另建立新文件。

程序:

#includestdio.h

#includestdlib.h

struct student

{

char num[10];

char name[8];

int score[3];

float ave;

}st[10],s;

int main()

{

FILE *fp;

int i,j,t,n;

printf("\nNo.:");

scanf("%s",s.num);

printf("name:");

scanf("%s",s.name);

printf("score1,score2,score3:");

scanf("%d,%d,%d",s.score[0],s.score[1],s.score[2]);

s.ave=(s.score[0]+s.score[1]+s.score[2])/3.0;

if((fp=fopen("stu_sort","r"))==NULL)

{

printf("can not open file.");

exit(0);

}

printf("Original data:\n");

for(i=0;fread(st[i],sizeof(struct student),1,fp)!=0;i++)

{

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[i].ave);

}

n=i;

for(t=0;st[t].aves.avetn;t++);

printf("\nNow:\n");

fp=fopen("stu_sort","w");

for(i=0;it;i++)

{

fwrite(st[i],sizeof(struct student),1,fp);

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[t].ave);

}

fwrite(s,sizeof(struct student),1,fp);

printf("\n%8s%8s%8d%8d%8d%10.2f",s.num,s.name,s.score[0],

s.score[1],s.score[2],s.ave);

for(i=t;in;i++)

{

fwrite(st[i],sizeof(struct student),1,fp);

printf("\n%8s%8s",st[i].num,st[i].name);

for(j=0;j3;j++)

printf("%8d",st[i].score[j]);

printf("%10.2f",st[i].ave);

}

printf("\n");

fclose(fp);

system("pause");

return 0;

}

对链表的综合操作:

程序:

#includestdio.h

#includestdlib.h

#includemalloc.h

#define LEN sizeof(struct student)

struct student

{

long num;

float score;

struct student *next;

};

int n;

struct student *creat(void)

{

struct student *head;

struct student *p1,*p2;

n=0;

p1=p2=(struct student *)malloc(LEN);

scanf("%ld,%f",p1-num,p1-score);

head=NULL;

while(p1-num!=0)

{

n=n+1;

if(n==1) head=p1;

else p2-next=p1;

p2=p1;

p1=(struct student *)malloc(LEN);

scanf("%ld,%f",p1-num,p1-score);

}

p2-next=NULL;

return(head);

}

void print(struct student *head)

{

struct student *p;

printf("\nNow,These %d records are:\n",n);

p=head;

if(head!=NULL)

do

{

printf("%ld %5.1f\n",p-num,p-score);

p=p-next;

}while(p!=NULL);

}

struct student *del(struct student *head,long num)

{

struct student *p1,*p2;

if(head==NULL)

{

printf("\nlist null!\n");

return(head);

}

p1=head;

while(num!=p1-nump1-next!=NULL)

{

p2=p1;p1=p1-next;

}

if(num==p1-num)

{

if(p1==head) head=p1-next;

else p2-next=p1-next;

printf("delete:%ld\n",num);

n=n-1;

}

else printf("%ld not been found!\n",num);

return(head);

}

struct student *insert(struct student *head,struct student *stud)

{

struct student *p0,*p1,*p2;

p1=head;

p0=stud;

if(head==NULL)

{

head=p0;

p0-next=NULL;

}

else

{

while((p0-nump1-num)(p1-next!=NULL))

{

p2=p1;

p1=p1-next;

}

if(p0-num=p1-num)

{

if(head==p1) head=p0;

else

{

p2-next=p0;

p0-next=p1;

}

}

else

{

p1-next=p0;

p0-next=NULL;

}

}

n=n+1;

return(head);

}

int main()

{

struct student *head,*stu;

long del_num;

printf("input records:\n");

head=creat();

print(head);

printf("\ninput the deleted number:");

scanf("%ld",del_num);

while(del_num!=0)

{

head=del(head,del_num);

print(head);

printf("\ninput the deleted number:");

scanf("%ld",del_num);

}

printf("\ninput the inserted record:");

stu=(struct student *)malloc(LEN);

scanf("%ld,%f",stu-num,stu-score);

while(stu-num!=0)

{

head=insert(head,stu);

print(head);

printf("\ninput the inserted record:");

stu=(struct student *)malloc(LEN);

scanf("%ld,%f",stu-num,stu-score);

}

system("pause");

return 0;

}

c语言 请写出详细答案

#include "stdio.h"

int main(int argc,char *argv[]){

int N,i;

double sum;

printf("Please enter N(int N0)...\nN=");

if(scanf("%d",N)!=1 || N1){

printf("Input error, exit...\n");

return 0;

}

for(sum=0,i=1;i=N;sum+=1.0/(i+i++-1));

printf("sum = %f\n",sum);

return 0;

}

运行样例: