C语言50题更新.docx
- 文档编号:9349502
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:16
- 大小:20.38KB
C语言50题更新.docx
《C语言50题更新.docx》由会员分享,可在线阅读,更多相关《C语言50题更新.docx(16页珍藏版)》请在冰点文库上搜索。
C语言50题更新
一基础部分:
1、输入1~10之间的一个数字,输出它对应的英文单词。
2、用自然语言描述程序逻辑如下,试写程序。
①设置环境;
②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;
③i=1;
④如果i≤100,则转⑤,否则转⑧;
⑤令s=0,求前i个自然数之和,并放于变量s之中;
⑥sum=sum+s;
⑦i增加1,转④;
⑧输出和sum,结束。
3、用自然语言描述的程序逻辑为:
①设置环境;
②定义变量i、flag和password,并令flag=0,i=0;
③用户回答口令,将其赋于password变量;
④口令正确?
如果是,则flag=1,转⑥。
否则转⑤;
⑤回答三次口令了吗?
如果没有,计数器加1后(i++),转③,否则转⑥;
⑥根据flag之值输出相应信息。
4、用自然语言描述的程序逻辑如下:
①设置环境;
②定义变量digit、x、y分别表示原始数、原始数的个位数和逆数;
③输入原始正整数x;
④从x中分解出个位数字digit;
⑤合并个位digit至逆数y中;
⑥原始数x缩小10倍:
x=x/10;
⑦如果x非零,则转④;
⑧输出逆数y,结束
5、输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构成)。
6、输入10个数,分别统计其中正数、负数、零的个数。
7、先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。
(设N为100)
8、已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。
y=0,x=a||x=-a; y=sqrt(a*a-x*x),-a
9、计算:
1/2-2/3+3/4-4/5……,前100项。
10、从终端输入3个数a、b、c,按从大到小的顺序输出。
11、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
12、求下列式子的值:
1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
13、编程输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。
14、输入学生的成绩,利用计算机将学生的成绩划分出等级并输出:
90~100:
A级; 80~89:
B级; 70~79:
C级; 60~69:
D级; 0~59:
E级;
15、把100~200之间的不能被3整除的数输出。
二数组循环部分:
1、从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。
2、从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各元素的值。
3、一辆卡车违反交通规则,撞人后逃跑。
现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;乙说:
牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:
四位的车号刚好是一个整数的平方。
请根据以上线索找出车号。
4、公安人员审问四名窃贼嫌疑犯。
已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。
在回答公安人员的问题中:
甲说“乙没有偷,是丁偷的”,乙说“我没有偷,是丙偷的”,丙说“甲没有偷,是乙偷的”,丁说“我没有偷”。
请根据这四人的答话判断谁是盗窃者。
5、“百钱百鸡”问题。
百钱买百鸡,鸡翁一值钱三,鸡母一值钱二,鸡雏三值钱一,问鸡翁、鸡母、鸡雏各几何?
6、A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛.
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。
7、输入一个字串,判断它是否是对称串。
如”abcdcba”是对称串,”123456789”不是。
8、随机产生N个大写字母输出,然后统计其中共有多少个元音字符。
(设N为200)
9、从键盘输入长度不等的两个字串,将长串连接于短串之后输出。
10、从键盘输入两个字串,输出其中较短的那个字串,并输出它的长度。
11、输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
12、将一个字符串中的元音字母复制到另一字符串,然后输出“另一字符串”。
13、将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。
14、输入一行英文,已知各单词之间用1个空格或一个标点符号相隔(设第一个单词前没有空格),统计这行英文有多少个单词。
15、输入一行字符串,按如下规则加密:
如果是英文字母则大写变小写、小写变大写,对非英文字符则保持不变。
试写加密程序。
16、随机产生N个两位自然数,降序排列后输出。
(设N为20)
17、求s=a+aa+aaa+aaaa+......+aa...a的值,其中a是1~9之间的一个数字,表达式项数从键盘输入(设不超过10项)。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
18、求1+12+123+……前n项之和,其中n是从键盘输入的一个数字(1~9)。
19、小学生智商测试。
让电脑随机出十道100以内整数的加法题(10分/题),小学生从键盘回答答案,统计小学生最后得分。
20、斐氏数列是公元13世纪数学家斐波拉契发明的。
即:
1,2,3,5,8,13,21,34,55,89,……,输出其前15项。
21、输入一个十进数,将其转换成 N 进制数(0 22、输入n个整数,将其中最小者与第一个数对调,最大者与最后一个数对调。 23、将一个数组中的值按逆序重新存放。 例: 原来顺序为3,6,5,4,1。 要求改为1,4,5,6,3 24、键盘输入四个同学的五门课成绩,求出每个学生的平均成绩,输出该数组。 25、从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。 26、从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。 将结果输出。 27、打印以下图案: ******* ***** *** * 28、求一个3*3的整型矩阵对角线元素之和。 29、求满足1+2+3+…+n<500中最大的N,并求其和,编写程序实现。 30、求N的阶乘,N由键盘输入。 三、自定义函数与指针部分: 1、键盘输入长方体的长宽高l、w、h,求其体积及表面积。 要求用自定义函数val(l,w,h)计算长方体的体积和表面积,计算结果使用全局变量带回主函数。 2、找出三位自然数中的所有素数,要求判断x素数用自定义函数data(x)实现。 3、输出n行由“#”组成的矩形,每行“#”的个数为m个,其中n、m由终端(键盘)输入。 要求输出m个“#”功能由函数satr(m)函数实现。 4、编写程序,建立phone.txt文件,由键盘输入5个人的姓名、手机号码、家庭住址,写入该文件中。 5、输出某二维数组中各元素的内存地址及其值。 1、已知整型变量a=b=c=1,则执行语句a=(++a/b++)-c--后,变量a=(),c=()。 2、#include Voidmain(){inta,b,c,d; a=1;b=2;c=3;d=a>b? a: b;d=d>c? d: c;printf(“%d\n”,d);} 3、#include voidmain(){inta,b,c;a=5;b=4;c=a=a>b;printf(“%d\n”,c);} 4、#include voidmain(){inta=1,b;b=-a++;printf(“%d\n”,b);} 5、#include 6、#include voidmain(){inta=3; if(a++>3) printf(“%d\n”,++a); else printf(“%d\n”,--a);} 7、#include Voidmain() {inta,b;a=1; if(a<0) b=-1; elseif(a==0) b=0; else b=1; printf(“%d,%d\n”,a,b);} 8、#include voidmain() {inti,j; for(i=0,j=10;;i+=2,j-=2) {if(i>j) break; printf(“%d,%d\n”,i,j);} } 9、#include main() {inti=10,j=10; do {if(i>j) break; if(++i>j--) continue;}while (1); printf(“%d,%d\n”,i,j);} 10、#include voidmain() {inti; for(i=1;i;i++) {if(i>5) {printf(“%d\n”,i++);break;} printf(“%d,”,i++);} } 11、#include main() {inti=0,s=0; do {if((i/2)*2==i) {s+=i;continue;} }while(i++<10); Printf(“%d\n”,s);} 12、#include #include main() {inti,j,k=0,m=0; for(i=0;i<2;i++) {for(j=0;j<3;j++) k++;k-=j; } m=i+j; printf(“k=%d,m=%d\n”,k,m);} 13、#include voidmain() {inti; for(i=0;i<5;i++) {if(i%2) printf(“%c”,’a’); else continue; printf(“%c”,’b’);} printf(“%c”,’c’);} 14、#include main() {inta=100,b=10,c=20,d=5,e=0; if(a>b) if(b! =c) if(! d) a=0; else if(e) a=1; printf(“%d\n”,a);} 15、#include main() {charstr[]=”abcdefg”; char*s;s=str; while(*s! =’\0’) {*s=*s–‘a’+’A’; s++;} printf(“%s\n”,str); } 16、#include main() {staticinta[]={1,3,5,7,9}; int*p,i;p=a; *(p+3)+=2; printf(“%d,%d\n”,*p,*(p+3)); } 17、#include main() {chars[]=”abcdefg\0”,*p; p=&s[7]; while(--p>=s) putchar(*p); putchar(‘\n’); } 18、#include main() {inta[2][2]={1,2,3,4}; printf(“%d”,*(*(a+1)+1));} 19、#include main() {inta=10,b,*p; p=&a;b=(*p)++; printf(“%d,%d\n”,a,b);} 20、#include main() {int**a,*i,j[2]={1,2}; i=&j;a=&i; printf(“%d\n”,**a);} 21、#include main() {inta[8]={1,2,3,4,5,6,7,8}; int*p[3],**pp,i; for(i=0;i<2;i++) {p[i]=&a[i*4];pp=&p[i]; Printf(“%d,”,**pp);} } 22、#include main() {inta[]={1,2,3,4,5,6}; int*p=a,i; *(a+2)=*(p++); printf(“%d”,*(p+2));} 23、#include main() {char*str[5]={“1234”,”5678”},*p[2]; inti,j,k=0; for(i=0;i<2;i++) p[i]=str[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>’\0’&&p[i][j]<=’9’;j++) k=10*k+p[i][j]-‘0’; printf(“%d\n”,k);} 24、#include main() {ints[10],i,k=1,*p=s; for(i=0;i<10;i++) *(p+i)=i; for(i=0;i<10;i++) printf(“%4d”,s[i]);} 25、#include voidfun(intx,inty,int*cp,int*p) {*cp=x+y;*p=x-y;} main() {inta,b,c,d; a=3;b=4; fun(a,b,&c,&d); printf(“%d,%d\n”,c,d);} 26、#include intfun(int*x,int*y) {intt; t=x;x=y;y=t; return*x>*y? *x+*y: *x-*y;} main() {inta=10,b=4; printf(“%d”,fun(&a,&b));} 27、#include voidfun(intx,int*y,int*z) {*y=*y-1;*z=*z+x;} main() {inta=10,b=4,*pa,*pb; pa=&a;pb=&b; fun(a-b,pa,pb); printf(“%d%d\n”,a,b);} 28、#include int*fun(int*x,int*y) {if(*x>*y) returnx; returny;} main() {int*p,a,b; a=1;b=2;p=fun(&a,&b); printf(“%d\n”,*p);} 29、#include“stdio.h” charfun(charch) {if(ch>=’a’&&ch<=‘z’) ch=ch-32; returnch`;} main() {char*str=”abcde”; char*p=str,c; while(*p! =’\0’) {printf(“%c”,fun(*p)); p++;}} 30、#include“stdio.h” #defineN3 #defineM4 voidlmax(intx[N][M]) {inti,j,col; for(i=0;i {col=0; for(j=0;j if(x[i][col] col=j; printf(“%d”,x[i][col]);}} main() {intx[N][M]={1,34,53,12,3,23,45,7,61,43,29,16}; lmax(x);} 31、#include“string.h” #include“stdio.h” voidfun(char*s[],intn) {inti,j,k; char*t; for(i=0;i {k=i; for(j=i+1;j if(strcmp(s[k],s[j]>0)) k=j; if(k! =i) {t=s[i];s[i]=s[k];s[k]=t;} } } voidmain() {staticchar*str[3]={“Fre”,”May”,”Agu”}; intm=3,i; fun(str,m); for(i=0;i printf(“%s\n”,str[i]); } 32、#include“stdio.h” voidfun(intx) {staticinty=5; x++; printf(“%d+%d=%d\n”,x,y++,x+y);} voidmain() {inti; for(i=1;i<=3;i++) fun(i);} 33、#include“stdio.h” inta[2][3]={1,2,3,4,5,6}; voidfun(intm,intn) {inti,j; for(i=0;i for(j=0;j a[i][j]=a[i][j]+a[i][j+1];} voidmain() {inti,j,m,n; m=2;n=3; fun(m,n); for(i=0,i {for(j=0;j Printf(“%d”,a[i][j]); Printf(“\n”);} }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 50 更新