c语言编程例题及答案

合集下载

C语言编程题精选及答案.

C语言编程题精选及答案.

C语言编程题精选C语言学习2010-11-30 15:48:25 阅读47 评论0 字号:大中小订阅1. 有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。

2. 任意输入三个字符,要求首先按逆序输出,然后同行原序输出。

3. 在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):************************4. 在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):***************5. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************6. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):**********7. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************8. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************9. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):****************10. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*************************11. 编写打印如下图形的程序(考虑将输出的行数由输入的值来控制):* * * * ** * * * ** * * * ** * * * *12. 编制程序打印如下图形(考虑将输出的行数由输入的值来控制):ABBBCCCCCDDDDDDDEEEEEEEEEFFFFFFFFFFFGGGGGGGGGGGGG13. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 114. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 115. 编程打印图形(考虑将输出的行数由输入的值来控制):1 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 1116. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 117. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 118. 输入一个大写字母打印菱形。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

C语言经典例题以及答案

C语言经典例题以及答案

作业一一、求一个任意边长的矩形面积。

#include<stdio.h>voidmain(){intw,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d\n",sum);}二、求一个任意半径的圆的面积及周长。

#definePI#include<stdio.h>voidmain(){floatr,area,c;scanf("%f",&r);area=PI*r*r;c=2*PI*r;printf("area=%f\ncircle=%f\n",area,c);}三、已知:w=5,y=4,z=2, 求表达式:w*y/z的值,并输出。

##include<stdio.h>voidmain(){intw,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}作业二一、从键盘上输入三个数,求出其中的最大值,并输出。

#include<stdio.h>voidmain(){inta,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("max=%d\n",max);}二、求sin300。

+sin600+cos300+cos600之和。

(注意:)#include<stdio.h>#definePI#include<math.h>voidmain(){floata,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f\n",sum);}三、比较两个数的大小。

c语言 编程及答案

c语言 编程及答案

1、输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。

然后输出最后得到的字符。

#include<stdio.h>int main(){char c1;printf("input a latter:\n");scanf("%c",&c1);if(c1>='A'&&c1<='Z')c1=c1+32;printf("%c",c1);return 0;}2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

#include<stdio.h>int main(){char c;int letters=0,space=0,digit=0,other=0;printf("Please input letters:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c>='0'&&c<='9')digit++;else if(c==' ')space++;elseother++;}printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字母数:%d\n",letters,digit,space,other);return 0;}3、编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。

#include<stdio.h>int main(){int n;float c;float sum(int n);scanf("%d",&n);c=sum(n);printf("%f\n",c);float sum(int n){int i;float sum=0.0;for(i=1;i<=n;i++)sum=sum+1.0/i;return sum;}4、输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。

C语言编程题及答案(精心整理)

C语言编程题及答案(精心整理)

)(*)(*)(*c s b s a s s ---C 语言编程题1.(*)求分数序列:1/2,2/3,3/5,5/8,8/13,13/21...... 前20项的和。

main(){float i=1,j=2,t=0,s,n,m;for(n=1;n<=20;n++)s=i/j,m=i,i=j,j=m+j,t=t+s;printf("t=%f",t);}2.(*)从键盘输入一个字符串,再将其逆序输出。

(如:输入abcde ,输出edcba ) main(){int i;char c[10];scanf("%s",c);for(i=9;i>=0;i--)printf("%c",c[i]);}3.(*)已知abc+cba=1333,其中a 、b 、c 均为一位数,例如:617+716=1333, 518+815=1333, 试编程求出符合这一规律的a 、b 、c ,并输出结果。

main(){int a,b,c,x,y;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=1;c<=9;c++){ x=100*a+10*b+c;y=100*c+10*b+a;if(x+y==1333)printf("x=%d,y=%d",x,y);}}4.(*)利用海伦公式求三角形面积,三边长a,b,c 由键盘输入。

若输入的三边长不能构成 三角形,输出相应提示信息。

海伦公式如下:其中s=(a+b+c)/2三角形面积= #include"math.h"main(){ float a,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));if(a+b>c&&a+c>b&&b+c>a)printf("area=%f",area);else.1 .printf("no");}5.(*)编程求出1!+2!+3!+…+8!+9!+10!的值并输出。

C语言编程习题和答案

C语言编程习题和答案

C语⾔编程习题和答案1题:/*九九乘法表:*/#includeint main(void){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%dx%d=%2d ",i,j,i*j); printf("\n");} return 0;}2题:/*求n的阶乘之和:*/#includeint main(void){int i,n,s,k,j;scanf("%d",&n);for(s=1,i=1;i<=n;i++)s*=i;printf("%d!=%d\n",n,s);for(s=1,i=1;i<=n;i++){for(k=0,s=1,j=1;j<=i;j++)s=s*j,k+=s;}printf("他们的n阶之和为%d\n",k); return 0;}3题:/*求兔⼦繁殖问题:*/#includeint main(void){int a=1,b=1,i=3,n,c;printf("\n请输⼊⼀个繁殖时间(单位为⽉): "); scanf("%d",&n); while(i<=n){c=a+b;a=b;b=c;i++;}printf("他们繁殖的兔⼦数为:%d(只)\n",c); return 0;}1题:/*猴⼦吃桃:*/#includeint main(void){int i,a=1,s=0;for(i=9;i>=1;i--){s=(a+1)*2;a=s;} printf("s=%d个\n",s); return 0;}2题:/*求分数之和:*/#includeint main(void){float k,i,a=1,b=2,sum=0.0;printf("这前20个分数分别是:");for(i=1,sum=0;i<=20;i++){sum+=b/a;printf("%.f/%.f ",b,a);k=b,b=(a+b),a=k;}printf("\n他们的和为:sum=%.2f\n",sum); return 0;}3题/*判断是否是⽔仙花数:*/#includeint main(void){int a,j,k,s;printf("请输⼊⼀个数:");scanf("%d",&a);for(;a<100||a>999;){printf("\n输⼊有误,请重新输⼊⼀个三位数:"); scanf("%d",&a);} j=a/100,k=a%100/10,s=a%10;if(a==j*j*j+k*k*k+s*s*s)printf("\n%d是⽔仙花数。

C语言编程题带答案

C语言编程题带答案

C语言编程题带答案题目 1:求两个整数的最大值```cinclude <stdioh>int max(int num1, int num2) {if (num1 > num2) {return num1;} else {return num2;}}int main(){int num1 = 10, num2 = 20;int maxValue = max(num1, num2);printf("最大值为: %d\n", maxValue);return 0;}```分析:在这个程序中,我们定义了一个名为`max` 的函数,它接受两个整数参数`num1` 和`num2` 。

通过使用条件判断语句`if` 来比较这两个数的大小,如果`num1` 大于`num2` ,则返回`num1` ,否则返回`num2` 。

在`main` 函数中,我们给定了两个整数`num1` 和`num2` 的值,并调用`max` 函数来获取它们中的最大值,最后使用`printf` 函数将最大值输出到控制台。

题目 2:计算一个整数数组的平均值```cinclude <stdioh>float average(int arr, int size) {int sum = 0;for (int i = 0; i < size; i++){sum += arri;}return (float)sum / size;}int main(){int arr ={10, 20, 30, 40, 50};int size = sizeof(arr) / sizeof(arr0);float avg = average(arr, size);printf("平均值为: %2f\n", avg);return 0;}```分析:在这个程序中,首先在`average` 函数里,我们初始化一个变量`sum` 为 0 ,用于存储数组元素的总和。

100个经典C语言编程例子(答案另附)

100个经典C语言编程例子(答案另附)

100个经典C语言编程例子(答案另附)1:计算 A+B 的问题时间限制:1000MS 内存限制:10000K总提交数:1347 正确数:655问题描述输入两个整数 a 和 b ,计算 a+b 的结果并输出。

输入两个整数输出一个整数输入样例1 2输出样例32:Hello World!时间限制:1000MS 内存限制:65536K总提交数:848 正确数:693问题描述编写第一个C语言程序。

在屏幕上输出:Hello World!输入程序没有输入输出Hello World!输入样例输出样例Hello World!提示1、输出的内容要与题目的要求完全一样,不能多字符也不能少字符。

3:两个整数的值互换时间限制:1000MS 内存限制:65536K总提交数:1235 正确数:530问题描述输入两个整数a,b ,将 a 和 b 的值互换,并输出。

例如:输入: 2 5输出: 5 2输入两个整数输出两个整数输入样例2 5输出样例5 2提示注意输入和输出的格式,两个数据之间用一个空格隔开。

问题来源4:计算三门课程总分和平均分时间限制:1000MS 内存限制:65536K总提交数:1190 正确数:482问题描述输入三门课程的成绩,输出总分和平均分。

要求:(1)输入三个数,用空格隔开。

输入的数可以是小数。

(2)输出两个数,用空格隔开。

输出的数保留两位小数。

例如:输入: 75 80 90输出: 245.00 81.67 输入输入三个数,用空格隔开。

输入的数可以是小数。

输出输出两个数,用空格隔开。

输出的数保留两位小数。

输入样例75 80 90输出样例245.00 81.67问题来源5:鸡兔同笼问题时间限制:1000MS 内存限制:65536K总提交数:872 正确数:443问题描述这个问题,是我国古代著名趣题之一。

大约在1500年前,《孙子算经》中就记载了这个有趣的问题。

书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。

C语言编程习题及答案

C语言编程习题及答案

1-1. 编写求圆的面积、周长的程序。

圆的半径从键盘输入。

#include<stdio.h>void main(){float r,c,s;scanf("%f",&r);c=2*3.1415926*r;s=3.1415926*r*r;printf("周长为:%f,面积为:%f\n",c,s);}1-2.输入三个正数,计算并输出由此构成的立方体的体积。

#include<stdio.h>void main(){float a,b,c,v;scanf("%f,%f,%f",&a,&b,&c);v=a*b*c;printf("体积为:%f\n", v);}1-3.输入华氏温度h,计算并输出摄氏温度s. (转换公式:s=5 / 9(h - 30) )。

#include<stdio.h>void main(){float h,s;printf("请输入华氏温度:");scanf("%f",&h);s=5.0/9.0*(h-32);printf(" 摄氏温度为:%f\n", s);1-4.用*号输出字母C的图案。

#include<stdio.h>void main(){printf(" **\n");printf(" *\n");printf("*\n");printf("*\n");printf(" *\n");printf(" **\n");}2-1.输入三个正数a,b,c,如果能构成三角形,计算并输出该三角形的面积。

面积公式:(其中:p=(a+b+c)/2)#include<stdio.h>#include<math.h>#define p(a,b,c,x) sqrt(x*(x-b)*(x-c))void main(){double a,b,c,x;scanf("%lf,%lf,%lf",&a,&b,&c);if(a<0||b<0||c<0||a+b<=c||a+c<=b||b+c<=a)printf("不能构成三角形");else{x=(a+b+c)/2;printf("能构成三角形,面积=%lf\n",p(a,b,c,x));}}2-2.分段函数。

C语言经典编程实例100题答案

C语言经典编程实例100题答案

C语言经典编程实例100题答案1. 打印Hello World!#include <stdio.h>int main() {printf("Hello World!");return 0;}2. 计算两个数的和#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个数的和为:%d", sum);return 0;}3. 输入一个数,判断是否为正数、负数或零#include <stdio.h>int main() {int num;printf("请输入一个数:"); scanf("%d", &num);if (num > 0) {printf("正数");}else if (num < 0) {printf("负数");}else {printf("零");}return 0;}4. 判断一个数是否为素数#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个数:");scanf("%d", &num);for (i = 2; i <= num / 2; ++i) { if (num % i == 0) {flag = 1;break;}}if (flag == 0)printf("%d是素数", num); elseprintf("%d不是素数", num); return 0;}5. 求斐波那契数列的第n项#include <stdio.h>int fibonacci(int n) {if (n <= 1)return n;return fibonacci(n - 1) + fibonacci(n - 2);}int main() {int n;printf("请输入要求第几项:");scanf("%d", &n);printf("第%d项的值为:%d", n, fibonacci(n));return 0;}6. 判断一个数是否为回文数#include <stdio.h>int main() {int num, reversedNum = 0, remainder, originalNum; printf("请输入一个数:");scanf("%d", &num);originalNum = num;while (num != 0) {remainder = num % 10;reversedNum = reversedNum * 10 + remainder; num /= 10;}if (originalNum == reversedNum)printf("%d是回文数", originalNum);elseprintf("%d不是回文数", originalNum);return 0;}7. 打印九九乘法表#include <stdio.h>int main() {int i, j;for (i = 1; i <= 9; ++i) {for (j = 1; j <= i; ++j) {printf("%d * %d = %d\t", j, i, j * i);}printf("\n");}return 0;}8. 输入一个数,判断是否为偶数#include <stdio.h>int main() {int num;printf("请输入一个数:");scanf("%d", &num);if (num % 2 == 0)printf("偶数");elseprintf("奇数");return 0;}9. 冒泡排序#include <stdio.h>void bubbleSort(int array[], int size) { int i, j, temp;for (i = 0; i < size - 1; ++i) {for (j = 0; j < size - i - 1; ++j) {if (array[j] > array[j + 1]) {temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}}int main() {int array[] = {5, 2, 8, 12, 1};int size = sizeof(array) / sizeof(array[0]); bubbleSort(array, size);printf("排序后的数组:");for (int i = 0; i < size; ++i) {printf("%d ", array[i]);}return 0;}10. 判断一个数是否为完数#include <stdio.h>int main() {int num, i, sum = 0;printf("请输入一个数:");scanf("%d", &num);for (i = 1; i < num; ++i) {if (num % i == 0) {sum += i;}}if (sum == num)printf("%d是完数", num); elseprintf("%d不是完数", num); return 0;}......(一共100题答案)这些是C语言经典编程实例的部分答案,希望对您有所帮助。

c基础编程试题及答案

c基础编程试题及答案

c基础编程试题及答案1. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D3. C语言中,用于表示逻辑“与”操作的运算符是什么?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char答案:A5. 在C语言中,如何声明一个指向整型的指针变量?A. int *ptr;B. *int ptr;C. ptr int;D. int *ptr;答案:A6. C语言中,哪个函数用于计算数组中的元素个数?A. sizeofB. countC. lengthD. size答案:A7. C语言中,用于输出格式化字符串的函数是什么?A. printfB. scanfC. sprintfD. fprintf答案:A8. 在C语言中,哪个关键字用于定义一个结构体?A. structB. typeC. classD. union答案:A9. C语言中,哪个运算符用于计算两个整数的差?A. -B. +C. /D. *答案:A10. 在C语言中,如何声明一个具有10个元素的整型数组?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A。

C语言考试编程题答案

C语言考试编程题答案

C语言考试编程题答案〔1〕1、从键盘中输入一个大写字母,要求改用小写字母输出#include <stdio.h>void main(){char c1,c2;c1=getchar();printf(“%c,%d\n〞,c1,c1);c2=c1+32;printf(“%c,%d\n〞,c2,c2);}2、编程求1+2+3+…+100的值,并输出结果#include "stdio.h"void main(){int i,sum=0;for (i=1;i<=100;i++)sum=sum+i;printf("\nsum= %d",sum);}3、用递归方法求n!。

#include<stdio.h>void main(){float fac(int n);int n;float y;printf("input an integer number:");scanf("%d",&n);y=fac(n);printf("%d!=%10.0f\n",n,y);}float fac(int n){float f;if(n<0){printf("n<0,dataerror!");}else if(n==0\\n==1)f=1;else f=fac(n-1)*n;return(f);}4、将一个数组中的值按逆序重新存放。

例如,原来顺序为8,6,4,3,2,0。

要求改为0,2,3,4,6,8。

#include<stdio.h>#define num 6void main(){int i,j,t,a[6]={8,6,4,3,2,0};printf("output primcry date:");for(i=0;i<6;i++)printf("%2d",a[i]);printf("\n");for(i=0,j=5;i<j;i++,j--){t=a[i];a[i]=a[j];a[j]=t;}printf("output the inverse date:");for(i=0;i<6;i++)printf("%2d",a[i]);}5、输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。

100道C语言编程题参考答案

100道C语言编程题参考答案

101道C语言编程题参考答案1000. 计算A+B 的问题49%(655/1347) 53% 01C语言基础1.#include<stdio.h>int main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a+b);return 0;}1001. Hello World! 82%(693/848) 18% 01C语言基础2.#include<stdio.h>int main(){printf("hello world!");return 0;}1004 两个整数的值互换43%(530/1235) 58% 01C语言基础3.#include <stdio.h>int main(){int a,b,t;scanf("%d%d",&a,&b); t=a;a=b;b=t;printf("%d %d",a,b);}1068 计算三门课程总分和平均分41%(482/1190) 60% 01C 语言基础4.#include <stdio.h>int main(){float a,b,c,zf,pj;scanf("%f%f%f",&a,&b,&c);zf=a+b+c;pj=zf/3;printf("%.2f %.2f",zf,pj);}1002 鸡兔同笼问题51%(443/872) 50% 02顺序结构5.#include "stdio.h"int main(){int a,b,x,y;scanf("%d%d",&a,&b);x=2*a-b/2;y=b/2-a;printf("%d %d",x,y);}1005 输出一个自然数的百位十位和个位上的各个数字63%(437/695) 37% 02顺序结构6.#include <stdio.h>main(){int n;scanf("%d",&n);printf("%d %d %d",(n/100)%10,(n/10)%10,n%10);}1006 输出字符(A-F)代表的十六进制数所对应的十进制值84%(387/462) 16% 02顺序结构7.#include "stdio.h"int main(){char n;scanf("%c",&n);switch(n){case 'A':printf("10");break;case 'B':printf("11");break;case 'C':printf("12");break;case 'D':printf("13");break;case 'E':printf("14");break;case 'F':printf("15");break;}}1008 求华氏温度所对应的摄氏温度73%(407/556) 27% 02顺序结构8.#include<stdio.h>main(){float c,f;scanf("%f",&f);c=(5.0/9.0)*(f-32);printf("%.2f",c);}1009 已知斜边和一直角边计算三角形的另一直角边76%(415/547) 24% 02顺序结构9.#include<stdio.h>#include<math.h>main(){float xb,zb1,zb2;scanf("%f%f",&xb,&zb1);zb2=sqrt(xb*xb-zb1*zb1);printf("%.2f",zb2);}1069 已知三边计算三角形的面积64%(374/585) 36% 02顺序结构10.#include<stdio.h>#include<math.h>main(){double a,b,c,p,s;scanf("%lf%lf%lf",&a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("%.6lf",s);}1070 输出小写字母的ASCII码及对应大写字母63%(378/602) 37% 02顺序结构11.#include<stdio.h>main(){char n;int x;scanf("%c",&n);x='a'-'A';printf("%d %c",n,n-x);}1071 保留两位小数72%(335/467) 29% 02顺序结构12.#include "stdio.h" int main(){double n;scanf("%lf",&n);n=(double)(((int)((n+0.005)*100.00))/100.0);printf("%lf",n);}1003 判断输入的一个字符是否是小写字母76%(373/492) 24% 03分支结构13.#include "stdio.h"#include "stdlib.h"#include "ctype.h"void main(){char ch1;ch1=getchar();if(islower(ch1)!=0){printf("%d",ch1);}elseprintf("ERROR");}1007 简单字符加密变换A->F 72%(322/450) 28% 03分支结构14.#include<stdio.h>main(){char a;scanf("%c",&a);a=(a-'A'+5)%26+'A';printf("%c\n",a);}1010 判断输入的一个字符是什么类型的字符58%(337/583) 43% 03分支结构15.#include "stdio.h"#include "Ctype.h"void main(){char n;scanf("%c",&n);if(isalpha(n)!=0)printf("capital");else if(isdigit(n)!=0)printf("number");elseprintf("other");}1011 判断一个学生的成绩等级70%(375/536) 30% 03分支结构16. #include "stdio.h"void main(){int n;scanf("%d",&n);if(n<60)printf("failed");else if(n>=60&&n<80)printf("middle");elseprintf("excellent");}1012 输出数字(1-7)对应的英文星期名称的简写63%(337/536) 38% 03分支结构17.#include "stdio.h"void main(){int n; /*Mon, Tues, Wed, Thu, Fri, Sat, Sun*/scanf("%d",&n);switch(n){case 1: printf("Mon");break;case 2: printf("Tues");break;case 3: printf("Wed");break;case 4: printf("Thu");break;case 5: printf("Fri");break;case 6: printf("Sat");break;case 7: printf("Sun");break;}}1013 给定三个边长的值判断是否能够构成三角形53%(347/650) 47% 03分支结构18.#include "stdio.h"#include<math.h>void main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(abs(a-b)<c&&a+b>c)printf("YES");elseprintf("NO");}1014 将输入的三个数按从小到大的顺序输出67%(308/460) 33% 03分支结构19.#include<stdio.h>int main(){int x,y,z,t;scanf("%d%d%d",&x,&y,&z); if(x>y){t=x;x=y;y=t;}if(y>z){t=z;z=y;}if(x<t)y=t;else{y=x;x=t;}printf("%d %d %d",x,y,z);}1015 编程计算一个分段函数75%(319/428) 25% 03分支结构20.#include "stdio.h"void main(){float x;scanf("%f",&x);if (x<1.0)printf("%.2f",x);else if (x>=1.0&&x<10.0)printf("%.2f",2*x-1);elseprintf("%.2f",3*x-11);}1073 这个数能被3整除吗?68%(374/546) 32% 03分支结构21.#include "stdio.h"void main(){float x;scanf("%f",&x);if (x<1.0)printf("%.2f",x);else if (x>=1.0&&x<10.0)printf("%.2f",2*x-1);elseprintf("%.2f",3*x-11);}1074 这个月有多少天?54%(290/542) 46% 03分支结构22.#include <stdio.h>main(){int y,m;scanf("%d %d",&y,&m);switch(m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31");break;case 4:case 6:case 9:case 11:printf("30");break;case 2:if(y%100 == 0 && y%400 ==0)printf("29");else if(y%100 != 0 &&y%4 ==0)printf("29");elseprintf("28");break;}}1075 模拟加减乘除计算器76%(274/361) 24% 03分支结构23.#include "stdio.h"void main(){float a,b;char p;scanf("%f%c%f",&a,&p,&b);switch(p){case '+': printf("%.6f",a+b);break;case '-': printf("%.6f",a-b);break;case '*': printf("%.6f",a*b);break;case '/': printf("%.6f",a/b);break;}}1076 输出三个数中的最大数和最小数77%(298/386) 23% 03分支结构24.#include<stdio.h>main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a>=b&&b>=c){printf("%d %d",a,c);}if(a>=c&&c>=b){printf("%d %d",a,b);}if(b>=a&&a>=c){printf("%d %d",b,c);}if(b>=c&&c>=a){printf("%d %d",b,a);}if(c>=a&&a>=b){printf("%d %d",c,b);}if(c>=b&&b>=a){printf("%d %d",c,a);}}1077 个人所得税问题(1)71%(275/389) 30% 03分支结构25.#include<stdio.h>main(){float s,r,t;scanf("%f",&s);if(s<=850)r=0;else if(s>850&&s<=1350)r=5;else if(s>1350&&s<=2850)r=10;else if(s>2850&&s<=5850)r=15;else if(s>5850)r=20;t=r*(s-850)/100;printf("%.2f\n",t);}1078 出租车收费问题66%(226/340) 33% 03分支结构26.#include<stdio.h>main(){int b;float a;double t,s;scanf("%f %d",&a,&b);t=a+b/5.0;if(t<=3)s=10;else if(t>=3&&t<=10)s=10+((double)t-3.0)*2;else if(t>10)s=10+14+(t-10)*3.0;printf("%.0f",s);}1079 学生综合测评问题49%(259/525) 51% 03分支结构27.#include<stdio.h>main(){int a,b;scanf("%d",&a);switch(a){case 0:b=0;break;case 1:b=1;break;case 2:case 3:b=2;break;case 4:case 5:case 6:case 7:b=a;break;case 8:b=8;break;case 9:b=8;break;case 10:b=8;break;default :b=10;break;}printf("%d",b);}1080 个人所得税问题(2)76%(247/327) 25% 03分支结构28.#include<stdio.h>main(){float s,r,t;scanf("%f",&s);if(s<=850){r=0;t=r*(s-850)/100;}else if(s>850&&s<=1350){r=5;t=r*(s-850)/100;}else if(s>1350&&s<=2850){r=10;t=r*(s-1350)/100+25;}else if(s>2850&&s<=5850){r=15;t=r*(s-2850)/100+175;}else if(s>5850){r=20;t=r*(s-5850)/100+625;}printf("%.2f\n",t);}1081 他(她)的实足年龄是...... 55%(243/438) 44% 03分支结构29.#include<stdio.h>main(){int y1,y2,m1,m2,d1,d2,s;scanf("%d %d %d\n%d %d %d\n",&y1,&m1,&d1,&y2,&m2, &d2);s=y2-y1;if(m1>m2)s--;else if(m1==m2&&d1>d2)s--;printf("%d",s);}1016 将一个小整数逆序输出70%(298/425) 30% 04循环结构30.#include "stdio.h"#include "math.h"void main(){int i,j,n,t,k;int s=0,ipow=1,jpow=1;scanf("%d",&n);for(i=1;;i++){ipow=ipow*10;if(n>=ipow);else break;}for(j=0;j<=i;j++){int fpow=1;t=(n/jpow)%10;jpow=jpow*10;for(k=1;k<=i-j-1;k++){fpow=fpow*10;}s=s+t*fpow;}printf("%d",s);}1017 计算一个数字的各位数字之和70%(328/466) 30% 04循环结构31.#include<stdio.h>main(){int n,m=0;scanf("%d",&n);while(n){m+=n%10;n/=10;}printf("%d",m);}1018 求两个数之间有多少个数的各位上数字之和为7 51%(209/412) 49% 04循环结构32.#include<stdio.h>main(){long int a,b,t,k,s,i;long sum=0;scanf("%d %d",&a,&b);if(a<b){for(i=a;i<=b;i++){k=i;s=0;do{t=k%10;s=s+t;k=k/10;}while(k>0);if(s==7)sum=sum+1;}}if(a>b){for(i=b;i<=a;i++){k=i;s=0;do{t=k%10;s=s+t;k=k/10;}while(k>0);if(s==7)sum=sum+1;}}printf("%ld",sum);}1019 判断一个整数是否是素数62%(273/440) 38% 04循环结构33.#include "stdio.h"#include<math.h>void main(){int i,s=0,n;scanf("%d",&n);for(i=1;i<=sqrt(n);i++){if(n%i==0)s++;}if(s==1)printf("YES");elseprintf("NO");}1020 输出n - m 之间的所有素数80%(226/282) 20% 04循环结构34.#include "stdio.h"void main() {int n,m;int i,j;scanf("%d %d",&n,&m);for(i=n;i<=m;i++){for(j=2;j<i;j++){if(i%j==0)break;}if(j>=i)printf("%d\n",i);}}1021 1到m之间有哪些数能被7或被11整除?82%(263/322) 18% 04循环结构35.#include "stdio.h"void main(){int i,n;scanf("%d",&n);for(i=1;i<=n;i++){if(i%7==0||i%11==0)printf("%d\n",i);}}1022 编程计算1+3+5+7+... 的值68%(321/472) 32% 04循环结构36.#include "stdio.h"int main(){int s=0,i,n;scanf("%d",&n);for(i=1;i<=n;++i)s=s+2*i-1;printf("%d",s);}1023 计算 1 !+2 !+3 !+… 前n 项的和66%(307/466) 34% 04循环结构37. #include "stdio.h"int fun(int);int main(){int i=1,n;long s=0;scanf("%d",&n);do{s=s+fun(i);i++;}while(i<=n);printf("%d",s);}int fun(n){if(n==1)return 1;elsereturn fun(n-1)*n;}1024 输出100-999之间的所有水仙花数70%(244/347) 30% 04循环结构38.#include "stdio.h"void main(){int a,b,c,i;int s;for(i=100;i<=999;i++){a=i/100;b=(i/10)%10;c=i%10;s=a*a*a+b*b*b+c*c*c;if(s==i)printf("%d\n",i);}return 0;}1025 求输出的数既是完全平方数又有两位相同的数76%(188/248) 24% 04循环结构39.#include "stdio.h"void main(){int i,j;int a,b,c;for(i=100;i<=999;i++)for(j=10;j<=33;j++){a=i/100;b=(i/10)%10;c=i%10;if(i==(j*j)&&(a==b||a==c||b==c))printf("%d\n",i);}}1026 判断一个数是否是完数85%(199/233) 14% 04循环结构40.#include "stdio.h"void main(){int i=1,s=0;int n;scanf("%d",&n);while(i<=n/2){if(n%i==0)s=s+i;i++;}if(s==n)printf("YES");elseprintf("NO");}1027 求1+22+333+ … 前n 项的和53%(216/407) 47% 04循环结构41.#include <stdio.h>main(){int i,n,t,sum=0,a=0;scanf("%d",&n);for(i=1;i<=n;i++){a=a*10+1;t=a*i;sum=sum+t;}printf("%d",sum);}1028 求sum=b+bb+bbb+bbbb+... 70%(220/315) 31% 04循环结构42.#include<stdio.h>main(){int m,b,i,t,a=0,sum=0;scanf("%d%d",&b,&m);for(i=1;i<=m;i++){a=a*10+1;t=b*a;sum=sum+t;}printf("%d",sum);}1029 求1-1/2+1/3-1/4+1/5-1/6+ … 的前n项的值83%(229/277) 18% 04循环结构43.#include "stdio.h"int main(){int i=2,detax;float s=1,t=1;scanf("%d",&detax);do{s=s-t/i;i++;t=-t;}while(i<=detax);printf("%.6f",s);}1030 求1-1/(2*2)+1/(3*3)-1/(4*4)+1/(5*5)-1/(6*6)+ … 前n 项值92%(208/226) 8% 04循环结构44.#include "stdio.h"int main(){int i=2;float s=1,t=1,n;scanf("%f",&n);do{s=s-t/(i*i);i++;t=-t;}while(i<=n);printf("%.6f",s);}1031 编程计算∏的近似值59%(169/285) 41% 04循环结构45.#include "stdio.h"int main(){int i=2;double s=1,t=1,detax;scanf("%lf",&detax);do{s=s-t/(2*i-1);i++;t=-t;}while(1.0/(2*i-1)>=detax);printf("%lf",4*s);}1032 编程计算1+x/2+2*x*x/3+ 3*x*x*x/5+ 5*x*x*x*x/8+ …… 78%(120/153) 22% 04循环结构46.#include "stdio.h"int f(int);void main(){int i;float x,t=1,s=1;scanf("%f",&x);for(i=1;;i++){t=t*x;s=s+f(i)*t/f(i+1);if(f(i)*t/f(i+1)<0.000001){printf("%.6f",s);break;}}} int f(n){if(n==1)return 1;else if(n==2)return 2;elsereturn f(n-1)+f(n-2);}1033 打印图形72%(162/226) 29% 04循环结构47.#include "stdio.h"void main(){int i,j,k,n;scanf("%d",&n);for(i=1;i<=n;i++){for(j=n-i;j<n-1;j++)printf(" ");if(j>=n-1)for(k=1;k<=2*(n-i)+1;k++)printf("*");if(k>2*(n-i)+1)printf("\n");}}1034 求解中国剩余定理的问题81%(167/205) 18% 04循环结构48.#include "stdio.h"void main(){int i,n;scanf("%d",&n);for(i=1;i<=n;i++){if(i%3==1&&i%5==2&&i%7==3)printf("%d\n",i);}}1035 哪些数加上n 后是完全平方数且加上m 后也是完全平方数66%(156/235) 34% 04循环结构49.#include "stdio.h"#include<math.h>void main(){int i;int n,m;double nsqrt,msqrt;scanf("%d %d",&n,&m);for(i=1;i<=100000;i++){nsqrt=sqrt(i+n);msqrt=sqrt(i+m);if(nsqrt-(int)sqrt(i+n)==0&&msqrt-(int)sqrt(i+m)==0)printf("%d\n",i);}}1084 求解不定方程的非负整数的根94%(154/164) 6% 04循环结构50.#include "stdio.h"void main(){int x,y,z;int i;for(i=4;i<=100;i=i+4){x=i;if((300+3*x)%4==0){z=(300+3*x)/4;y=(100-7*x)/4;}if(x>0&&y>0&&z>0)printf("%d %d %d\n",x,y,z);}}1085 百钱百鸡问题96%(174/182) 4% 04循环结构51.#include "stdio.h"void main(){int n,m;int i;scanf("%d %d",&n,&m);for(i=1;;i++){if((n+i)==2*(m+i)){printf("%d",i);}}}1086 多少年后父亲的年龄是儿子的年龄的2倍77%(185/241) 23% 04循环结构52.#include "stdio.h"void main(){int n,m;int i;scanf("%d %d",&n,&m);for(i=1;i>0;i++){if((n+i)==2*(m+i)){printf("%d",i);break;}}}1087 特殊的四位数96%(171/178) 4% 04循环结构53.#include <stdio.h>main(){int a,b,c,d,i,k,f;for(i=1000;i<=9999;i++){ a=i%10;b=(i/10)%10;c=(i/100)%10;d=i/1000;f=a*1000+b*100+c*10+d;for(k=2;k<=9;k++){if(i*k==f&&a!=0)printf("%d\n",i);}}}1082 计算F(G(x))的值76%(155/204) 24% 05函数54.#include "stdio.h"#include<math.h>void main(){double x;double g,f;scanf("%lf",&x);g=2*x+1;f=(g+1)*(g+1);printf("%.2lf",f);}1083 哪些数是回文数?74%(111/150) 26% 05函数55.#include<stdio.h>int f(int y){int s=0;do{s=s*10+y%10;y=y/10;}while(y>0);return s;}main(){int m,n,i;scanf("%d%d",&m,&n);for(i=m;i<=n;i++){if(i==f(i))printf("%d\n",i);}}1088 编写阶乘函数求表达式的值91%(144/158) 8% 05函数56.#include "stdio.h"int fun(int);void main(){int n,m;double s;scanf("%d %d",&n,&m);s=(double)fun(m)/(fun(n)*fun(n-m));printf("%.6f",s);}int fun(x){if(x==1)return 1;elsereturn x*fun(x-1);}1089 编程计算两个数的最大公约数92%(131/143) 9% 05函数57.#include "stdio.h"void main(){int t,i;int m, n;scanf("%d %d",&m,&n);for(i=1; ;i++){if(m%n==0){printf("%d",n);break;}else{t=m%n;m=n;n=t;}}}1090 计算一个数的所有质因数64%(121/189) 37% 05函数58.#include "stdio.h" void main(){int k,l;int j;scanf("%d",&k);for(j=2;j<k;j++){if(k%j==0){for(l=2;l<j;l++)if(j%l==0) break;}if(l>=j)printf("%d\n",j);}}1095 求递归函数的值96%(114/119) 4% 05函数59.#include "stdio.h"int f(int);void main(){int x;scanf("%d",&x);printf("%d",f(x));}int f(n){if(n==1)return 10;elsereturn f(n-1)+2;}1036 将一维数组中的数据按逆序重新存放81%(134/166) 20% 06数组和指针60.#include "stdio.h"void main(){int a[20];int i,j,n;scanf("%d\n",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}for(j=n-1;j>=0;j--){printf("%d ",a[j]);}}1037 统计一组数据中正数、负数和零的个数84%(127/152) 17% 06数组和指针61.#include<stdio.h>main(){int n,a[20];int i,j,k,l;int p=0,b=0,c=0;scanf("%d\n",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(j=0;j<n;j++){if(a[j]>0)p++;}for(k=0;k<n;k++){if(a[k]<0)b++;}for(l=0;l<n;l++){if(a[l]==0)c++;}printf("%d %d %d",p,b,c);}1038 计算一组数据的平均值92%(132/144) 9% 06数组和指针62.#include "stdio.h"void main(){float a[20];int i,j,n;float s=0,pj;scanf("%d\n",&n);for(i=0;i<n;i++){scanf("%f",&a[i]);}for(j=0;j<n;j++){s=s+a[j];}pj=s/n;printf("%.6f",pj);}1039 统计一个串中字母、数字和其它字符的个数66%(104/158) 31% 06数组和指针63.#include<stdio.h>main(){char c[1000];int i,n=0,z=0,q=0;gets(c);for(i=0;c[i];i++){if(c[i]>='0'&&c[i]<='9')n=n+1;else if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z')) z=z+1;else q++;}printf("%d %d %d",z,n,q);}1040 判断一组数据是否是从小到大的序列76%(100/131) 24% 06数组和指针64.#include "stdio.h"void main(){int ch[20];int i,j=0,n;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&ch[i]);while(n-j-1){if(ch[j]>=ch[j+1]) break;j++;}if(j>=n-1)printf("YES");elseprintf("NO");}1041 判断一个字符串是否是回文78%(103/132) 22% 06数组和指针65.#include <stdio.h>#include <string.h>void main(){char ch[50];int i, n;scanf("%s",ch);n=strlen(ch);for(i=0;i<n;i++){if(ch[i]!=ch[n-i-1]) break;}if(i>=n)printf("YES");elseprintf("NO");}1042 数组中有这个数吗?76%(94/123) 24% 06数组和指针66.#include "stdio.h"void main(){int a[3][4]={{1,2,3},{4,5,6},{7,8,9}};int i,j,n;scanf("%d",&n);for(i=0;i<=2;i++){for(j=0;j<=2;j++){if(n==(3*i+j+1)){printf("%d %d",i,j);}}}if(n>=10)printf("-1");}1043 求出二维数组中最大元素的值及其位置79%(97/123) 20% 06数组和指针67.#include "stdio.h"void main(){int ch[3][4];int i,j,n,m;int max;for(i=0 ; i<3 ; i++)for(j=0 ; j<4 ; j++)scanf("%d",&ch[i][j]);max=ch[0][0];for(i=0 ; i<3 ; i++)for(j=0 ; j<4 ; j++)if(ch[i][j]>=max){max=ch[i][j];n=i;m=j;} printf("%d %d %d",max,n,m);}1044 交换二维数组中最大元素和最小元素80%(87/109) 20% 06数组和指针68.#include "stdio.h"void main(){int ch[3][4];int i,j,n,m;int t;int x1,y1,x2,y2;int max,min;for(i=0 ; i<3 ; i++)for(j=0 ; j<4 ; j++)scanf("%d",&ch[i][j]);max=ch[0][0];for(i=0 ; i<3 ; i++)for(j=0 ; j<4 ; j++)if(ch[i][j]>=max){max=ch[i][j];x1=i;y1=j;}min=ch[0][0];for(n=0 ; n<3 ; n++)for(m=0 ; m<4 ; m++)if(ch[n][m]<=min){min=ch[n][m];x2=n;y2=m;}t=ch[x1][y1];ch[x1][y1]=ch[x2][y2];ch[x2][y2]=t;for(i=0 ; i<3 ; i++){for(j=0 ; j<4 ; j++)printf("%d ",ch[i][j]);printf("\n");}}1045 统计字符串中单词数量60%(85/142) 41% 06数组和指针69.#include<stdio.h> #include<string.h>#include<Ctype.h> int sum(char []); main(){char s[101];gets(s);printf("%d",sum(s)); }int sum(char s[]){int i=0,j=0,n=0; char temp[20]={'\0'}; do{if(isalpha(s[i]))temp[j++]=s[i]; else{temp[j]='\0';if(strlen(temp)>0)n=n+1;j=0;}}while(s[i++]); return n;}1046 将一个字符串中所有字母转成大写87%(92/106) 13% 06数组和指针70.#include<stdio.h>#include<string.h>main(){int i;char a[101];gets(a);for(i=0;a[i];i++){if(a[i]>='a'&&a[i]<='z')a[i]-=32;}puts(a);}1047 删除字符串中的前导*号83%(90/109) 18% 06数组和指针71.#include "stdio.h"#include <string.h>#include <Ctype.h>void main(){char s[100],a[100]={0};int j=0,i=0,k=0;gets(s);while(s[i++]=='*')k++;for(i=k;i<100;i++)a[j++]=s[i];puts(a);}1048 删除字符串的*号后缀76%(86/113) 15% 06数组和指针72.#include "stdio.h"#include <string.h>#include <Ctype.h>void main(){char s[100],a[100]={0};int j=0,i=0,k=0;gets(s);while(s[i++]!='\0')k++;while(s[k-1]=='*'){k--;}for(i=0;i<k;i++)a[j++]=s[i];puts(a);}1049 删除字符串中所有的*号87%(92/106) 13% 06数组和指针73.#include "stdio.h"#include <string.h>#include <Ctype.h>void main(){char s[100],a[100]={0};int j=0,i=0;gets(s);do{if(isalpha(s[i]))a[j++]=s[i];}while(s[i++]);puts(a); }1094 求矩阵的两对角线上的元素之和78%(66/85) 23% 06数组和指针74.#include "stdio.h"void main(){int a[10][10],n;int i,j,s1=0,s2=0,s;scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++)for(j=0;j<n;j++){if(i==j)s1=s1+a[i][j];if( (i+j) == n-1&&i!=j)s2=s2+a[i][j];}s=s1+s2;printf("%d",s);}1097 结构体:按成绩排序77%(43/56) 22% 07结构体75.#include "stdio.h"struct student{char number[11];char name[9];int chengji;};int main(){int i,j;int n;struct student zg[100];struct student q;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s%s%d",zg[i].number,zg[i].name,&zg[i].chengji); }for(i=0;i<n-1;i++)for(j=i+1;j<n;j++){if(zg[i].chengji>zg[j].chengji){q=zg[i];zg[i]=zg[j];zg[j]=q;}}for(i=0;i<n;i++){printf("%s %s %d\n",zg[i].number,zg[i].name,zg[i].chengji);}}1098 结构体:求最高分和最低分83%(40/48) 17% 07结构体76.#include "stdio.h"struct student{char number[11];char name[9];int chengji;};int main(){int i,j,t,s;int n;int maxmin;struct student zg[100];scanf("%d",&n);for(i=0;i<n;i++){scanf("%s%s%d",zg[i].number,zg[i].name,&zg[i].chengji);}maxmin=zg[0].chengji;for(i=1;i<n;i++)if(maxmin<zg[i].chengji){maxmin=zg[i].chengji;t=i;}for(j=1;j<n;j++)if(maxmin>zg[j].chengji){maxmin=zg[j].chengji;s=j;}printf("%s %s %d\n",zg[t].number,zg[t].name,zg[t].chengji);printf("%s %s %d",zg[s].number,zg[s].name,zg[s].chengji); }1099 结构体:计算学生平均分74%(39/53) 27% 07结构体77.#include<stdio.h>struct student{char num[10];char name[20];float fs1,fs2; }main(){struct student stu[20];int n,i;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s",&stu[i].num);scanf("%s",&stu[i].name);scanf("%f",&stu[i].fs1);scanf("%f",&stu[i].fs2);}for(i=0;i<n;i++)stu[i].fs1=(stu[i].fs1+stu[i].fs2)/2;for(i=0;i<n;i++)printf("%s %s %0.1f\n",stu[i].num,stu[i].name,stu[i].fs1); }1100 结构体:在线编程评测系统的排名57%(34/60) 47% 07结构体78.#include<stdio.h>int fun(struct student*p,struct student*q);struct student{char num[20];int men;int fen;}main(){struct student stu[20];struct student;int n,i,j;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s %d %d",&stu[i].num,&stu[i].men,&stu[i].fen); }for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(stu[i].men<stu[j].men)fun(&stu[i],&stu[j]);if(stu[i].men==stu[j].men&&stu[i].fen>stu[j].fen)fun(&stu[i],&stu[j]);}}for(i=0;i<n;i++)printf("%d %s %d %d\n",i+1,stu[i].num,stu[i].men,stu[i].fen); }int fun(struct student*p,struct student*q){struct student a;a=*p;*p=*q;*q=a;return 0;}1050 [初级竞赛题] 亲和数82%(89/109) 19% 09综合应用79.#include<stdio.h>main(){int a,b,i,j,d,sum=0,sun=0;scanf("%d %d",&a,&b);for(i=1;i<a;i++){d=a/i;if(d*i==a){sum=sum+i;}}for(j=1;j<b;j++){d=b/j;if(d*j==b){sun=sun+j;}}if(sum==b&&sun==a)printf("YES\n");elseprintf("NO\n");}1051 [初级竞赛题] 陶陶摘苹果81%(70/86) 19% 09综合应用80.#include<stdio.h>main(){int a[10];int i,j,n=0;for(i=0;i<10;i++){scanf("%d",&a[i]);}scanf("%d",&j);for(i=0;i<10;i++){if(a[i]<=j+30){n+=1;}}printf("%d\n",n);}1052 [初级竞赛题] Lucky Number 55%(36/66) 46% 09综合应用81.#include<stdio.h>main(){int a[1000];int i,j,n;int k=-1,s=1001;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){for(j=0;j<n;j++)if(a[i]==a[j]&&i!=j){break;}if (j==n){if(a[i]<s)。

C语言程序设计-编程练习及答案

C语言程序设计-编程练习及答案

编程练习及答案1. 编一程序求出满足不等式1+1/2+1/3+...+1/n≥5的最小n值。

#include "stdio.h"void main(){int n=1;float s=0;for (;s<5;n++)s+=(float) 1/n;printf("\nn=%d,s=%f",n,s);}2. 计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

#include "stdio.h"void main(){int i=1,p=1,s=1;for (;i<=10;i++){ p=p*3;s+=p;}printf("\n1+3+3*3+ =%d",s);}3. 求满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

#include "stdio.h"void main(){int i=2,s=0;do{s+=i*i;i+=2;} while(s<10);i-=2;s-=i*i;printf("\n2*2+4*4+6*6+……+%d*%d=%d",i,i,s);}4. 已知⎪⎩⎪⎨⎧>-+≤+= )0(143)0( 222x ax ax x x a y ,求出并显示当x 分别取-3.8, 6.4, 2.3, -4.2,8.9, 3.5, -5.0, 4.5时所对应的y 值,要求把a 定义为常量,其值设定为10.2,x 的每个值由键盘输入,并假定用-100作为终止标志,求平方根函数为sqrt(x)。

#include "stdio.h"#include "math.h"#define a 10.2void main(){float x,y;scanf("%f",&x);while((int) x!=-100){if (x>0) y=3*a*x*x+4*a*x-1;else y=sqrt(a*a+x*x);printf("x=%f,y=%f\n",x,y);scanf("%f",&x);}}5. 求出从键盘上输入的10个整数中的最大值,要求输入变量用x 表示,存储最大值的变量用max 表示。

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇C语言程序设计试题附答案11. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。

C语言程序设计实例分析30道(含答案)

C语言程序设计实例分析30道(含答案)
#include<stdio.h>
int main()
{
int i,x,y,z;
for(i=100;i<1000;i++)
{
x=i%10;
y=i/10%10;
z=i/100%10;
if(i==(x*x*x+y*y*y+z*z*z))
printf("%d\n",i);
}
return 0;
}
【题目12】:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
【程序分析】:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外打印出即可。
(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
高于100万元时,超过100万元的部分按1%提成。
从键盘输入当月利润I,求应发放奖金总数?
【程序分析】:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
【程序源代码】:
#include<stdio.h>
int main()
{
double i;
double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
{
int score;
char grade;
printf("请输入分数:");
scanf("%d",&score);
grade=(score>=90)?'A':((score>=60)?'B':'C');

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程练习题及参考答案1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>main(){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f”,&r);if (r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。

main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;prin tf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。

main( ){int a,b,c,d,t;scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}pri ntf (“m in = %d \n”,a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

C语言编程练习题附答案

C语言编程练习题附答案

C语言编程练习题附答案1.从键盘输入20个整数,使用冒泡排序将它们从大到小排列并输出。

includeint main() {int a[20]。

i。

j。

t;printf("请任意输入20个整数\n");for (i = 0.i < 20.i++)scanf("%d"。

&a[i]);printf("\n");for (i = 0.i < 19.i++)for (j = 0.j < 19 - i。

j++)if (a[j] < a[j + 1]) {t = a[j];a[j] = a[j + 1];a[j + 1] = t;printf("按照从大到小的顺序排列为\n");for (i = 0.i < 20.i++)printf("%d,"。

a[i]);printf("\n");return 0;2.从键盘输入20个整数,使用选择排序将它们从大到小排列并输出。

includedefine N 20int main() {int a[N]。

i。

j。

max。

k;printf("请任意输入20个整数\n");for (i = 0.i < N。

i++)scanf("%d"。

&a[i]);printf("\n");for (i = 0.i < N - 1.i++) {k = i;for (j = i + 1.j < N。

j++)if (a[i] < a[j])k = j;max = a[k];a[k] = a[i];a[i] = max;printf("按照从大到小的顺序排列为\n");for (i = 0.i < N。

i++)printf("%d,"。

C语言编程 题目及答案

C语言编程 题目及答案
#include<stdio.h>
void main()
{ int a,b,c,s;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
if(a*100+b*10+c==a*a*a+b*b*b*b+c*c*c)
if(i%7!=0)
sum=sum+i;
printf("sum=%d\n",sum);
}
18.计算并输出200-400之间不能被5整除的整数的和。
#include<stdio.h>
void main()
{ int i,sum=0;
for(i=200;i<=400;i++)
#include<stdio.h>
void main()
{ int i,sum=0;
for(i=0;i<=100;i++)
if(i%2==0)
sum=sum+i;
printf("sum=%d\n",sum);
}
6、输入5个数,求和并输出。要求编写求和的函数。
#include<stdio.h>
void main()
{ int i;
float sum=100.0,h=50;
for(i=2;i<=10;i++)
{
sum=sum+2*h;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告三
(四学时)
2.1 实验目的
(1)掌握函数的定义和调用;
(2)了解函数间的参数传送;
2.2 基础实验
【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。

算法分析:
1、输入:通过键盘接收一个字符;
2、条件判断:调用判别函数
3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”
4、程序结束。

【实验3-1】代码及运行结果:
【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。

函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。

算法分析:
1、输入:通过键盘接收同学个数;
2、调用求平均分函数
3、输出平均成绩
4、程序结束。

【实验3-2】代码及运行结果:
【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。

s=148.874270。

算法分析:
1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0
2、编写主函数,用一重循环遍历100以内所有数据
2.1、通过素数判别函数对循环的数据进行是否为素数的判别
2.2、返回判别为真的整数,并输出
3、程序结束。

【实验3-3】代码及运行结果:
#include<stdio.h>
#include<math.h>
int Prime(int x)
{
int i ;
if(x<=1)
return 0;
for(i=2;i<=x-1;i++)
{
if(x%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
double i,sum;
i=3;
sum=0;
while(i<=100)
{
if(Prime(i))
{
sum=sum+sqrt(i);
}
else
{
sum=sum+0;
}
i++;
}
printf("sum=%f\n",sum);
return 0;
}。

【实验3-4】要求:请编写一个函数fun,它的功能是:根据以下公式求π 的值(要求满足精度0.0005, 即某项小于0.0005 时停止迭代):
输出参考结果如下:
算法分析:
1.编写函数fun进行通项公式求解
2.在主函数中对fun函数进行调用,采用循环调用的方式得到每一项的运算结果
3.判断通项公式的计算结果是否在精度范围要求内,从而确定循环是否继续执行
4.输出通项公式运算加和
【实验3-4】代码及运行结果:
2.3 延伸训练
【实验3-5】编写函数fun,其功能是:根据以下公式求P 的值,结果由函数值带回。

m 与n 为两个正整数且要
求m > n,。

例如: m=12,n=8 时,运行结果为495.000000。

【实验3-5】代码及运行结果:
【实验3-6】编写一个函数,通过计算机随机产生一道四则运算题(两个操作数为在1-10之间的整数,操作类型为加、减、乘、除中的任意一种),并要求作答。

若输入答案正确,则显示“Right!”,否则显示“Not correct!”。

然后,在main函数中调用该函数,完成若干道题目测试,并显示回答正确的题目数量。

提示:关于生成随机数
程序运行实例:
【实验3-6】代码及运行结果:
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#include<math.h>
int calculate (int s);
int main()
{
int s;
printf("请输入需要完成的题目数量:");
scanf("%d",&s);
printf("\n");
printf("回答正确%d道题目\n",calculate(s));
return 0;
}
int calculate(int s)
{
int a=0;
int b=0;
int mode=0;
double c=0;
double result=0;
int count=0;
int i;
srand((unsigned)time(NULL));
for(i=1;i<=s;i++)
{
a=rand()%10+1;
b=rand()%10+1;
mode=rand()%4;
printf("%d",a);
switch(mode)
{
case 0:
printf("+");
result=a+b;
break;
case 1:
printf("-");
result=a-b;
break;
case 2:
printf("*");
result=a*b;
break;
case 3:
printf("/");
result=1.0*a/b;
break;
default:
printf("something is wrong!\n");
break;
}
printf("%d=\n",b);
printf("请输入计算结果:\n");
scanf("%lf",&c);
if(fabs(c-result)<1e-6)
{
count++;
printf("Right\n\n");
}
else
{
printf("Wrong\n正确答案是:%f\n\n",result);
}
}return count; }
3 实验总结。

相关文档
最新文档