大一明天就要c语言考试了,可是什么都不会,我怎么预习才能效率最高! 5

考试分选择题和最后三道编程题,我现在应该怎么预习!!!... 考试分选择题和最后三道编程题,我现在应该怎么预习!!! 展开
 我来答
lovefish2022
2015-01-16 · TA获得超过164个赞
知道答主
回答量:67
采纳率:0%
帮助的人:43.3万
展开全部
1)输入1个整数,输出它的绝对值。
#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a>=0)
printf("%d\n",a);
else
printf("%d\n",-a);
}
2)输入2个整数,求两数的平方和并输出。
#include <stdio.h>
void main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d", a * a + b * b);
}
3)输入1个整数,判断该数是奇数还是偶数。
#include<stdio.h>
main(void)
{
int a;
printf("please input your number:");
scanf("%d",&a);
if(a%2==0)
printf("%d is ou\n",a);
else
printf("%d is ji\n",a);
return 0;
}
4)输入正整数n,输出1+1/3+1/5+1/7+…前n项的和.(输入的n<=10)
#include<stdio.h>
void main()
{
int n;
float sum=0;
for(n=1;n<=10;n++)
{ sum=sum+1.0/(2*n-1); }
printf("%f",sum);
}

5)输入一个正整数n, 计算 1 - 1/3 + 1/5 - 1/7 + … 的前 n(n>10) 项之和。
#include <stdio.h>
void main()
{
int n,i=1,m;
float a=0;
printf("输入一个正整数N:");
scanf("%d",&n);
for(m=1;m!=(n+1);m++)
{ a+=i*1.0/(2*m-1);
i=-i; }
printf("结果为:%f",a);
}

6)输入一个整数,判断该数是奇数还是偶数。要求必须使用if-else结构实现。
#include <stdio.h>
void main()
{
int a;
printf("please enter a number:");
scanf("%d",&a);
if(a%2==0)
printf("该数为偶数");
else
printf("该数为奇数");
}

7)输入一批学生的成绩,找出最高分。
#include <stdio.h>
#define N 5 //通过改变宏定义,改变数组元素的个数
void main()
{
int a[N];
int i;
int max;
max=a[0];
printf("请输入一组学生成绩(假设有5位学生成绩,且学生成绩都是整数型)\n");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
// printf("%f\n",a[i]);
}
for(i=0;i<N;i++)
{
if(max<a[i])
max=a[i];
}
printf("学生成绩最高分为:%d\n",max);
}

8)输入三个整数,分别存在变量x,y,z中。编程输出最大数。
#include <stdio.h>
void main()
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{if(x>z)
printf("最大数是%d\n",x);
else printf("最大数是%d\n",z);
}
else if(y>z)
printf("最大数是%d\n",y);
else printf("最大数是%d\n",z);
}

9)输入一个字母,判断是大写字母还是小写字母,并输出信息。
#include <stdio.h>
void main()
{
char c;
scanf("%c",&c);
if(c>=97&&c<=122)
printf("这是一个小写字母\n");
else if(c>=65&&c<=90)
printf("这是一个大写字母\n");
}

10)输入你和你朋友的年龄,编程判断谁的年龄较大,并打印较大者的年龄。
#include<stdio.h>
void main()
{
int age1,age2;
printf("输入你的年龄:");
scanf("%d",&age1);
printf("输入你朋友的年龄:");
scanf("%d",&age2);
if (age1>age2)
printf("你年龄比较大\n%d",age1);
else printf("你的朋友年龄较大\n%d\n",age2);
}
11)输入一个数,求出该数绝对值所对应的开方 。
#include<stdio.h>
#include<math.h>
int main (void)
{
int a,b;double c;
scanf("%d",&a);
if(a>=0)
{
b=a;
c=sqrt(b);
printf("%d的绝对值的开方是%lf",a,c);
}
else
{
b=-a;
c=sqrt(b);
printf("%d的绝对值的开方是%lf",a,c);
}
return 0;
}
12)输入一个字母,如果接收的是‘n’或者‘N’,
则输出“no”。否则输出“wrong”。从键盘读入一个整数,
统计该数的位数。例如,输入12534,输出5;输入-99,输出2;输入0,输出1。
13)输入一个字符,如果是字母,输出其对应的ASCII码
,如果是数字,按原样输入,否则给出提示信息“输入错误!”。
14)输入一个年份year,判断改年是否是闰年。
判断闰年的条件是:能被4整除但不能被100整除,或能被400整除。
#include<stdio.h>
void main()
{
int year;
scanf("%d",&year);
if(year%4==0&&year%100!=0||year%400==0)
{
printf("润年");
}
else
{
printf("非润年");
}
}
15)输入一个正整数,将其逆序输出。例如,输入12345,输出54321。
#include<stdio.h>
void main()
{
long n,m;
printf("输入一个正整数");
scanf("%d",&n);
while(n!=0)
{
m=n%10;
n=n/10;
printf("%d",m);
}
}
16)输入20个字符,统计其中英文字母、数字字符和其他字符的个数。
17)输入三角形三边,输出其面积和周长
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c;
double area,perimeter,s;
printf("Enter 3 sides of the triangle:");
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c||b+c>a||a+c>b){
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=a+b+c;
printf("area=%.2f;perimeter=%.2f/n",area,perimeter);
}
else
printf("These sides do not correspond to a valid triangle\n");
return 0;
}
18)输入大写字母,输出其小写字母
#include<stdio.h>
void main()
{
char c;
printf("输入大写字母:\n");
c=getchar();
putchar(c+32);
}
19)输入两实数(浮点数),由大到小输出(先强转,比较大小,后输出)
20)输入一系列字符,统计其中英文字母,数字,空格的个数
21)输入若干个非零整数,以0为终止符,输出这批数中的最大值。
22)统计在[2980-21980]之间有多少个数能同时被29和43整除,而不能被53整除。
23)计算n的阶层:n!
#include<stdio.h>
void main()
{
long n,i,s=1; //s为所求和
printf("Enter n:");
scanf("%d",&n); //输入N的值
if(n>=0)
{for(i=1;i<=n;i++)
s=s*i;
printf("%d\n",s);}
else
printf("error\n");
}
24)计算 s=1-2!+3!-4!+…-n!的值并输出,其中n不大于10。要求必须使用for语句实现。
#include <stdio.h>
void main()
{
int n,sigh=1,k=1;
float m=1,sum=0;
for(n=1;n<=3;n++)
{
m=m*n; //用来计算N的阶乘
sum=sum+k*m;
k=-k;
}
printf("%f\n",sum);
}
25)计算 公式 a-|b|,其中a,b为两个整数。
#include <stdio.h>
void main()
{
int a,b,sum;
printf("输入正数a:");
scanf("%d",&a);
printf("输入b:");
scanf("%d",&b);
if(b>=0)
{
sum=a-b;
printf("%d-|%d|=%d\n",a,b,sum);
}
else
{
b=-b;
sum=a-b;
printf("%d-|-%d|=%d\n",a,b,sum);
}
}
26)计算 s=a+aa+aaa+aaaa+aa...a的值,
其中a是一个数字。例如2+22+222+2222+22222(此时 共有5个数相加),
几个数相加有键盘控制。
#include <stdio.h>
void main()
{
int j,k,i,sum=0,n=1,m,a=0;
printf("输入累加到几位数:");
scanf("%d",&j);
printf("输入累加数字:");
scanf("%d",&k);
for(i=1;i<=j;i++)
{
sum=sum+k*n;
n=n*10;
for(m=1;m<=1;m++)
{
a=a+sum;
}
}
printf("该数为%d\n",a);
}
27)编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和。要求必须使用for语句实现。
#include <stdio.h>
void main()
{
int n,sigh=1;
float m,sum=0,term;
for(n=1;n<=50;n++)
{
m=n*(n+1); //用来计算N的阶乘
term=sigh/m; //用来计算1/N的值
sum=sum+term;
}
printf("%.10f\n",sum);
}
28)编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。要求使用for语句实现
#include <stdio.h>
void main()
{
int j,k,i,sum=0,n=1,m,a=0;
printf("输入累加到几:");
scanf("%d",&j);
for(i=1;i<=j;i++)
{
sum=sum+n;
n++;
for(m=1;m<=1;m++)
{
a=a+sum;
}
}
printf("该数为%d\n",a);
}29)题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,
其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,
因为153=1的三次方+5的三次方+3的三次方。
#include <stdio.h> //100到999内的水仙花数
void main()
{
int i,b,s,g;
for(i=100;i<=999;i++)
{
b=i/100; //百位
s=(i/10)%10; //十位
g=i%10; //个位
if(b*b*b+s*s*s+g*g*g==i)
printf("%d\n",i);
}
}
30)猜数游戏。由计算机"想"一个数请人猜,如果人猜对了,
则结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,
直到人猜对为止。计算机记录人猜的次数,以此可以反映出猜数者"猜"的水平。
#include <stdio.h>
#include<stdlib.h>
void main()
{
int a,b,i,k;
a=rand()%89+10; //取10到100的随机数
for(i=0;i!=k;)
{ printf("输入被猜的数字");
scanf("%d",&b);
if(b==a)
{
i++;
printf("恭喜你猜对了,成功通关\n");
k=i;
}
if(b>a)
{
printf("对不起,你猜大了\n");
i++;
}
if(b<a)
{
printf("对不起,你猜小了\n");
i++;
}
}
printf("总共猜了%d次\n",i);
}
31)打印100-999以内所有满足条件的数。条件为:这个数等于其个位数,
十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3
#include <stdio.h> //100到999内的水仙花数
void main()
{
int i,b,s,g;
for(i=100;i<=999;i++)
{
b=i/100; //百位
s=(i/10)%10; //十位
g=i%10; //个位
if(b*b*b+s*s*s+g*g*g==i)
printf("%d\n",i);
}
}
32)查询自动售货机中商品的价格。假设自动化售货机出售4种商品:
薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),
售价分别是每份3.0、2.5、4.0和3.5元。在屏幕上显示以下菜单(编号和选项),
用户可以连续查询商品的价格,当查询次数超过5次时,自动退出查询;不到5次时,
用户可以选择退出。当用户输入编号1~4,显示相应商品的价格(保留1位小数);
输入0,退出查询;输入其他编号,显示价格为0。
[1]Select crisps[2]Select popcorn[3]Select chocolate[4]Select cola[0]Exit
#include <stdio.h>
void main()
{
int g,i;
float a=3,b=2.5,c=4,d=3.5;
printf("[1]选择薯片\n");
printf("[2]选择爆米花\n");
printf("[3]选择巧克力\n");
printf("[4]选择可乐\n");
printf("[0]退出查询\n");
for(i=1;i<=5;i++)
{
printf("请输入查询的物品数字:");
scanf("%d",&g);
switch(g)
{
case 1:printf("薯片的价格为%.1f\n",a);break;
case 2:printf("爆米花价格为%.1f\n",b);break;
case 3:printf("巧克力价格为%.1f\n",c);break;
case 4:printf("可乐价格位%.1f\n",d);break;
case 0:i=6;break;
}
}
}
33)猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,
还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,
又多吃了一个。以后每天早上都吃了前一天剩下的桃子的一半多一个。
到第10天早上想再吃,见只剩下一个桃子了。求第一天共摘了多少桃子。
#include <stdio.h>
void main()
{
int i,k=1,n=0,sum=1;
for(i=10;i>=1;i--)
{
sum=sum+k;
sum=sum*2;
}
printf("第一天摘桃子数为%d\n",sum);
}
34)输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>
#define PI 3.14
void main()
{
float r,s,l;
printf("输入圆的半径:");
scanf("%f",&r);
l=2*PI*r;
s=PI*r*r;
printf("输出圆的周长=%f\n面积=%f\n",l,s);
}
35)利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,
60-89分之间的用B表示, 60分以下的用C表示。
#include<stdio.h>
void main()
{
int grade;
printf("Inter grade:");
scanf("%d",&grade);
if(grade>=90&&grade<100)
printf("Grade is:A\n");
else if(grade>=60&&grade<=89)
printf("Grade is:B\n");
else if(grade<60&&grade>=0)
printf("Grade is:C\n");
else printf("error\n");
}
36)求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶,
若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,
若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。
请问,这条阶梯共有多少阶?
#include<stdio.h>
void main()
{
int x=1;//x为阶长
while(x)
{
if(x%2!=1) {x++;continue;}
if(x%3!=2) {x++;continue;}
if(x%5!=4) {x++;continue;}
if(x%7) {x++;continue;}
printf("%d\n",x);
printf("press \"Enter\" to continue\n");
getchar();
x++;
}
}
37)输出9*9乘法口诀。
#include<stdio.h>
void main()
{
int a,b,c;
for(a=1;a<=9;a++)
{ for(b=1;b<=9;b++)
{
c=a*b;
if(b<=a)
printf("%d*%d=%2d\t",b,a,c);
}putchar('\n');
}
}
38)用for循环输出菱形图案
#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<5;i++)
{
for(j=4;j-i>0;j--)
printf(" ");
for(k=1;2*i-k>0;k++)
printf("*");
printf("\n");
}
for(i=3;i>0;i--)
{
for(j=4;j-i>0;j--)
printf(" ");
for(k=0;2*i-1>k;k++)
printf("*");
printf("\n");
}
}
39)有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,
从键盘输入一个x值,输出y值
#include<stdio.h>
void main()
{
int x,y;
printf("Enter x:");
scanf("%d",&x);
if(x<0) y=1;
else if(x>0) y=3;
else y=5;
printf("y=%d\n",y);
}
40)一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
#include<stdio.h>
void main()
{
int n;
double h,x,sum;
h=100.0;
sum=0.0;
for(n=0;n<10;n++)
{
x=h/2.0;
sum=sum+h+x;
h=h/2.0;
}
printf("小球下落100米\n十次后小球共经过%lf米 第十次上弹%lf米\n",sum,x);
}
41)输出菲波那契(Fibonacci)序列:1,1,2,3,5,8,…的前20项,每行输出5项。
#include<stdio.h>
void main()
{
int a=0,b=1,c,i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++)
{
c=a+b;
printf("%d\t",c);
a=b;
b=c;
}putchar('\n');
}
}
42)100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,
小马两匹驮1担。试编写程序计算大、中、小马的数目。
#include<stdio.h>
void main()
{
int a,b,c,sum=100;//大 中 小
for(a=0;a<=100;a++)
for(b=0;b<=100;b++)
for(c=0;c<=100;c++)
{
if(a+b+c==100&&(a*3+b*2+c)==sum)
printf("大马:%d 中马:%d 小马:%d\n",a,b,c);
}
}
43)函数y=f(x)可表示为:y=2x+1 (x<0) ;y= 0 (x=0) ;y=2x-1 (x>0)
编程实现输入一个x值,输出y值。
#include<stdio.h>
void main()
{
int x,y;
printf("Enter x:");
scanf("%d",&x);
if(x<0) y=2*x+1;
else if(x>0) y=2*x-1;
else y=0;
printf("y=%d\n",y);
}
44)若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,
每次从中任取8个球,编写程序求出共有多少种不同的颜色搭配。
#include<stdio.h>
void main()
{
int a,b,c,sum;
for(a=0;a<=3;a++)
for(b=1;b<=5;b++)
for(c=0;c<=6;c++)
if(a+b+c==8)
{
printf("%d %d %d\n",a,b,c);
sum++;
}
}
45) 从键盘输入一个学生的分数, 要求实现这样的判断功能:
如果分数大于100,输出”Input error!” 如果分数介于100到90之间,
输出”Very Good!” 如果分数介于80到90只,输出”Good!”
如果分数介于70到80之间,输出”Middle”
如果分数介于60到70之间, 输出”Pass”
如果分数小于60,输出”No Pass!” 。要求必须使用if-else-if结构实现。
#include<stdio.h>
void main()
{
int grade;
printf("Inter grade:");
scanf("%d",&grade);
if(grade>=90&&grade<100)
printf("Very Good!\n");
else if(grade>=80&&grade<=89)
printf("Good!\n");
else if(grade>=70&&grade<=79)
printf("Middle!\n");
else if(grade>=60&&grade<=79)
printf("Pass!\n");
else if(grade<60&&grade>=0)
printf("No Pass\n");
else printf("Input error!\n");
}
46) 输入两正整数 a n ,求a+aa+aaa+aa...a(n个a)之和。
#include"stdio.h"
int main(void)
{
int a,b,n,i,s=0;
printf("Input a,n:");
scanf("%d %d",&a,&n);
b=a;
for(i=1;i<=n;i++)
{
s=s+a;
a=a*10+b;
}
printf("s=%d\n",s);
return 0;
}
47) 输入一个正整数n,再输入n个整数,输出最小值
#include <stdio.h>
int main()
{
int i,n,min=999999,x; //min赋值为极大值
printf("input:");
scanf("%d",&n);
printf("input numbers:");
for(i>0;i<n;i++)
{
scanf("%d",&x);
if(x<min) min=x;
}
printf("min=%d\n",min);

return 0;
}
lc316546079
2015-01-16 · TA获得超过273个赞
知道小有建树答主
回答量:682
采纳率:0%
帮助的人:330万
展开全部
呵呵,最后一天..........玩去吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sbb244
2015-01-16
知道答主
回答量:4
采纳率:0%
帮助的人:5万
展开全部
你猜。。。。。。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式