我的代码(29题陈文)

合集下载

浙江省第八届大学生程序设计竞赛本科组排名

浙江省第八届大学生程序设计竞赛本科组排名
郭新友 陈叶芳、钱江波
宣江华 叶海荣 王灿 竞赛指导组 教练组 王智群 叶海荣 教练组 叶海荣 陈叶芳、钱江波
教练组 张旭东 叶海荣 教练组 教练组 张旭东 张永良 教练组 教练组 教练组 缪永伟 教练组 吴达胜 陈根方、单振宇
教练组 教练组 瞿有甜 陈叶芳、钱江波
Solved Penalty rank 奖项 9 802 1 特等奖 8 659 2 一等奖,最佳女队 8 708 3 一等奖 8 876 4 一等奖 7 406 5 一等奖 7 410 6 一等奖 7 432 7 一等奖 7 440 8 一等奖 7 547 9 一等奖 7 547 10 一等奖 7 551 11 一等奖 7 593 12 一等奖 7 623 13 一等奖 7 881 14 一等奖 6 270 15 二等奖 6 305 16 二等奖 6 309 17 二等奖 6 321 18 二等奖 6 322 19 二等奖 6 324 20 二等奖 6 326 21 二等奖 6 330 22 二等奖 6 333 23 二等奖 6 334 24 二等奖 6 335 25 二等奖 6 338 26 二等奖 6 353 27 二等奖 6 363 28 二等奖 6 365 29 二等奖 6 373 30 二等奖 6 397 31 二等奖 6 413 32 二等奖 6 414 33 二等奖 6 417 34 二等奖 6 417 35 二等奖 6 440 36 二等奖 6 441 37 二等奖 6 448 38 二等奖 6 454 39 二等奖 6 458 40 二等奖 6 467 41 二等奖
蔡逸飞
吕皓
吴恩慈 沈耀
罗亚峰 张嘉伟 阮晨宇
季芸
徐小丹 钱子霞
莫红波 黄昊程 马志凯
赵增良 傅亦楠 吴哲明

完整版C语言100个经典题目

完整版C语言100个经典题目

完整版C语言100个经典题目在学习和掌握C语言编程技巧的过程中,解决各种经典题目是非常重要的。

下面是一份C语言的100个经典题目,帮助你提高编程能力和理解C语言的核心概念。

1. 编写一个程序,输出"Hello, World!"。

2. 编写一个程序,从键盘输入两个整数,然后输出它们的和。

3. 编写一个程序,从键盘输入两个整数,然后交换它们的值。

4. 编写一个程序,输出1到100之间所有的奇数。

5. 编写一个程序,输出1到100之间所有能被3整除的数。

6. 编写一个程序,判断一个年份是否为闰年。

7. 编写一个程序,将一个字符串逆序输出。

8. 编写一个程序,求出一个整数的阶乘。

9. 编写一个程序,判断一个数是否为素数。

10. 编写一个程序,输入一个字符串,然后统计其中的字母、数字和空格的个数。

11. 编写一个程序,将一个字符串转换为大写字母。

12. 编写一个程序,从键盘输入一个字符串,然后去除其中的重复字符。

13. 编写一个程序,将一个字符串按照指定分隔符进行拆分,并输出拆分后的结果。

14. 编写一个程序,将一个字符串中的所有单词首字母大写。

15. 编写一个程序,找出一个整数数组中的最大值。

16. 编写一个程序,找出一个整数数组中的最小值。

17. 编写一个程序,计算一个整数数组中所有元素的平均值。

18. 编写一个程序,对一个整数数组进行冒泡排序。

19. 编写一个程序,对一个整数数组进行选择排序。

20. 编写一个程序,对一个整数数组进行插入排序。

21. 编写一个程序,对一个整数数组进行快速排序。

22. 编写一个程序,计算斐波那契数列的第n个数字。

23. 编写一个程序,计算一个整数的平方根。

24. 编写一个程序,判断一个字符串是否为回文字符串。

25. 编写一个程序,输入一个正整数n,然后输出n行杨辉三角。

26. 编写一个程序,将一个二维整数数组进行转置。

27. 编写一个程序,将一个二维整数数组进行矩阵乘法运算。

c程序典型习题及答案

c程序典型习题及答案

3.4将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。

…………其中int和short类型,其取值范围是-32768~32767。

32769在这两种类型中实际表示负数,它是一个负数的补码,对其再求一次补码可得其真值,即-(65536-32769)=-32767。

char和unsigned char为8位,若将int或long类型数据赋给这种类型,则截取数据低8位。

同理,若将long赋给int,则截取低16位。

3.9求下面算术表达式的值。

x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4..7(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5解:(1)2.5(2)3.53.10写出程序运行的结果。

main ( ){ int i, j, m, n;i=8;j=10;m=++i;n=j++;printf (“%d, %d, %d, %d”, i, j, m, n);}解:运行结果为:9,11,9,103.12 出下面表达式运算后a的值,设原来a=12。

设a和n都已定义为整型变量。

(1)a+=a (2)a-=2(3)a*=2+3 (4)a/=a+a(5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a解:(1)24 (2)10(3)60 (4)0(5)0 (6)04.5请写出下面程序的输出结果:main ( ){ int a=5,b=7;float x=67.8564,y=-789.124;char c=‟A‟;long n=1234567;unsigned u=65535;printf(“%d%d\n”,a,b);printf(“%3d%3d\n”,a,b);printf(“%f,%f\n”,x,y);printf(“%-10f,%-10f\n”,x,y);printf(“%8.2f, %8.2f,%4f, %4f, %3f, %3f\n”,x,y,x,y,x,y); printf(“%e,%10.2e\n”,x,y);printf(“%c,%d,%o,%x\n”,c,c,c,c);printf(“%ld,%lo,%x\n”,n,n,n);printf(“%u,%o,%x,%d\n”,u,u,u,u);printf(“%s,%5.3s\n”,”COMPUTER”,”COMPUTER”);}运行结果:5□7□□5□□767.856400, -789.12402367.856400□, -789.124023□□□67.86,□□-789.12,67.8564,-789.1240,67.856400,-789.1240236.785640e+01,□□-7.9e+02A,65,101,411234567,4553207,d68765535,177777,ffff,-1COMPUTER,□□COM可以发现,输出数据中若有负号、e和小数点,这些字符也占位。

陈文与重庆市南岸区住房和城乡建设委员会撤销行政合同二审行政判决书

陈文与重庆市南岸区住房和城乡建设委员会撤销行政合同二审行政判决书

陈文与重庆市南岸区住房和城乡建设委员会撤销行政合同二审行政判决书【案由】行政行政行为种类行政合同【审理法院】重庆市第五中级人民法院【审理法院】重庆市第五中级人民法院【审结日期】2020.09.18【案件字号】(2020)渝05行终397号【审理程序】二审【审理法官】封莎龙晓波曾平【审理法官】封莎龙晓波曾平【文书类型】判决书【当事人】陈文;重庆市南岸区住房和城乡建设委员会【当事人】陈文重庆市南岸区住房和城乡建设委员会【当事人-个人】陈文【当事人-公司】重庆市南岸区住房和城乡建设委员会【代理律师/律所】张也北京德恒(重庆)律师事务所【代理律师/律所】张也北京德恒(重庆)律师事务所【代理律师】张也【代理律所】北京德恒(重庆)律师事务所【法院级别】中级人民法院【字号名称】行终字【原告】陈文;重庆市南岸区住房和城乡建设委员会【本院观点】根据《最高人民法院关于审理行政协议案件若干问题的规定》第二条第(二)项、第四条之规定,本案涉及的《国有土地上房屋征收补偿合同》属于法院受案范围。

【权责关键词】行政合同合法可撤销受案范围举证责任质证关联性合法性维持原判行政合同【指导案例标记】0【指导案例排序】0【本院认为】本院认为,根据《最高人民法院关于审理行政协议案件若干问题的规定》第二条第(二)项、第四条之规定,本案涉及的《国有土地上房屋征收补偿合同》属于法院受案范围。

南岸区住建委作为政府确定的房屋征收部门组织实施本行政区域的房屋征收与补偿工作,作为被告主体适格。

《最高人民法院关于审理行政协议案件若干问题的规定》第十条规定,原告主张撤销、解除行政协议的,对撤销、解除行政协议的事由承担举证责任。

该司法解释第十四条规定,原告认为行政协议存在胁迫、欺诈、重大误解、显失公平等情形而请求撤销,人民法院经审理认为符合法律规定可撤销情形的,可以依法判决撤销该协议。

可见,上诉人请求撤销涉案《征收补偿合同》,需要对行政协议存在胁迫、欺诈、重大误解、显失公平等情形承担举证责任。

计算机等级考试中的代码填空题解析

计算机等级考试中的代码填空题解析

计算机等级考试中的代码填空题解析代码填空题是计算机等级考试中常见的题型之一,考察考生对编程语言的理解和运用能力。

本文将以Python语言为例,对计算机等级考试中的代码填空题进行解析。

一、题目一```pythondef find_max(num_list):max_num = ______for num in num_list:if num > max_num:max_num = numreturn max_numnums = [5, 9, 3, 2, 7]print(find_max(nums))```解析:该题要求填写横线处的代码,使得函数能够正确找到列表`num_list`中的最大值并返回。

根据题目中的提示,我们需要在函数内部添加合适的代码。

正确答案:```max_num = float('-inf')```代码分析:- `max_num`变量被初始化为负无穷,保证`num_list`中的任意值都会大于它。

- 遍历`num_list`列表中的每个元素,将大于`max_num`的值赋给`max_num`。

二、题目二```pythondef fibonacci(n):if n <= 1:return nelse:return ______num = 6print(fibonacci(num))```解析:该题要求填写横线处的代码,使得函数能够正确计算斐波那契数列的第`n`项并返回。

根据题目中的提示,我们需要在函数内部添加合适的代码。

正确答案:```fibonacci(n - 1) + fibonacci(n - 2)```代码分析:- 首先判断`n`是否小于等于1,若满足条件,则返回`n`。

- 若`n`大于1,采用递归的方式计算斐波那契数列的第`n`项,即返回第`n-1`项与第`n-2`项的和。

三、题目三```pythondef calculate_average(num_list):sum = 0count = 0for num in num_list:sum += numcount += ____average = _____return averagenums = [2, 4, 6, 8, 10]print(calculate_average(nums))```解析:该题要求填写横线处的代码,使得函数能够正确计算列表`num_list`中数值的平均值并返回。

c语言经典100题菜鸟教程

c语言经典100题菜鸟教程

c语言经典100题菜鸟教程C语言是一种通用且广泛应用的编程语言,学习C语言是许多程序员的第一步。

熟练掌握C语言是提高编程技能的关键之一。

为了帮助菜鸟们更好地学习C语言,本篇文章将介绍C语言经典100题,希望能够帮助大家巩固学习内容,提升编程能力。

1. 请编写一个C程序,输出"Hello, World!"。

```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```2. 请编写一个C程序,输入两个整数,求它们的和并输出。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 请编写一个C程序,输入一个整数,判断该整数是否为奇数并输出。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数", num);} else {printf("%d是奇数", num);}return 0;}```4. 请编写一个C程序,输入一个数字n,计算n的阶乘并输出。

```c#include <stdio.h>int main() {int n, i;unsigned long long factorial = 1;printf("请输入一个整数:");scanf("%d", &n);for (i = 1; i <= n; ++i) {factorial *= i;}printf("%d的阶乘为:%llu", n, factorial);return 0;}```5. 请编写一个C程序,输入一个数字n,输出斐波那契数列中的第n个数。

c语言程序设计教程第二版课后习题答案

c语言程序设计教程第二版课后习题答案

c语言程序设计教程第二版课后习题答案1. 基本概念和语法1.1 变量和数据类型题目:请将下列C语言的变量定义语句补充完整,并给出每个变量的数据类型和初始化值。

代码:```c#include <stdio.h>int main() {int a;float b;char c;double d;int x = 5;float y = 3.14;char z = 'A';printf("a的数据类型:%s,a的初始值:%d\n", typeof(a), a);printf("b的数据类型:%s,b的初始值:%f\n", typeof(b), b); printf("c的数据类型:%s,c的初始值:%c\n", typeof(c), c); printf("d的数据类型:%s,d的初始值:%lf\n", typeof(d), d); printf("x的数据类型:%s,x的初始值:%d\n", typeof(x), x); printf("y的数据类型:%s,y的初始值:%f\n", typeof(y), y); printf("z的数据类型:%s,z的初始值:%c\n", typeof(z), z); return 0;}```答案:a的数据类型:int,a的初始值:随机值b的数据类型:float,b的初始值:随机值c的数据类型:char,c的初始值:'\0'd的数据类型:double,d的初始值:随机值x的数据类型:int,x的初始值:5y的数据类型:float,y的初始值:3.140000z的数据类型:char,z的初始值:A1.2 运算符和表达式题目:请在下列C语言程序中补充运算符,使程序达到题目要求。

```c#include <stdio.h>int main() {int a = 5;int b = 3;int c;// 1. 将a和b的和赋值给c,并将c的值输出// 补充代码// 2. 将a和b的差赋值给c,并将c的值输出// 补充代码// 3. 将a和b的积赋值给c,并将c的值输出// 补充代码// 4. 将a除以b的商赋值给c,并将c的值输出// 补充代码// 5. 将a除以b的余数赋值给c,并将c的值输出// 补充代码return 0;}```要求:1. 补充代码,使程序能够正确输出运算结果;2. 使用合适的运算符。

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}} 该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#define N 100struct date{int year;int month;int day;};struct product{char p_name[20];long int p_num[7];char size[4];struct date in_date;long int max_s;long int min_s;long int real_s;struct product *next;}pro[N];void enter();void search();void searchmenu();void search_by_name();void search_by_date();void search_by_nameandsize();void insert();void lend();void print();void save(int n);int load();void input(int i);void printf_data(int i) ;void printf_back();void menu() /***************菜单*************/ {int n,w1; /****变量p保存选择菜单数字,w1判断输入数字对应菜单****/do{puts("\n\t\t*****************菜单********************\n\n");puts("\t\t\t1.信息输入");puts("\t\t\t2.信息查询");puts("\t\t\t3.信息插入");puts("\t\t\t4.领货");puts("\t\t\t5.信息打印");puts("\t\t\t6.退出");puts("\n\n\t\t***************************************\n");puts("\t\t****************************** 陈文\n");puts("\t\t********************************2013.01.05\n");printf("请选择[1-6]:[ ]\b\b");scanf("%d",&n);if(n<1||n>6){w1=1;getchar();}else w1=0;}while(w1==1);switch(n) /***********选择功能***********/ {case 1:enter();break; /***********信息输入模块***********/ case 2:search();break; /***********信息查询模块***********/ case 3:insert();break; /***********信息添加模块***********/ case 4:lend();break; /***********物资领取模块***********/ case 5:print();break; /***********信息打印模块***********/ case 6:exit(0); /***********退出模块***********/}}main() /***********主函数***********/ {menu();}/***********信息输入模块***********/void enter(){int i,n;printf("\n产品种类数量(0-%d)?:",N-1);scanf("%d",&n);printf("\n请输入数据\n\n");for(i=0;i<n;i++){printf("输入第%d种产品数据:\n",i+1);input(i);}if(i!=0)save(n);printf_back();}/***********信息查询模块***********/void searchmenu(){int n,w2;do{puts("\n\t\t*****************查询********************\n\n");puts("\t\t\t1.按名称查询");puts("\t\t\t2.按日期查询");puts("\t\t\t3.按名称规格查询");puts("\t\t\t4.返回");puts("\n\n\t\t***************************************\n");printf("请选择[1-4]:[ ]\b\b");scanf("%d",&n);if(n<1||n>4){w2=1;getchar();}else w2=0;}while(w2==1);switch(n) /***********选择功能***********/ {case 1:search_by_name();break; /***********按名称查询***********/ case 2:search_by_date();break; /***********按日期查询***********/ case 3:search_by_nameandsize();break; /*********按名称规格查询*********/ case 4:getch();menu(); /***********退出模块***********/ }}void search(){searchmenu();}/***********按名称查询***********/void search_by_name(){int j,n,m=0;char a[20];n=load();printf("\n请输入产品名称!\n名称:");scanf("%s",a);for(j=0;j<n;j++)if(strcmp(a,pro[j].p_name)==0){m++;printf_data(j);}printf("\n找到%d种产品!",m);getch();menu();}/***********按日期查询***********/struct s_date{int year;int month;int day;}s;void search_by_date(){int j,n,m=0;n=load();printf("\n输入你想查找的产品日期!\ndate:");scanf("%d.%d.%d",&s.year,&s.month,&s.day);for(j=0;j<n;j++)if((s.year==pro[j].in_date.year)&&(s.month==pro[j].in_date.month)&&(s.day==pro[j].in_date.da y)){m++;printf_data(j);}printf("\n找到当天的此产品%d!",m);getch();menu();}/*********按名称规格查询*********/void search_by_nameandsize(){int j,n,m=0;char a[20],b[4];n=load();printf("\n输入你想找的产品名称!\n名称:");scanf("%s",a);printf("\n输入你想找的产品库存量!\n库存量:");scanf("%s",b);for(j=0;j<n;j++)if((strcmp(a,pro[j].p_name)==0)&&(strcmp(b,pro[j].size)==0)){m++;printf_data(j);}printf("找到%d种产品!",m);getch();menu();}/***********信息添加模块***********/void insert(){int n,c;n=load();puts("\n输入一个数据:\n");do{input(n);printf_data(n);printf("\n\n是否确信?\n1).是\n2).取消并重试\n3).返回不保存[ ]\b\b");scanf("%d",&c);if(c==1){save(n+1);printf_back();}else if(c!=2)menu();}while(c==2);}/***********物资领取模块***********/struct one_pro{char p_name[20];char size[4];struct date one_date;long int total;struct one_pro *next;}check;void lend(){int j,n;n=load();printf("\n请检查你想取的产品的信息!");printf("\n名称(1-20letter) 库存量(1-4letter) 日期amount\n");scanf("%s%s%d.%d.%d%d",&check.p_name,&check.size,&check.one_date.year,&check.one_dat e.month,&check.one_date.day,&check.total);for(j=0;j<n;j++)if((strcmp(check.p_name,pro[j].p_name)==0)&&(strcmp(check.size,pro[j].size)==0)&&(check.on e_date.year==pro[j].in_date.year)&&(check.one_date.month==pro[j].in_date.month)&&(check.o ne_date.day==pro[j].in_date.day)&&(check.total<=pro[j].real_s)){pro[j].real_s-=check.total;printf_data(j);save(n);printf_back();}else printf("数据错误!");}/***********信息打印模块***********/void print(){int i,n;n=load();for(i=0;i<n;i++)printf_data(i);getch();menu();}/***********公共函数*************/#include<stdio.h>void save(int n) /***********保存函数**************/{FILE*fp;int k;if((fp=fopen("pro.dat","wb"))==NULL){printf("\n无法打开文件!\n");}for(k=0;k<n;k++)if(pro[k].real_s!=0)if(fwrite(&pro[k],sizeof(struct product),1,fp)!=1)printf("文件书写错误!\n");fclose(fp);}int load() /************加载函数*************/{FILE*fp;int k;if((fp=fopen("pro.dat","rb"))==NULL){printf("\n无法打开文件!\n");return NULL;}for(k=0;!feof(fp);k++)fread(&pro[k],sizeof(struct product),1,fp);fclose(fp);return(k-1);}void input(int i) /************输入一种产品信息***********/ {printf("\n名称(1-20letter):");scanf("%s",&pro[i].p_name);printf("\n编号(1-7num):");scanf("%d",&pro[i].p_num);printf("\n库存量(1-4letter):");scanf("%s",&pro[i].size);printf("\n日期:");scanf("%d.%d.%d",&pro[i].in_date.year,&pro[i].in_date.month,&pro[i].in_date.day);printf("\namount[min-real-max]:");scanf("%d-%d-%d",&pro[i].min_s,&pro[i].real_s,&pro[i].max_s);}void printf_data(int i) /************输出信息函数***********/ {printf("\n名称\t\t编号\t规格\t日期\t\tmin-real-max\n");printf("%s\t%d\t%s\t%d.%d.%d\t%d-%d-%d",pro[i].p_name,pro[i].p_num,pro[i].size,pro[i].in_da te.year,pro[i].in_date.month,pro[i].in_date.day,pro[i].min_s,pro[i].real_s,pro[i].max_s);}void printf_back(){printf("\n\n请按任意键回主菜单!\n"); getch();menu();}。

相关文档
最新文档