第一篇:成都信息工程大学 c语言改错
1、程序D1.c的功能是从键盘读入一个数并在屏幕上显示。int main(void){
int xy2;
/*********Found************/
scanf(“%s”, &xy2);
//改为:scanf(“%d”, &xy2);
/*********Found************/
printf(“xy2=%5dn”, &xy2);//改为:printf(“xy2=%5dn”,xy2);
return 0;}
2、程序D2.c的功能是调用函数,显示两个实数间最大的一个。
#include
float fmax(float x, float y);
int main(void){
/*********Found************/
float l, 1;
//i
l = 3.0;
i = 5.6f;
/*********Found************/
printf(“fmax(%5.2f, %5.2f)=%5.2fn”, i, l, fMax(i, l));// fmax
return 0;}
/*********Found************/ int fmax(float x, float y)
//改:float {
if(x < y)return y;
else return x;}
3、程序D4.c的功能是计算半径为2+3的圆的面积。
#include
#define PI 3.14 /*********Found************/ #define S(bj)PI*bj*bj
//改: PI*(bj)*(bj)
int main(void){
/*********Found************/
int mianJi;
//改为:double
mianJi = S(2+3);
printf(“mian ji=%5.2fn”, mianJi);
return 0;}
4、相似题:D3.C,程序D5.c的功能是将字符串yy显示在屏幕上。#include
int main(void){
/*********Found************/
char yy[100] = “ok??n”,//改为:;
/*********Found************/
prntf(“%s”, yy);
//改:printf
return 0;}
5、考查点:数据类型选择,/运算符的使用功能是计算1/1 + 1/2 + „ + 1/N之和并显示。#include
#define N 10
int main(void){
/*********Found************/
long jieguo = 0;
//改:float
int fm;
for(fm = 1;fm <= N;fm++)
{
/*********Found************/
jieguo += 1 / fm;
//改:(float)1 / fm
}
printf(“%8.6fn”, jieguo);
return 0;}
6、考查点:输入分隔格式控制,循环体的定义,D12.c的功能是从键盘读入a和b的值(输入格式限定为仅a,b),在屏幕上显示b行a。
#include
int main(void){
int a, b;
/*********Found************/
scanf(“%d%d”, &a, &b);
//中间加’,’
while(b > 0)
/*********Found************/
___________
//括号’{’
printf(“%dn”, a);
b--;
/*********Found************/
___________
//括号’}’
printf(“bye bye!n”);
return 0;} 7考查点:输入格式控制、变量交换,程序D1000.c的功能是从键盘输入3个浮点数a,b,c(输入时abc之间以空格相隔),首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。
#include
int main(void){
float a, b, c, t;
printf(“please input three numbers:n”);
/*********Found************/
scanf(“%f%f”, &a, &b, &c);//改:%f%f%f
printf(“before sort:a=%g,b=%g,c=%gn”, a, b, c);
if(a > b)
{
t = a;
a = b;
/*********Found************/
b = a;//改:t
}
if(a > c)
{
t = a;
a = c;
c = t;
}
if(b > c)
{
t = b;
b = c;
c = t;
}
printf(“after sort:a=%g,b=%g,c=%gn”, a, b, c);
return 0;} 8考查点:格式化输出、数据类型的正确使用,程序D1001.c的功能是求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,....前20项之和,要求显示的结果中小数部分有4位。
#include
#define T 20
int main(void){
int n;
/*********Found************/
long i, j, temp, sum;
i = 2;
j = 1;
sum = 0;
for(n=1;n<=T;n++)
{
sum = sum + i / j;
temp = i;
i = i + j;
j = temp;
}
/*********Found************/
printf(“2/1+3/2+5/3+8/5+13/8+...=%5.2fn”, sum);//改:.4
return 0;} 9考查点:用算术表达式实现数据交换,程序D1002.c的功能是实现两数交换。
#include
int main(void){
int x = 5, y = 9;
x = x + y;
y = xx;//改:x – y;
printf(“x=%d, y=%dn”, x, y);
return 0;} 10考查点:整型常量表示、输出项表示,程序D1003.c的功能是将16进制数100转换为10进制数输出。#include
int main(void){
/*****Found*****/
int i = 100;//0x100
/*****Found*****/
printf(“%dn”, &i);
//改:去掉&
return 0;}
11、程序D1004.c的功能是输入姓名,屏幕输出问候。#include
int main(void){
char s[10];
printf(“please input your name:”);
/*********Found************/
scanf(“%c”, s);//改%s
printf(“hello ”);
/*********Found************/
puts(s[10]);//改:s
return 0;} 12考查点:输入数据分隔,输出项表示,程序D1005.c的功能是从键盘读入两个整数并在屏幕上显示。要求:输入时限定两数之间仅以逗号隔开。#include
int main(void){
int a, b;
/*********Found*********/
scanf(“%d%d”, &a, &b);
//改:中间加’,’
/*********Found*********/
printf(“a=%d,b=%dn”, &a, &b);//去掉&
return 0;}
13、考查点:输入格式控制、if语句,程序D1006.c的功能是判断输入的数据是否与已经给出的数据j相等。
#include
int main(void){
long int i = 79870, j = 23;
/*****Found*****/
scanf(“%f”, &i);//改:%ld
/*****Found*****/
if(j == i);
{
printf(“Equal!”);
}
else
{
printf(“Not equal!”);
}
return 0;}
14、考查点:字符输入函数使用,分支条件表示,程序D1007.c的功能是使用getchar方式从键盘读入一个字符,判断该字符是否大写字符。#include
int main(void){ char ch;
/****Found****/ getchar(ch);// ch = getchar();/*****Found*****/ if('A' <= ch, ch <= 'Z')
//&& {
printf(“yes”);} else {
printf(“no”);}
return 0;}
15、考查点:switch语句结束、case后常量表示,程序D1008.c的功能是判断用户是不是输入的整数0。
#include
int main(void){
int n;
scanf(“%d”, &n);
/****Found****/
switch(n);
//去掉’;’
{
/****Found****/
case0:
//中间加空格
printf(“Zeron”);
break;
default:
printf(“Non-Zero”);
break;
}
return 0;}
16、考查点:switch语句、case后常量表示,程序D1009.c的功能是输入一个整数,如果为1时输出100,为2时输出200,其它输出0。
#include
int main(void){
int x, y;
scanf(“%d”, &x);
switch(x)
{
/*********Found************/
case x == 1: //改:1
y = 100;
break;
/*********Found************/
case x == 2: //改:2
y = 200;
break;
default:
/*********Found************/
y = 500;
//改:0
break;
}
printf(“%dn”, y);
return 0;}
17、考查点:switch语句case常量表示,循环条件表示,程序D1010.c的功能是输入若干字符数据(回车表示输入结束),分别统计其中‘A’、‘B’、‘C’的个数。#include
int main(void){
char c;
int k1 = 0, k2 = 0, k3 = 0;
/*********Found************/
while(c = getchar()!= 'n')
//加括号()
{
switch(c)
{
/*********Found************/
case A:
//加’’
k1++;
break;
case 'B':
k2++;
break;
case 'C':
k3++;
break;
default :
;
}
}
printf(“A=%d,B=%d,C=%dn”, k1, k2, k3);
return 0;}
18、考查点:一维数组定义、数组元素引用、输入和输出,程序D1016.c的功能是从键盘输入5个整数,保存到一整型数组变量中(此数组只能保存5个数),并在屏幕上按逆序输出。#include
int main(void){
/*********Found*********/
int n=5, i, a[n];
//改为5
printf(“ninput 5 numbers:”);
/*********Found*********/
for(i=1;i { scanf(“%d”, &a[i]); } for(i=n-1;i>=0;i--) { printf(“%dt”, a[i]); } return 0;} 19、考查点:数组的输入和数组元素的引用,程序D1017.c的功能是输入10个浮点数,并输出这组数中的最大值和最小值。 #include int main(void){ float a[10], max, min; int i; printf(“Please input 10 floats”); for(i=0;i<10;i++) { /*********Found************/ scanf(“%f”, _____);// &a[i] } max = min = a[0]; for(i=1;i<10;i++) { /*********Found************/ if(_____) // max < a[i] { max = a[i]; } if(min > a[i]) { min = a[i]; } } printf(“Max number is:%.2fnMin number is:%.2fn”, max, min); return 0;} 20、考查点:函数声明,静态变量使用,程序D1021.c的功能是依次输出3^1到3^5。 #include /*****Found*****/ int f(n); //用定义形式:int n int main(void){ int i; for(i=1;i<=5;i++) { printf(“%dn”, f(3)); } return 0;} int f(int n){ /*****Found*****/ int p = 1;//改: static int p = p * n; return p;} 21、考查点:静态变量使用,函数调用,程序D1023.c的功能是函数outnum输出自己是第几次被调用。#include void outnum(void); int main(void){ int i; for(i=0;i<5;i++) { /*********Found************/ outnum(i);//改: outnum() } return 0;} void outnum(void){ /*********Found************/ int i = 0; //改:static int i = 0; i++; printf(“%dn”, i);} 22、考查点:函数调用、函数定义,程序D1024.c的功能是调用子函数Average()求两数的平均值,并输出到屏幕上。#include /*********Found*********/ int Average(x, y); //用定义形式:int x, int y int main(void){ int a = 12; int b = 24; int ave; /*********Found*********/ ave = Average(int a, int b);//用使用形式:a, b printf(“Average of %d and %d is %d.n”, a, b, ave); return 0;} /*********Found*********/ int Average(x, y)//int x, int y { int result; result =(x + y)/ 2; return result;} 23、考查点:函数一般调用和静态变量,程序D1025.c的功能是输入一整数n(n>0),main()函数中调用子函数Func()n次,并在屏幕上打印出每次调用该子函数的次数。#include void Func(void); int main(void){ int i, n; printf(“ninput a data:”);scanf(“%d”, &n);for(i=0;i /*********Found*********/ ________________________ // Func()} return 0;} void Func(void){ /*********Found*********/ ________________________ //static int times = 0; times++;printf(“Func()was called %d time(s).n”, times);} 难度2 1、考查点:用指针访问字符数组元素,程序D3.c的功能是将字符串yy在屏幕上输出。 #include int main(void){ /*********Found************/ char yy[200] = “ok??n”;//改为:*yy /*********Found************/ fol(;*yy;yy++) //改为:for { putchar(*yy); } return 0;} 2、考查点:字符数组定义,字符串输出控制,标准字符串函数的使用,程序D6.c的功能是从键盘读入一行字符(包括空格、TAB等字符)并在屏幕上显示。#include int main(void){ /*********Found************/ char yy<128>; //改为:yy[128] /*********Found************/ getchar(yy); //改为:gets /*********Found************/ printf(“%y”, yy); //改为:%s return 0;} 3、考查点:if-else形式条件的分析,数据类型选择,程序D7.c的功能是判断x和y是否相等,相等则显示x=y,不等则显示x<>y。#include int main(void){ /*********Found************/ char x, y;//改为:int x = 39270; y = 41001; /*********Found************/ if(x!= y) //改为:== { printf(“x=y”); } /*********Found************/ else;; //去掉;; { printf(“x<>yn”); } return 0;} 4、考查点:文件路径名表示,文件打开方式选择,文件打开成功判断,程序D8.c的功能是打开文件d:te.c用于读并判断打开是否成功。#include int main(void){ FILE *fp;/*********Found************/ char fileName[] = “d:te.c”;//改为: /*********Found************/ fp = fopen(fileName, “w”); //改为:r /*********Found************/ if(fp is NULL) //改为:== { puts(“File Open Error!”); return 1;} putchar(fgetc(fp));fclose(fp); return 0;} 5、考查点:指针,内存分配、内存释放函数的使用,程序D9.c的功能是申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间。 #include int main(void){ /*********Found************/ char pch[2]; //改为:*pch /*********Found************/ if(pch =(char *)malloc(100)== NULL) //将红色部分括起来 { printf(“malloc memory fail!n”); return 1; } printf(“%pn”, pch); /*********Found************/ close(pch); //改为:free return 0;} 6、考查点:指针作函数参数,函数调用,程序D14.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。 #include /*********Found************/ void swap(int x, int y);//改为:int *x, int *y int main(void){ int a = 3, b = 4; /*********Found************/ swap(a, b); //改为:&a, &b printf(“a=%d b=%dn”, a, b); return 0;} /*********Found************/ void swap(int x, int y) //改为:int *x, int *y { int tmpX; /*********Found************/ ___________ // tmpX =*x; *x = *y; /*********Found************/ *y = x; //改为:*y = tmpX;} 7、考查点:结构体变量定义,结构体成员的输入、输出,程序D16.c的功能是worker2的信息使用结构体存储,从键盘读入其各项信息并显示。 #include int main(void){ struct WKER { long ID; long int num; char name[20]; char sex; /*********Found************/ }; //改为:worker2; worker2.ID = 1L; /*********Found************/ scanf(“%s %s %s”, &worker2.num, worker2.name, &worker2.sex);//改:%ld%s%c /*********Found************/ printf(“worker's info: num=%s name=%s sex=%sn”,worker2.num, worker2.name, worker2.sex); //改为:%ld %c return 0;} 8、考查点:复合语句、变量作用域,程序D18.c的功能是从键盘上读入10个大于0的数,调用函数dispMaxNum显示其中最大的一个。#include int maxiNum = 0; void dispMaxNum(); int main(void){ int i, oneNumber, maxNumber = 0; printf(“Please input 10 int number:”); { int maxNumber = 0; /*********Found************/ ___________ //{ for(i = 0;i < 10;i++) { scanf(“%d”, &oneNumber); if(oneNumber > maxNumber) { maxNumber = oneNumber; } } } /*********Found************/ ___________ // maxiNum = maxNumber /*********Found************/ ___________ //} dispMaxNum(); return 0;} void dispMaxNum(){ /*********Found************/ printf(“maxNumber=%dn”, maxiNum);} 9、考查点:循环条件表示,循环体中改变循环条件,程序D1011.c的功能是从输入数据中统计正整数和负整数的个数。用输入0来结束输入,变量i存放正整数个数,变量j存放负整数的个数。#include int main(void){ int i = 0, j = 0, n; printf(“ninput numbers:”); scanf(“%d”, &n); /*********Found*********/ while(______________) // n 或者n!= 0 { if(n > 0) { i++; } if(n < 0) { j++; } /*********Found*********/ _________________________ // scanf(“%d”, &n); } printf(“i=%d,j=%d”, i, j); return 0;} 10、考查点:枚举算法,for语句条件,条件判断,程序D1012.c的功能是显示用1、2、3、4个数字组成的互不相同且无重复数字的三位数。#include int main(void){ int i, j, k; /*********Found************/ for(i=1; ;i++) //改为:i <5 { for(j=1;j<5;j++) { for(k=1;k<5;k++) { /*********Found************/ if(i!=k && i!=j && ______)//j!= k { printf(“%d%d%d ”, i, j, k); } } } } return 0;} 11、考查点:数组逆序存放,循环次数控制,换位操作的实现,程序D1013.c的功能是将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8。 #include #define N 10 int main(void){ int a[N], i, temp; printf(“please input %d integer numbers:n”, N); for(i=0;i { scanf(“%d”, &a[i]); } printf(“the array before reverse:n”); for(i=0;i { printf(“%d ”, a[i]); } printf(“n”); /*********Found************/ for(i=0;i //改为:i { temp = a[i]; /*********Found************/ a[i] = a[N-i]; //改为:a[N-1-i] /*********Found************/ a[N-i] = temp; //改为:a[N-1-i] } printf(“the array after reverse:n”); for(i=0;i { printf(“%d ”, a[i]); } printf(“n”); return 0;} 12、考查点:排序算法的实现,排序条件,数据交换、字符数组的处理,程序D1014.c的功能是将字符数组a中元素从大到小排列(值相同的元素不交换位置)。 #include int main(void){ int i, j, k; char a[] = “language”, t; k = strlen(a); for(i=0;i { for(j=i+1;j { /*****Found*****/ if(a[i] > a[j])//改为:a[i] < a[j] { t = a[j]; /*****Found*****/ a[i] = a[j];//改为:a[j] = a[i] a[i] = t; } } } printf(“%sn”, a); return 0;} 13、考查点:数组元素下标,数组作函数参数,程序D1015.c的功能是定义一个整型数组,采用子函数实现数据输入。 #include void input(int a[], int n); int main(void){ int a[10], i; /*********Found************/ input(a[10], 10); //改为:a for(i=0;i<10;i++) { printf(“%d ”, a[i]); } return 0;} void input(int a[], int n){ int i; for(i=0;i { scanf(“%d”, &a[i]); /*********Found************/ i--; //改为:i++ } } 14、考查点:函数调用,字符串结束标志的使用,程序D1018.c的功能是通过函数,将一个字符串中的元音字母复制到另一字符串,然后输出。 #include void vowel(char str1[], char str2[]); int main(void){ char str1[81], str2[81]; printf(“please input the string:n”); gets(str1); /*********Found************/ vowel(________________);//改为:str1, str2 printf(“the vowel string is:n”); puts(str2); if(strlen(str2)== 0) { printf(“NONE!n”); } return 0;} void vowel(char str1[], char str2[]){ int i, j = 0;/*********Found************/ for(i=0;________________;i++)//改为:str1[i] { if(str1[i]=='A' || str1[i]=='E' || str1[i]=='I' || str1[i]=='O' || str1[i]=='U' || str1[i]=='a' || str1[i]=='e' || str1[i]=='i' || str1[i]=='o' || str1[i]=='u') { str2[j] = str1[i]; j++; } } str2[j] = ' ';} 15、考查点:函数声明、函数定义、函数调用,表达式统计,程序D1019.c的功能是计算输出10个学生的平均成绩。 #include /*****Found*****/ average(double x, y);//改为:double average和int y int main(void){ int i; double score, total; double aver; printf(“Please enter the 1's graden”); scanf(“%lf”, &total); for(i=2;i<=10;i++) { printf(“Please enter the %d's graden”, i); scanf(“%lf”, &score); /*****Found*****/ total = score; //改为:total = total + score; } aver = average(total, 10); printf(“The average: %fn”, aver); return 0;} /*****Found*****/ average(double x, y) ////改为:double average和int y { return x / y;} 16、考查点:递归函数定义(递归返回),函数头,程序D1020.c的功能是使用递归实现Fibonacci数的计算,Fn=Fn-1+Fn-2(1、1、2...,第7项为13)。 #include int f(int n);/*****Found*****/ int main(void); //改为:去掉‘;’ { printf(“F(7)=%dn”, f(7)); return 0;} int f(int n){ if(n <= 2) { /*****Found*****/ return 2;//改为:1 } return f(n2);} 17、考查点:函数声明,变量作用域,函数调用,函数定义,指针作为函数的参数,程序D1022.c的功能是通过一个加法子函数,输入两个浮点数,求和。 #include /*********Found************/ int add(float x, float y); //改为:float int main(void) float a, b; scanf(“%f%f”, &a, &b); /*********Found************/ printf(“sum=%fn”, add(x, y)); //改为:a, b return 0;} /*********Found************/ float add(float x, float y);//改为:去掉’;’ { return x + y;} 18、程序D1054.C的功能是:从键盘读入两个整数,对它们进行按位异或操作,把操作结果按二进制位放在字符数组str中,最后输出该字符串。提示:第2个空建议使用条件表达式(?表达式)实现! Please input num1 and num2 : 127 0 127 ^ 0 = ******11 图1 程序运行效果示例 Please input num1 and num2 : 123 456 123 ^ 456 = ******11 #include int main(void){ unsigned long int number, num1, num2, mask;int i;char str[33]; printf(“Please input num1 and num2 : ”);scanf(“%lu %lu”, &num1, &num2); /*********Found************/ mask = __________________; //改为:0x80000000 number = num1 ^ num2;for(i=0;i<32;i++){ /*********Found************/ str[i] = __________________;//改为:(mask& number)? ‘1’:’0’ mask >>= 1;} str[32] = ' ';printf(“%lu ^ %lu = %sn”, num1, num2, str); return 0;} 难度3 1、考查点:符号常量定义,const常量的使用,指针变量的移位操作,程序D10.c的功能是将字符串str2显示在屏幕上。 #include /*********Found************/ #define START //改为:#define START { /*********Found************/ #define NEXT //改为:#define NEXT } int main(void){ char *str2 = “***”; const int i = 0; for(printf(“n”);str2[i];) START putchar(str2[i]); /*********Found************/ i++;//改为:str2++ NEXT return 0;} 2、考查点:字符数组下标控制,字符串结束标志,条件表达,程序D13.c的功能是从键盘输入最多10个字符(遇换行则停止输入)到数组Buf中,然后在屏幕上显示。 #include int main(void){ char c, Buf[11]; int pos; /*********Found************/ for(pos = 1;pos <= 10;pos++) //改为:0和< { /*********Found************/ if((c = getchar()== 'n')//改为:后面加) { break; } Buf[pos] = c; } /*********Found************/ ___________ //改为:Buf[pos] = ‘ ’; printf(“%sn”, Buf); return 0;} 3、考查点:指针变量的使用,指针作函数参数,函数调用,程序D15.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。 #include void swap(int *x, int *y); int main(void){ int a = 3, b = 4; /*********Found************/ swap(*a, *b); //改为:&a, &b /*********Found************/ printf(“a=%d b=%dn”, &a, &b);//去掉& return 0;} void swap(int *x, int *y){ int *tmp, tsX; /*********Found************/ *tmp = x;//改为: tsX = *x *x = *y; /*********Found************/ *y = *tmp;//改为: tsX } 4、考查点:函数定义、字符数组、静态变量的使用、指针作函数参数,函数调用,程序D17.c的功能是函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节。 #include long userLogin(char *userName); int main(void){ /*********Found************/ char *userName31;//改为:userName31[31] long curUserCnt = 0; while(1) { printf(“user %ld, input your Name: ”, curUserCnt+1); scanf(“%s”, userName31); curUserCnt = userLogin(userName31); } return 0;} long userLogin(char *userName){ /*********Found************/ long userNum = 0;//改为:static long userNum++; printf(“welcome user %s.There have %ld users in system.n”,userName, userNum); /*********Found************/ return;//改为: userNum; } 5、考查点:函数返回值、字符变量、字符指针变量、字符串结束,程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。 程序说明: (1)单词之间的分隔符由串divChar,程序中定义为“;?!,.>/”。 (2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。 (3)函数charInStr的功能是判断字符t是否出现在串Str中。 (4)主程序的功能是将inBuf中的所有单词在屏幕上显示出来。 #include #define Yes 1 #define No 0 char *getStrFromBuf(char *Buf, char *Str, char *divStr);int charInStr(char *Str, char t); int main(void){ char inBuf[100] = “>how old are/ you?”, *point, oneWord[20];char divChar[] = “;?!,.>/”; point = inBuf;while(*point){ /*********Found************/ getStrFromBuf(point, oneWord, divChar);//右边加上:point= if(*oneWord) { puts(oneWord); } } return 0;} int charInStr(char *Str, char t){ for(;*Str;Str++) { /*********Found************/ if(*Str == *t)//改为:t { /*********Found************/ return No;//改为:Yes } } /*********Found************/ return Yes; //改为:No } char *getStrFromBuf(char *Buf, char *Str, char *divStr){ for(;*Buf;Buf++) { if(charInStr(divStr, *Buf)== No) { break; } } for(;*Buf;Buf++) { if(charInStr(divStr, *Buf)== Yes) { break; } /*********Found************/ Str = *Buf;//改为:* Str Str++; } /*********Found************/ *Str = '0'; //改为:’ ’ /*********Found************/ return; //改为:Buf } 6、考查点:折半查找算法、函数调用、数组作参数,程序D1026.c的功能是函数binary为折半查找key 值。数组中元素值已递增排序,若找到key则返回对应的下标,否则返回-1。主函数对该函数进行验证。 #include int binary(int a[ ], int n, int key); int main(void){ int data[10] = {2, 5, 7, 13, 16, 18, 23, 26, 28, 35}; int pos=0, key; printf(“Input an integer to find:”); scanf(“%d”, &key); /*********Found************/ pos = ____________________; if(pos ==-1) { printf(“Can't find %d.n”, key); } else { printf(“%d's position is %d”, key, pos); } return 0;} int binary(int a[ ], int n, int key){ int low, high, mid; low = 0; high = n1; } else if(key > a[mid]) { low = mid + 1; } else { /*********Found************/ return _______; } } return(-1);} 7、考查点:函数参数设计、算法理解、函数调用,程序D1027.c的功能是fun函数的功能是将形参x的值转换成base进制数,所得base进制数的每一位数用对应字符表示并放在一维数组b中返回,base进制数的最低位放在下标为0的元素中,其他依次类推。主函数中输入一个数据,调用该函数将数据转换成8进制数。 #include /*********Found************/ void fun(int x, int base, ____ b[]);//改为:char int main(void){ static char data[30]; int i, pos, key; printf(“Input an integer :”); scanf(“%d”, &key); /*********Found************/ ____________________; //改为:fun(key, 8, data); pos = strlen(data); for(i=pos-1;i>=0;i--) { putchar(data[i]); } return 0;} /*********Found************/ void fun(int x, int base, ____ b[]) //改为:char { int k = 0, r; do { } r = x % base;if((base==16)&&(r>=10)){ r-= 10;r += 'A';} else { r += '0';} b[k] = r;k = k + 1;x /= base;} while(x);b[k] = ' '; 编写一程序P111.C实现以下功能 x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出函数值。编程可用素材:printf(“Please input x: ”)...、printf(“nF(...)=...”...。 ┌-5x+27(x<0) F(x)= ├ 7909(x=0) └ 2x-1(x>0) 程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。#include int main(void){ int x; /* 从键盘上读入x的值 */ printf(“Please input x:”);//在屏幕上显示提示输入x的信息,告诉用户需要scanf(“%d”, &x); /* 根据题目里给出的计算公式计算F(x)*/ if(x < 0){ } else if(0 == x)//否则,若x等于0 { } else { } Fx = 2.0 * xdata2;break;result =(double)data1 * data2;break;if(0 == data2){ } else { } break;if(0 == data2){ } else { printf(“n%d%c%d=%.2f”, data1, op, data2,(double)data1 / dataprintf(“nError!chu shu wei 0.n”);exit(1);result = data1 % data2;printf(“nError!chu shu wei 0.n”);exit(1);case '-': case '*': case '%': case '/': } } } return 0;printf(“n%d%c%d=%fn”, data1, op, data2, result);return 0;编写一程序P702.C实现以下功能 输入月份,打印2003年该月有几天。当输入的月份超范围时,应显示“Invalid month input”。编程可用素材:printf(“please input the month number: ”)...、printf(“nInvalid month input!n”)...、printf(“n 2003....has...daysn”...。 程序的运行效果应类似地如图1和图2所示,图1中的4和图2中的13是从键盘输入的内容。#include int main(void){ switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31;break;printf(“please input the month number: ”);scanf(“%d”, &month);int month, day;case 4: } } case 6: case 9: case 11: day = 30;break;day = 28;break;day =-1;case 2: default : if(-1 == day){ } else { } return 0;printf(“n 2003.%d has %d daysn”, month, day);printf(“nInvalid month input!n”);编写一程序P703.C实现以下功能 已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元): profit≤1000 没有提成; 1000<profit≤2000 提成10%; 2000<profit≤5000 提成15%; 5000<profit≤10000 提成20%; 10000<profit 提成25%。 请根据输入的利润计算员工的薪水。编程可用素材:printf(“Input profit: ”)...、printf(“nsalary=...n”...。 程序的运行效果应类似地如图1所示,图1中的2000是从键盘输入的内容。#include int main(void){ int profit, grade;double salary = 500; printf(“Input profit: ”);scanf(“%d”, &profit); grade =(profit32);/* 将计算结果按题目的要求输出 */ printf(“nF(%.2f)=C(%.2f)”, fF, fC);return 0;编写一程序P710.C实现以下功能 输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。编程可用素材:printf(“Input a lowercase letter: ”)...、printf(“n...(...)...。 程序的运行效果应类似地如图1所示,图1中的y是从键盘输入的内容。 编写一程序P711.C实现以下功能 用scanf输入圆半径r,圆柱高h,求圆周长C1(=2πr)、圆面积S(=πr2)、圆柱体积V(=πr2h)。(注意:本题中规定圆周率取值为3.14) 程序的运行效果应类似地如图1所示,图1中的r=1.3,h=5是从键盘输入的内容。 编写一程序P712.C实现以下功能 判断输入的正整数是否既是5又是7的整倍数,若是,则输出“Yes.”;否则输出“No.”。 程序的运行效果应类似地如图1和图2所示,图1中的75和图2中的105是从键盘输入的内容。#include int main(void){ int iNum; } 编写一程序P713.C实现以下功能 用scanf输入某年某月某日,判断这一天是这一年的第几天?以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份≥3时需考虑多加一天。注:判断年份是否为闰年的方法——为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。编程可用素材:printf(”Please input: year-month-dayn“)...、printf(”nIt is the...th day.n“...。 程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内容。 #include int main(void){ switch(month)printf(”Please input: year-month-dayn“);scanf(”%d-%d-%d“, &year, &month, &day);int day, month, year, sum;return 0;if((iNum%5 == 0)&&(iNum%7 == 0)){ } else { } printf(”nNo.“);printf(”nYes.“);printf(”Please input an integer:“);scanf(”%d“, &iNum); { case 1: sum = 0;break;sum = 31;break;sum = 59;break;sum = 90;break;sum = 120;break;sum = 151;break;sum = 181;break;sum = 212;break;sum = 243;break;sum = 273;break;sum = 304;break;case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: } } case 12: sum = 334;break;default: printf(”data error“);break;sum += day;if((year%400==0 || year%4==0 && year%100!=0)&& month>2){ } printf(”nIt is the %dth day.n“, sum);return 0;sum++;编写一程序P720.C实现以下功能 输入实型数据a,b,然后输出a、b的值。 程序的运行效果应类似地如图1所示,图1中的5.79,6.8723是从键盘输入的内容。 编写一程序P721.C实现以下功能 从键盘输入x,y,z的值,编写程序输出以下表达式的值: x+z%3*(int)(x+y)%2/4 程序的运行效果应类似地如图1所示,图1中的2.5,4.7,7是从键盘输入的内容。 编写一程序P722.C实现以下功能 从键盘输入一日期,年月日之间以“-”分隔,并以同样的形式但以“/”作分隔符输出。 程序的运行效果应类似地如图1所示,图1中的2009-12-9是从键盘输入的内容。 #include int main(void){ } 编写一程序P723.C实现以下功能 输入三角形的三边长a、b、c(边长可以是小数),求三角形面积area,并输出。如果输入的三边构不成三角形,应给出“data error”的信息提示。注:根据“海伦-秦九韶”公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2。编程可用素材:printf(”nplease input triange sides:“)...、printf(”ndata errorn“)...、printf(”narea=...n“...。 程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3,4,8是从键盘输入的内容。#include int main(void){ if(bianA<0 || bianB<0 || bianC<0 printf(”nplease input triange sides:“);scanf(”%lf,%lf,%lf“, &bianA, &bianB, &bianC);double bianA, bianB, bianC, area, pABC;return 0;printf(”nthe date is:%d/%d/%d“, iYear, iMonth, iDay);printf(”please input a date:“);scanf(”%d-%d-%d“, &iYear, &iMonth, &iDay);int iYear, iMonth, iDay; } { } ||(bianA+bianB <= bianC)||(bianA+bianC <= bianB)||(bianB+bianC <= bianA))printf(”ndata errorn“);else { } return 0;pABC = 1.0f / 2 *(bianA + bianB + bianC);area = sqrt(pABC *(pABCbianB)*(pABC5007、P115 25 * 30、P115 25 / 30、P115 25 % 9、P115 25 x 22、P115 100 +和P115 100 + 330 =是从命令行输入的内容(注:图中的Pxxxxx表示随考生题号变换的内容,在本套试卷中,请考生在阅读时将图中的Pxxxxx视作P115)。#include int main(int argc, char *argv[]){ switch(argv[2][0]){ case '+' : result = num1 + num2;break;result = num1hn;sn = sn + hn;hn = hn / 2;sn = sn + hn;printf(”Please input n:“);scanf(”%d“, &n);int i, n;double sn, hn;} return 0;编写一程序P716.C实现以下功能 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字(可取1~9之间的一个值)。例如2+22+222+2222+22222(此时共有5个数相加),其中a值和有几个数相加由键盘输入控制。注意s的值有可能超出int的范围,编程可用素材:printf(”Please input a,n: “)...、printf(”a+aa+...=...n“...。 程序的运行效果应类似地如图1所示,图1中的2,3是从键盘输入的内容。#include int main(void){ } 编写一程序P745.C实现以下功能 输入两个正整数m和n,求其最大公约数和最小公倍数。注:最大公约数也称最大公因子,指某几个整数共有因子中最大的一个;两个整数公有的倍数称为它们的公倍数,其中最小的一个正整数称为它们两个的最小公倍数。编程可用素材:printf(”please input two integer numbers: “)...、printf(”nthe greatest common diprintf(“a+aa+...=%.0fn”, sn);return 0;while(count <= n){ } tn = tn + valA;sn = sn + tn;valA = valA * 10;count++;printf(“Please input a,n: ”);scanf(“%lf,%d”, &valA, &n);int n, count=1;double valA, sn=0, tn=0;visor is...n“...、printf(”the least common multiple is...n“...。 程序的运行效果应类似地如图1所示,图1中的35 15是从键盘输入的内容。#include int main(void){ } 编写一程序P831.C实现以下功能 某班有40位同学参加考试,成绩(整数)从键盘输入,求全班最高分、最低分以及平均分,并统计该班同学的考试及格率。编程可用素材:printf(”n请输入40位同学的成绩:“)...、printf(”n最高分:...最低分:...平均分:...及格率:...。return 0;printf(“nthe greatest common divisor is %dn”, zdGys);printf(“the least common multiple is %dn”, zxGbs);zdGys = min(m, n);while(m % zdGys!= 0 || n%zdGys!= 0){ } zxGbs = max(m, n);while(zxGbs % m!=0 || zxGbs % n!= 0){ } zxGbs++;zdGys--;printf(“please input two integer numbers: ”);scanf(“%d%d”, &m, &n);int m, n, zdGys, zxGbs; 程序的运行效果应类似地如图1所示,图1中的99 81 71 81 77 94 100 67 66 44 75 49 47 45 65 74 73 74 63 69 72 77 65 79 84 73 46 62 68 42 75 62 65 66 62 69 44 62 84 77是从键盘输入的内容。#include #define SIZE 40 int main(void){ /*求最大、最小、分数总和,统计及格人数*/ max = scores[0];min = scores[0];aver = 0;count = 0;for(i = 0;i < SIZE;i++){ if(scores[i] > max){ } else if(scores[i] < min){ min = scores[i];max = scores[i];/*从键盘接收数据*/ printf(“n请输入%d位同学的成绩:”, SIZE);for(i = 0;i < SIZE;i++){ } scanf(“%d”, &scores[i]);int scores[SIZE], i;int max, min, count;double aver, rate; } aver += scores[i]; if(scores[i] >= 60) { count++; } } /*求平均分和及格率*/ aver = aver / 40;rate =(double)count / 40; /*输出结果*/ printf(“n最高分: %dn最低分: n”, max, min, aver, rate*100); return 0;} %dn平均分: %.1fn及格率: %.0f%% 专利申请承诺书 编号: 拟申请的专利名称: 申请专利类型: 我校著名为第名 职务发明人: 所在部门: 合作单位: 我保证提供的任何有关知识和技术均不侵犯任何人的知识产权,不得将属于校方的知识产权私自交付他人。若因此产生的法律纠纷,本人愿承担全部责任。 承诺人: 年 月 日 3rd, July, 2009 Degree Certificate This is to certify that Mr.xx xxx, male, born on 3rd, February, 1986 , has been studied in Chengdu University of Information Technology from September, 20xx to July, 20xx majoring in Tourism Management.He has completed all the courses prescribed in the Bachelor Program, and has passed all the exams necessary for graduation.Having fulfilled the requirements stipulated by the Academic Degree Regulation of the People’s Republic of China, he is awarded the Bachelor Degree of Management(Science, Engineering, Arts).Lai TingQian Chairman of the Degree Appraisal Committee of Chengdu University of Information Technology: 1ST, July, 2009 Certificate No.: 10621xxxxxxxxxxx XXth, January, 2010 Studying Certificate This is to certify Ms.XX XXX, female, born on xxth, March, 19xx, the Student No.xxxxxxx, has been majored in Tourism Management(four-year Bachelor Degree)at Chengdu University of Information Technology since September 20xx.She will get the Bachelor in July 1st, 20xx if she passes the examinations in the required courses.We hereby certify.English version has been confirmed by Teaching Affairs Office Chengdu University of Information Technology Fax: 028-85966503第二篇:成都信息工程学院C语言考试题及答案
第三篇:成都信息工程大学 专利申请承诺书
第四篇:成都信息工程大学 学位证-英文版
第五篇:成都信息工程大学 在读证明-英文版