没有合适的资源?快使用搜索试试~ 我知道了~
江西省计算机等级考试二级C上机题库
需积分: 0 342 下载量 187 浏览量
2009-11-25
04:23:35
上传
评论 40
收藏 334KB DOC 举报
温馨提示
试读
64页
这个是同学们报学校计算机二级培训班老师给的题库,同学实践过,考试就是这里面的题目。省二没过的同学,不用担心啦。
资源推荐
资源详情
资源评论
一、程序改错题。
gc22.c 程序是输入一个字符串, 将此字符串中最长的单词输出,程序在注释行附近有两个
错误,请试调试改正,但调试改正中不得增删语句。
int alph(char c)
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
return(1);
else
return(0); /* find 1 */
}
int longest(char *str) //int longest(char str)
{
int len=0,i,length=0,flag=1,point,place;
for(i=0;i<=strlen(str);i++)
if(alph(str[i]))
if(flag)
{
flag=0;
point=i;
}
else
len++;
else /* Find 2 */
{
flag=1; //flag=0;
if(len>length)
{ length=len;
place=point;
len=0; }
}
return(place);
}
main( )
{
int i;
char line[100];
printf("Enter string");
gets(line);
printf("the longest is:");
for(i=longest(line);alph(line[i]);i++)
printf("%c",line[i]);
printf("");
}
二、程序填空题
tk22.c 是打印出杨辉三角形,在空白处将程序补充完整,运行得出正确结果。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
.
.
.
#define N 11
main( )
{
int I,j,a[N][N];
for (I=1; I<N; I++)
{ a[I][I]=1;
a[I][1]=1; //
}
for (I=3;I<N; I++)
for ( j=2;j<I;j++ )//
a[I][j]=a[I-1][j-1]+a[I-1][j];
for (I=1;I<N;I++)
{ for (j=1;j<=I;j++)
printf("%6d",a[I][j]);
printf("\n");
}
printf("\n");
}
一、程序改错题(20 分)。
下列程序是建立一个包含学生有关数据的单向链表。但该程序有 2 个错误,错误出现在
每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删语句。
#define NULL 0
struct stud
{
long num;
char name[10];
float score;
struct stud *next;
};
/* …………… comment …………… */
int n;
struct stud create()
{
struct stud *head,*p1,*p2;
n=0;
p1=p2=(struct stud *)malloc(sizeof(struct stud));
scanf("%ld,%s,%f",&p1->num,p1->name,&p1->score);
/* ……………comment …………… */
head=NULL;
while(p1!=0)
{
n=n+1;
if(n==1) head=p1;
else p2->next=p1;
p1=(struct stud *)malloc(size(struct stud));
scanf("%ld,%s,%f",&p1->num,p1->name,&p1->score);
}
p2->next=NULL;
return(head);
}
二、程序填空题(20 分)。
下面的程序是完成从键盘上输入若干行长度不一的字符串把其存到一个文件名为 ttt.txt 的
磁盘文件上去,再从该文件中输出这些数据到屏幕上, 将其中的小写字母转换成大写字母。
然而,该程序是一个不完整的程序,请在下划线空白处将其补充完整,以便得到正确答案
但不得增删原语句。
#include <stdio.h>
main( )
{
int i,flag;
char str[80],c;
FILE *fp;
if((fp=fopen("TTT","w"))==NULL)
{ printf("can't create file\n");
exit(0);
}
for(flat=1;flag;)
{ printf("请输入字符串\n");
gets(str);
fprintf(fp,"%s",str);
printf("是否继续输入?\n");
if((c=getchar()=='N'|| (1) )
flag=0;
getchar();
}
fseek(fp,0,0);
while(fscanf(fp,"%s",str)!=EOF)
{ for(i=0;str[i]!='\0';i++)
if((str[i]>='a'&&(str[i]<='z'))
str[i]=_(2)
printf("%s",str);
}
fclose(fp);
}
试题一、程序改错题:
gc56.c 程序用于将字符串中的小写字母转换为大写字母,程序中有两处错误,请调
试改正
之,但不得增删语句.
#include<stdio.h>
void main(void)
{
char s[255];
int i;
scanf("%s",s);
for (i=0;s[i];i++)
if(s[i]>='a' && s[i]<='z') //if(s[i]>='b' && s[i]<='z')
s[i] = s[i] -'a' + 'A'; //s[i] = s[i] +'a' + 'A';
printf("%s",s);
}
试题二、程序填空题
tk56.c 程序用于计算 4×5 的整型数组中最大元素所在行和列的位置。下面程序不完
整,
请将其补充完整,以便得到正确答案,注意:不得增行和删行,也不得修改程序的结
构。。
#include <stdio.h>
void main(void)
{
int a[4][5]={{4,8,9,10,12},
{2,5,13,17,11},
{81,76,34,57,33},
{1,90,3,78,55}};
int max , max_row , max_col;
int i,j;
max=a[0][0]; //
max_row=0;
max_col=0;
for (i=0;i<4;i++)
for (j=0;j<5;j++)
if(max<a[i][j] )//
{
max=a[i][j] ;
max_row = i ;
max_col = j;
}
printf("%d %d",max_row,max_col);
}
试题一、程序改错题:
gc56.c 程序用于将字符串中的小写字母转换为大写字母,程序中有两处错误,请调
试改正
之,但不得增删语句.
#include<stdio.h>
void main(void)
{
char s[255];
int i;
scanf("%s",s);
for (i=0;s[i];i++)
if(s[i]>='a' && s[i]<='z') //if(s[i]>='b' && s[i]<='z')
s[i] = s[i] -'a' + 'A'; //s[i] = s[i] +'a' + 'A';
printf("%s",s);
}
试题二、程序填空题
tk56.c 程序用于计算 4×5 的整型数组中最大元素所在行和列的位置。下面程序不完
整,
请将其补充完整,以便得到正确答案,注意:不得增行和删行,也不得修改程序的结
构。。
#include <stdio.h>
void main(void)
{
int a[4][5]={{4,8,9,10,12},
{2,5,13,17,11},
{81,76,34,57,33},
{1,90,3,78,55}};
int max , max_row , max_col;
int i,j;
max=a[0][0]; //
max_row=0;
max_col=0;
for (i=0;i<4;i++)
for (j=0;j<5;j++)
if(max<a[i][j] )//
{
max=a[i][j] ;
max_row = i ;
剩余63页未读,继续阅读
资源评论
rich1988
- 粉丝: 5
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功