云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > c程序2007级试卷

c程序2007级试卷

  • 62 次阅读
  • 3 次下载
  • 2025/12/3 8:02:39

int df(void) {

int g=10; g++;

return g; }

int * sf(void) {

static int g=20; g++;

return &g; }

void main() {

int a, b, c, *p; gf(); gf(); a=g; b=df(); b=df();

p=sf(); *p=32765; p=sf(); c=*p;

printf(\ }

4. 假定运行以下程序时输入 3+4*5-3/2=

则程序的输出结果是___________________。 #include int calc(void) { int x; char p;

scanf(\ if(p == '=') return x; switch(p) {

case '+': return x + calc(); case '-': return x - calc(); case '*': return x * calc(); case '/': return x / calc(); } }

void main() {

printf(\ }

5. 以下程序的输出结果是___________________。

注意:本题输出结果中的空格请用 标出,一个空格用一个 代替。 #include #define N 4 void main() {

第5 页,共10页

static int a[N+1][N+1]={1}; int i, j;

for(i=1; i<=N; i++) for(j=1; j<=i; j++)

a[i][j] = a[i-1][j-1] + a[i-1][j]; for(i=1; i<=N; i++) {

int space = N-i; while(space--)

putchar(' '); /* 输出空格 */ for(j=1; j<=i; j++)

printf(\左对齐输出 */ printf(\左数字右空格 */ } }

6. 以下程序的输出结果是__________________。 #include #define N 5 void main() {

static int a[N][N], i, j;

int left=0, right=N-1, up=0, down=N-1; int x=1, row=right, col=down, d=1, done; while(x<=N*N) {

a[row][col]=x; x++;

done = 0; do {

switch(d) {

case 1: col--;

if(col

if(row

if(col>right) {col=right; d=4; continue;} else {done=1; break;} case 4: row++;

if(row==down) {

down--; left++; up++; right--; row=down; d=1; continue; } else {done=1; break;} } /* end of switch */ } while(!done);

} /* end of while(x<=N*N) */

第6 页,共10页

for(i=0; i

for(j=0; j

printf(\ printf(\ } }

四、程序填空题(每空2分,共40分)

1. 输入n(2≤n≤5,程序不需要对此范围进行判断),再输入n个整数保存到数组a中,通过循环查找n个数中是否有重复的数,如果有则输出Yes,否则输出No。要求在循环过程中,任何两个数的比较次数不得超过1次(比如对a[0]与a[1]比较后接下去又对a[1]与a[0]比较是不符合要求的),并且要求一旦找到有数重复则立即结束循环。 #include void main() {

int a[5], i, j, n; scanf(\ for(i=0; i

scanf(\ for(i=0; i<=n-2; i++) {

for( (1) ; j<=n-1; j++) {

if(a[i] == a[j]) (2) ; }

if( (3) ) break; }

if( (4) ) puts(\ else

puts(\ }

2. hex()是一个递归函数,该函数的功能是通过递归调用把一个长整数转化成十六进制字符串并返回所得十六进制数的位数。main()输入长整数x,调用hex()对它进行转化(转化结果存放在字符数组a中),最后输出结果。例如:输入13,则返回n=1输出D;输入100,则返回n=2输出64;输入65535,则返回n=4输出FFFF。 #include void main() {

char a[9]; int n;

unsigned long int x; scanf(\

第7 页,共10页

n = hex(x, a); (5) ; puts(a); }

int hex( (6) ) {

char t[]=\ int n; if(x<16) {

a[0] = t[x]; return 1; }

n = hex(x/16, a);

a[n] = (7) ; return (8) ; }

3. 设文件file1.txt中以如下文本格式存放一批学生的姓名及成绩: Tom 80 Jerry 90

姓名与成绩之间用至少一个空格分隔并且每个学生的姓名中不含空格。现通过编程读取file1.txt中的资料,找出其中成绩最高的那位学生(假定最高分唯一),并把该生的资料写入file2.txt中。 #include #include typedef struct student {

char name[10]; int score; } ST;

void main() {

FILE *fp1; FILE *fp2; ST a, max;

fp1 = fopen(\ fp2 = fopen(\ if( (9) ) {

puts(\ exit(0); }

max.score = -1;

while( (10) ) {

(11) ; if(a.score > max.score) {

第8 页,共10页

搜索更多关于: c程序2007级试卷 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

int df(void) { int g=10; g++; return g; } int * sf(void) { static int g=20; g++; return &g; } void main() { int a, b, c, *p; gf(); gf(); a=g; b=df(); b=df(); p=sf(); *p=32765; p=sf(); c=*p; printf(\ } 4. 假定运行以下程序时输入 3+4*5-3/2= 则程序的输出结果是________

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com