c语言恶搞代码,这道题最后的87怎么搞出来的

 在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档  在线互动式文档分享平台,在这里,您可以和千万网友分享自己手中的文档,全文阅读其他用户的文档,同时,也可以利用分享文档获取的积分下载文档您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C语言程序设计87254.doc12页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:100 &&
C语言程序设计87254.doc
你可能关注的文档:
··········
··········
C语言程序设计》期末考试试卷(A卷)
一、单项选择题(本大题共20题,每题2 分,共40分)
1、以下不是C语言的特点的是 。
A、 C语言简洁、紧凑
B、 能够编制出功能复杂的程序
C、 C语言可以直接对硬件进行操作
D、 C语言移植性好
2、以下不正确的C语言标识符是 A、 ABC B、 abc C、 a_bc D、 ab.c
3、一个C语言程序是由 。
A、 一个主程序和若干子程序组成
B、 函数组成
C、 若干过程组成
D、 若干子程序组成
4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 A、 有零个或多个输入
B、 有零个或多个输出
C、 有穷性
D、 可行性
5、 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为 A、 int B、 float C、 double D、 不确定
6、在C语言中,char型数据在内存中的存储形式是 。
A、 补码 B、反码 C、源码 D、ASCII码
7、有如下程序,输入数据:<cR>后( 表示回车),x的值是 。
scanf "%3d%f",&x,& A、 12345 B、 123 C、 45 D、 345
8、若有以下定义int a,b; float x,则正确的赋值语句是 。
A、 a 1,b 2
9、以下程序的执行结果是 。
#include int i 10,j 10;
printf "%d,%d\n",++i,j-- ; A、 11,10 B、 9,10 C、 11,9 D、 10,9
10、巳知字母A的ASCII码是65,以下程序的执行结果是 。
main char c1 'A',c2 'Y';
?printf "%d,%d\n",c1,c2 ;
A、 A,Y B、 65,65 C、 65,90 D、 65,89
11、下列运算符中优先级最高的是 。
A、 < B、 十 C、 % D、 !=
12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 。
A、 ’x’&&’y’
B、 x<=y
C、 x||y+z&&y-z
x<y &&!z ||1
13、判断char型变量cl是否为小写字母的正确表达式为 。
正在加载中,请稍后...八十七、回答结果(结构体变量传递)
输出依然为3,a。函数f传递的是变量a的一个副本复制。
#include "stdio.h"
struct student
printf("%d,%c",a.x,a.c);
f(struct student b)
八十九、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
#include&stdio.h&
//先设计一个判断数字是否为4位的函数
int Judge_Num(unsigned int a)
int n=a/1000;
if((n&=1)&&(n&=9))
//编码函数
unsigned int Code_Num(unsigned int a)
unsigned int b[4],m=a;
for(i=0;i&4;i++)
b[i]=m%10;
b[i]=(b[i]+5)%10;
m=(m-m%10)/10;
return b[3]+b[2]*10+b[1]*100+b[0]*1000;
int main()
unsigned x,y;
unsigned int Code_Num(unsigned int a);
printf("请输入一个四位数\n");
scanf("%d",&x);
if(Judge_Num(x))
y=Code_Num(x);
printf("原数为%d,加密后为%d。\n",x,y);
printf("原数为%d,位数不为4。\n",x);
九十、读结果。
#include "stdio.h"
#define M 5
{int a[M]={1,2,3,4,5};
int i,j,t;
i=0;j=M-1;
while(i&j)
{t=*(a+i);
*(a+i)=*(a+j);
for(i=0;i&m;i++)
printf("%d",*(a+i));
九十六、计算字符串中子串出现的次数。
#include&stdio.h&
#include&string.h&
int main()
char str[]="i a m xyz amtys 1280i a m!OPi a m**";
char str1[]="i a m ";
int i,j,k;
int len=strlen(str);
int len1=strlen(str1);
while(i&len)
if(str[i]!=str1[j])
for(j=0;j&len1;i++,j++)
if(str[i]==str1[j])
if(j==len1)
printf("出现次数为%d.\n",k);
九十七、从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
#include&stdio.h&
#include&stdlib.h&
int main()
fp=fopen("ex97.txt","wb");
if(fp==NULL)
printf("File Open Error!\n");
printf("please input a string ending by '#'.\n");
while((c=getchar())!='#')
putc(c,fp);
fclose(fp);
九十八、从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件&test&中保存。输入的字符串以!结束。
#include&stdio.h&
#include&stdlib.h&
int main()
char str[1000];
printf("input a string.\n");
gets(str);
while(str[i]!='\0')
if((str[i]&='A')&&(str[i]&='Z'))
str[i]+=32;
puts(str);
fp=fopen("test.txt","w");
if(fp==NULL)
printf("File Open Error!\n");
fputs(str,fp);
fclose(fp);
九十九、有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。
#include&stdio.h&
#include&stdlib.h&
#include&string.h&
//字符串按字母顺序排列
void sort_char(char *s1)
int len=strlen(s1);
for(i=0;i&len-1;i++)
for(j=i+1;j&=len-1;j++)
if(s1[i]&s1[j])
s1[j]=s1[i];
int main()
char sa[200],sb[200];
FILE *fpa,*fpb,*
void sort_char(char *s1);
fpa=fopen("a.txt","rb");
fpb=fopen("b.txt","rb");
fpc=fopen("c.txt","w");
if(fpa==NULL)
printf("File A Open Error!\n");
if(fpb==NULL)
printf("File B Open Error!\n");
if(fpc==NULL)
printf("File C Open Error!\n");
fgets(sa,200,fpa);
fgets(sb,200,fpb);
strcat(sa,sb);
sort_char(sa);
fputs(sa,fpc);
一百、有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
#include&stdio.h&
#include&string.h&
#include&stdlib.h&
#define MAX_Size 5
struct student
char name[20];
float score[3];
}stu[MAX_Size];
int main()
struct student s1;
printf("请输入各学生的信息:\n");
for(i=0;i&MAX_Si++)
printf("请输入第%d个学生的学号:\n",i+1);
scanf("%d",&stu[i].num);
printf("请输入第%d个学生的姓名:\n",i+1);
scanf("%s",stu[i].name);
printf("请输入第%d个学生第1门课的成绩:\n",i+1);
scanf("%f",&stu[i].score[0]);
printf("请输入第%d个学生第2门课的成绩:\n",i+1);
scanf("%f",&stu[i].score[1]);
printf("请输入第%d个学生第3门课的成绩:\n",i+1);
scanf("%f",&stu[i].score[2]);
for(i=0;i&MAX_Si++)
stu[i].ave=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
if((fp=fopen("stu.txt","w"))==NULL)
printf("file open error!\n");
for(i=0;i&MAX_Si++)
fwrite(&stu[i],sizeof(struct student),1,fp);
fclose(fp);
阅读(...) 评论()c语言怎么从文件查询关键字,然后输出关键字所在的那一行? - 开源中国社区
当前访客身份:游客 [
当前位置:
共有7个答案
<span class="a_vote_num" id="a_vote_num_
int get_key_line_number(const char* file, const char* key, char* out)
FILE * pf = NULL;
char string[256] = {0};
size_t result = 0;
size_t index = 0;
size_t row = 0;
size_t col = 0;
size_t offset = 0;
char* pos = NULL;
char* p = NULL;
if((file == NULL) || (key == NULL))
return -1;
if((*file == '\0') || (*key == '\0'))
return -2;
pf = fopen(file , "r");
if(pf == NULL)
perror("Error opening file");
return -3;
memset(string, 0, sizeof(string));
result = fread(string, 1, sizeof(string) - 1, pf);
pos = strstr(string, key);
offset = (size_t)(pos - string);
for(index = 0; (index & sizeof(string) - 1) && (*p != '\0'); index++)
if((pos != NULL) && (offset == index))
out += sprintf(out, "row:%d+col:%d ", row, col);
pos = strstr(string + offset + strlen(key), key);
offset = (size_t)(pos - string);
if(string[index] == (char)'\n')
}while(!feof(pf));
fclose (pf);
目前想到一种情况没有考虑, 就是被两次读取破开的文本,则没有正确的处理,请题主自己斟酌实现.
返回的out,假想为足够大,没有做溢出判断处理, out 最后输出的结果类似为:
row:0+col:3 row:1+col:0 row:2+col:0 row:2+col:3
代码编辑器不太好用,格式不美观.
--- 共有 4 条评论 ---
: size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
所以 fread(内存, sizeof(结构体), 结构体个数, 文件指针)
/reference/cstdio/fread/
(2年前)&nbsp&
: 我还有一个问题,我输入到文件的是结构体,在读取的时候怎么读到结构体呢?……
(2年前)&nbsp&
: 查询的数据文件,以及关键字要你自己准备.
(2年前)&nbsp&
终于有代码了,可是貌似没有输入啊,怎么查询呢?
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
--- 共有 1 条评论 ---
能不能具体点啊?
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
FILE read strstr
--- 共有 1 条评论 ---
strstr怎么用
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
循环换一行变量加一,找到了行数就是那个变量了
--- 共有 1 条评论 ---
找到那个变量就能输出那一行的内容? 怎么确定是哪一行呢?能不能写个具体的代码……
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
打开文件,从头开始读取,每次读取一行,设置计数器,读一行加一,采用读取的行比对是否含有关键字,每行这样处理,直到文件末尾。
--- 共有 1 条评论 ---
求代码啊……要用到什么函数都不知道
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
--- 共有 1 条评论 ---
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
引用来自“棋有此理”的评论
int get_key_line_number(const char* file, const char* key, char* out)
FILE * pf = NULL;
char string[256] = {0};
size_t result = 0;
size_t index = 0;
size_t row = 0;
size_t col = 0;
size_t offset = 0;
char* pos = NULL;
char* p = NULL;
if((file == NULL) || (key == NULL))
return -1;
if((*file == '\0') || (*key == '\0'))
return -2;
pf = fopen(file , "r");
if(pf == NULL)
perror("Error opening file");
return -3;
memset(string, 0, sizeof(string));
result = fread(string, 1, sizeof(string) - 1, pf);
pos = strstr(string, key);
offset = (size_t)(pos - string);
for(index = 0; (index & sizeof(string) - 1) && (*p != '\0'); index++)
if((pos != NULL) && (offset == index))
out += sprintf(out, "row:%d+col:%d ", row, col);
pos = strstr(string + offset + strlen(key), key);
offset = (size_t)(pos - string);
if(string[index] == (char)'\n')
}while(!feof(pf));
fclose (pf);
目前想到一种情况没有考虑, 就是被两次读取破开的文本,则没有正确的处理,请题主自己斟酌实现.
返回的out,假想为足够大,没有做溢出判断处理, out 最后输出的结果类似为:
row:0+col:3 row:1+col:0 row:2+col:0 row:2+col:3
代码编辑器不太好用,格式不美观.
大神啊!非常感谢,你要是早出现就好了……
更多开发者职位上
有什么技术问题吗?
Plhist...的其它问题
类似的话题

我要回帖

更多关于 c语言数组最后一位 的文章

 

随机推荐