本文目录一览:
- 1、求C语言练习题答案
- 2、求一道C语言编程答案
- 3、C语言编程,急求答案。。。。
- 4、20分求c语言编程题答案
- 5、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;
}
运行样例: