1、实验一
(1) 编程求37+29得值,实习VC环境。
#include
2、a,&b,&c); y=max(a,b); ﻩ y=max(y,c); ﻩ printf("\nmax=%d\n",y); } int max(int x,int y) { int z; if(x>y) z=x; else z=y; return(z); } (3) 通过上机实践,运行下列程序并分析输出结果。 A 程序代码 #include<stdio、h> void main() { char ch='a'; ﻩ printf("%c对应得ASCII码就是:%d\n",ch,ch); ﻩ
3、} 程序输出结果:a对应得ASC||码就是:97 B 程序代码 #include<stdio、h> void main() { int a=168; ﻩ float b=123、456; float x=35、567,y; printf("a=%5d\n",a); ﻩ printf("a=%-5d\n",a); printf("b=%6、2f\n",b); ﻩ printf("b=%e\n",b); ﻩ y=(int)(x*100+0、5)/100、0; printf("x=f,y=%f\n",x,y); } 程序输出结果: a=168
4、
a=168
b=123、46b=1、234560e+002
x=f,y=35、567001
C程序代码
#include
5、tdio、h>
void main()
{
ﻩfloat a,b,c,s;
a=1、5;
ﻩ b=5、3;
ﻩc=2、9;
s=b*b-4*a*c;
ﻩprintf("s得值就是%f\n",s);
}
2、1、2输入某学生得三个科目得期末考试成绩,计算出该学生得成绩总分与平均分。
#include
6、 scanf("%d,%d,%d",&math,&english,&c_program);
sum=math+english+c_program;
average=sum/3;
printf("sum=%、0f,average=%、5f",sum,average);
}
2、1、3输入圆得半径,计算圆得面积,设圆周率为3、1416、
#include
int main()
{
float r,s;
printf("请输入半径:");
ﻩscanf("%f",&r);
s=3、1416*r*r;
ﻩprintf("圆得面
7、积为%、6f",s); } 2、1、4输入一个两位数,将其个位数与十位数互换后变成一个新得数,输出这个数。 #include <stdio、h> int main(void) { int n,a,b; printf("input n:"); scanf("%d",&n); b=n%10; a=n/10; n=b*10+a; printf("%d\n",n); return 0; } 2、1、5输入两个数a与b,将两数得值互换后输出新值。 #include <stdio、h> void main() { int x,y,t; ﻩscanf("%d
8、d",&x,&y); ﻩt=x; ﻩx=y; ﻩy=t; printf("x=%d,y=%d\n",x,y); } 2、2简单分支结构 2、2、1输入两个整数,求出其中得较小值输出。 #include<stdio、h> int main() { ﻩ int a,b,min; ﻩ printf("请输入 a,b:\n"); ﻩ scanf("%d,%d",&a,&b); if (a
9、 输入x得值并计算分段函数y得值。
+2x x<2
Y=f(x)=
2x-1 x>=2
#include <stdio、h>
int main(void)
{
ﻩdouble x,y;
ﻩscanf("%lf",&x);
if(x<2)
y=x*x+2*x;
else
ﻩﻩy=2*x-1;
ﻩprintf("%、6f",y);
ﻩreturn 0;
}
2、2、3 输入两个整数并判断两数就是否相等,输出相应结论。
#include
int main()
10、{
int a,b;
ﻩprintf("请输入两个整数:\n");
scanf("%d,%d",&a,&b);
if(a==b)
ﻩ printf("a等于b");
else
printf("a不等于b");
return 0;
}
2.2.4 输入一个整数,若为负数,求出它得平方;若为正数,求出它得立方,并输出结果。
#include
11、
if(x<0)
ﻩy=x*x;
else
y=x*x*x;
printf("y=f(%f)=%f\n",x,y);
}
2.2.5 输入三个整数,用if-else结构求出其中得最大值。提示:首先求出两个数得较大值放在一个变量里,然后用这个变量与第三个数再进行一次比较。
#include
12、 else max=b; ﻩ if(c>max) ﻩ max=c; ﻩ else max=a; ﻩ printf("最大值为%d\n",max); ﻩ return 0; } 2、3简单循环结构 2.3.1 计算1+4+7+…+301。 #include <stdio、h> void main() { int i,sum; sum=0; ﻩfor(i=1;i<=301;i=i+3) ﻩsum=sum+i; printf("sum=%d\n",sum); } 2.
13、3.2 循环输入某学生八个科目期末考试成绩,计算出该学生成绩总分与平均分。
#include
14、include<stdio、h> int main(void) { ﻩ int n,i,a; ﻩ a=1; printf("请输入n得值:%d\n"); scanf("%d",&n); for(i=1;i<=n;i++) a=a*i; ﻩ printf("积=%d\n",a); return 0 ; } 2.3.4 显示1~10平方,输出结果如下图所示: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10
15、100 #include<stdio、h> int main(void) { int i,a; for(i=1;i<=10;i++) { a=i*i; printf("%d*%d=%d\n",i,i,i*i); } return 0; } 2.3.5 计算1-3/4+5/7-7/10+…得前n 项之与。 #include <stdio、h> void main() { int i,n; float item,flag,sum; sum=0; flag=1; scanf("%d",&n); for(i=1;i<=n;i++) {
16、
ﻩ item=flag*(2*i-1)/(3*i-2);
ﻩ sum=sum+item; flag=-flag;
}
ﻩprintf("%f\n",sum);
}
实验三
3、1、1
输入一个整数x,判定就是否为5得倍数。
#include
int main(void)
{
ﻩint x;
ﻩprintf("x= ");
scanf("%d",&x);
if(x%5==0)
ﻩprintf("能整除5");
else
printf("不能整除5");
return 0;
}
3、1、2
输入x,计算并输入下列分段函数
17、对应得值。
-5 x<0
Y= 0<=x<=1
x/2 x>1
#include
18、 不打折 300<=购物金额<500元 9折 500元<=购物金额 7折 要求输入一个购物金额(x),输出打折率(rate)以及购物实际付款金额(x*rate) #include<stdio、h> int main(void) { int x,y; printf("x= "); ﻩscanf("%d",&x); ﻩif(x<300) { ﻩy=x; ﻩprintf("不打折,付款%d\n",y); } ﻩelse if(x>=300&&x<500) ﻩ{ ﻩy=0、9*x; printf("打9折,付款%d\n",y);
19、 } else ﻩ{ y=0、7*x; ﻩprintf("打7折,付款%d\n",y); ﻩ} ﻩreturn 0; } 3、1、4 求解一元二次方程+b得实数解。 #include<stdio、h> #include<math、h> int main(void) { int a,b,c,d,x1,x2; printf("a= ,b= ,c= "); scanf("%d,%d,%d",&a,&b,&c); d=b*b-4*a*c; ﻩif(d>0) { ﻩ double sqrt(double d); x1=(-
20、b+sqrt(d))/(2*a);
ﻩ x2=(-b-sqrt(d))/(2*a);
ﻩ printf("x1=%d\n,x2=%d\n",x1,x2);
}
ﻩelse if(d=0)
ﻩ {
ﻩ x1=(-b+sqrt(d))/(2*a);
printf("x1=x2=%d\n",x1);
}
ﻩelse
ﻩ printf("没有实数解");
ﻩreturn 0;
}
3、1、5
从键盘输入10个字符,将所有得英文字母转换为大写后输出。
#include 21、char i,ch;
printf("请输入 ");
for(i=1;i<=10;i++)
{
ch=getchar();
ﻩif(ch>='a'&&ch<='z')
ﻩ ch=ch-32;
ﻩputchar(ch);
}
return 0;
}
3、1、6
从键盘输入10个字符,统计其中英文字母、空格、数字字符与其她字符得个数。
#include<stdio、h>
int main(void)
{
char ch,i;
ﻩint letter,space,digiter,other;
ﻩletter=space=digiter=other=0;
ﻩ 22、for(i=1;i<=10;i++)
ﻩ{
ﻩ ch=getchar();
ﻩﻩif((ch>='a'&&ch<='z')||(ch>='A'&&ch<='z'))
ﻩletter++;
ﻩelse if(ch==' '||ch=='\n')
space++;
ﻩelse if(ch>='0'&&ch<='9')
digiter++;
else
ﻩ ﻩother++;
ﻩ}
printf("letter=%d,space=%d,digiter=%d,other=%d\n",letter,space,digiter,other);
return 23、 0;
}
3、2、1
输入一个四位整数得年份,判断就是否为闰年。
#include<stdio、h>
int main(void)
{
ﻩint x,a,b,c;
ﻩprintf("输入年份:");
ﻩscanf("%d",&x);
a=x%4;
b=x%100;
ﻩc=x%400;
if((a==0 && b!=0)||(c==0))
ﻩprintf("闰年");
else
ﻩprintf("不就是闰年");
ﻩreturn 0;
}
3、2、2
假设自动售货机出售4种商品,薯片、爆米花、巧克力与可乐,售价分别就是每份3、0元、2、5元、4 24、0元与3、5元。在屏幕上显示以下菜单,用户可以连续查询商品得价格,当查询次数超过五次时,退出查询;不到五次时,用户可以选择退出。当用户输入编号1~4,显示对应商品得价格;输入0,退出查询;输入其她编号,显示价格为0。
#include<stdio、h>
int main(void)
{
char price;
ﻩint i;
ﻩprintf("请输入商品得名称:\n");
for(i=1;i<=5;i++)
ﻩ{
ﻩ price=getchar();getchar();
ﻩ switch(price)
{
ﻩ case '1':printf(" 25、售价3、0元\n");break;
case '2':printf("售价2、5元\n");break;
case '3':printf("售价4、0元\n");break;
case '4':printf("售价3、5元\n");break;
case '0':printf("退出查询\n");break;
ﻩ default :printf("价格为0元\n");break;
ﻩ}
ﻩ}
return 0;
}
3、2、3
编写一个程序输入某人得身高(cm)与体重(kg),按下式确定 26、其体重就是否为标准、过胖或过瘦。判断标准为:标准体重=身高-110;超过标准体重5kg为过胖;低于标准体重5kg为过瘦。
#include<stdio、h>
int main(void)
{
int x,y,z;
printf("请输入身高与体重:\n");
ﻩscanf("%d,%d",&x,&y);
ﻩz=x-110;
ﻩif(y-z>5)
ﻩ printf("过胖");
ﻩelse if(y-z<-5)
printf("过瘦");
else
printf("标准");
return 0;
}
3、2、4
编写一个程序,计算购买某物品得总 27、金额,该物品得单价为5元/公斤,购买5公斤以上打九折,购买10公斤以上打八折,购买20公斤以上打7折,购买50公斤以上打6折,购买100公斤以上打5折。(用多分支if语句求解)
#include 28、50 && x<100)
ﻩ y=0、6*5*x;
else if(x>100)
y=0、5*5*x;
else
ﻩy=5*x;
printf("付款%、2f\n",y);
ﻩreturn 0;
}
3、2、5
编写一个程序,输出给定得某年某月得天数。
#include 29、e 5: case 7: case 8: case 10: case 12:
ﻩﻩdays=31;
break;
case 4: case 6: case 9: case 11:
days=30;
ﻩbreak;
case 2: if(year%4==0 && year%100!=0 || year%400==0)
leap=1;
else
leap=0;
if (leap)
days=29;
else
30、 days=28;
}
printf("%d年%d月得天数为%d天\n",year,month,days);
}
实验四
4、1、1
输入一批正整数(以零或负数为结束标志)求其中得奇数与。
#include 31、
ﻩscanf("%d",&data);
}
printf("奇数与就是%d、\n",sum);
ﻩreturn 0;
}
4、1、2
输入两个整数a与n,求a+aa+aaa+……(n个a)之与。例如输入2与3,输出246(2+22+222)
提示:可采用递推得方法计算当前项item=item*10+a
#include 32、while(i<=n)
{
item=item*10+a;
sum=sum+item;
i=i++;
}
printf("结果为%d\n",sum);
return 0;
}
4、1、3
编写程序:计算2/1+3/2+5/3+8/5……得 近似值。要求计算前n项之与,保留2位小数(该序列从第二项起,每一项得分子就是前一项分子与分母得与,分母就是前一项得分子)
#include<stdio、h>
int main(void)
{
ﻩfloat n,i,sum,a,b,item;
ﻩprintf("请输入n得值:");
ﻩscanf("%f",&n);
sum= 33、0;
ﻩi=1;
a=2;
b=1;
item=0;
while(i<=n)
{
sum=sum+a/b;
item=a;
ﻩa=a+b;
ﻩb=item;
i=i++;
}
printf("结果为%、2f\n",sum);
return 0;
}
4、1、4
编写一个程序,找出被2,3,5整除时余数均为1得最小得10个自然数。
#include 34、ﻩ{
printf("%d\n",x);
i++;
}
x++;
}
return 0;
}
4、1、5
输入一个正整数,求它得位数以及各位数字之与,例如123得位数就是3,各位数字之与就是6、
#include<stdio、h>
int main(void)
{
int number,digit,i,sum;
i=0;
ﻩsum=0;
ﻩprintf("输入一个正整数:");
ﻩscanf("%d",&number);
while(number!=0)
ﻩ{
ﻩﻩdigit=number%10;
ﻩnumber 35、number/10;
sum=sum+digit;
i=i++;
ﻩ}
ﻩprintf("\n",digit);
printf("该整数得位数就是%d\n,各位数字之与就是%d\n",i,sum);
ﻩreturn 0;
}
4、1、6
猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下得桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下得一半零一个。到第10天在想吃得时候就剩一个桃子了,求第一天共摘下来多少个桃子?
#include 36、1;
for(i=1;i<=9;i++)
ﻩ{
ﻩ a=(a+1)*2;
}
printf("一共摘了%d\n个桃子",a);
ﻩreturn 0;
}
4、2、1
求100以内得全部素数,每行输出10个。素数就就是只能被1与它本身整除,1不就是素数,2就是素数。
#include 37、intf("%4d",n);
ﻩ m++;
ﻩ if(m%10==0)
ﻩﻩ ﻩprintf("\n");
ﻩ }
}
return 0;
}
4、2、2有一个四位数,千位上得数字与百位上得数字都被擦掉了,已知十位上得数字就是1,个位上得数字就是2,又知道这个数如果减去7就能被7整除,减去8就能被8整除,减去9就能被9整除。编写一个程序求这个四位数。提示:利用穷举法来解决该问题。
#include <stdio、h>
void main()
{
ﻩint x,m,n;
ﻩfor(x=1000;x<=9999;x++)
{
m=x%10;
38、ﻩ n=x/10%10;
ﻩ if(m==2 && n==1 && (x-7)%7==0 && (x-8)%8==0 && (x-9)%9==0)
printf("%d\n",x);
ﻩ}
}
4、2、3
取1元、2元与5元得纸币共10张,现在要支付15元。编写程序输出所有得付法。针对每一种付法,输出各种面额得纸币数量。要求将1元、2元与5元设置在最合理得取值范围内。
#include 39、ﻩ {
for (k=0; k<=10; k++)
ﻩﻩ{
ﻩ if (m+2*n+5*k==15)
ﻩﻩﻩ {
ﻩ printf("1元:%d张\t2元:%d张\t5元:%d\n", m, n, k);
ﻩ ﻩﻩ}
ﻩﻩﻩ}
}
}
return 0;
}
4、2、4
找出200以内得所有完数,并输出其因子。有一个数得因子之与为该数本身,称其为完数。提示:使用二重循环嵌套,外层循环针对2~200之间得所有数,而内层循环对其中得每一个数判断其就是否就是完数,即判断m得每个因子之与就是否等于m。其中因子就是2~m/2之间能被m整除得数。
#i 40、nclude 41、显示下列输出:
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3
0 1 2
0 1
0
#include<stdio、h>
int main(void)
{
ﻩint i,j;
ﻩfor(i=0;i<=4;i++)
{
for(j=0;j<=i;j++)
ﻩ printf("%d ",j);
printf("\n");
}
ﻩfor(i=0;i<=4;i++)
ﻩ{
ﻩ for(j=0;j<4-i;j++)
ﻩ ﻩprintf("%d ",j);
ﻩﻩprintf("\n");
ﻩ}
ret 42、urn 0;
}
4、2、6编写程序打出下列图案。
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
#include<stdio、h>
void main()
{
ﻩint i,j;
for(i=1;i<=4;i++)
ﻩ{
ﻩ for 43、j=1;j<=8-(2*i-1);j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
ﻩﻩ printf("* ");
ﻩﻩprintf("\n");
ﻩ}
ﻩfor(i=2;i<=4;i++)
{
ﻩ for(j=1;j<=2*i-1;j++)
ﻩprintf(" ");
ﻩﻩfor(j=1;j<=8-(2*i-1);j++)
ﻩﻩprintf("* ");
ﻩ printf("\n");
ﻩ}
}
实验五
5、1
输入两个整形变量a b得值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b得 44、结果,要求算式得结果连同算式一起输出,每个算式占一行。
#include 45、a%b);
}
5、2
求前驱字符与后继字符。输入一个英文字符,找出它得前驱字符与后继字符,并按字符得ASCII码值从大到小得顺序输出这三个字符及其对应得ASCII码值。
#include<stdio、h>
int main(void)
{
char ch,before,after;
ﻩch=getchar();
ﻩbefore=ch-1;
ﻩafter=ch+1;
if(before<'A'||(before<'a' && before>'Z'))
{
ﻩﻩbefore=before+26;
printf("%c %c %c %d %d %d\n",be 46、fore,after,ch,before,after,ch);
ﻩ}
ﻩelse if(after>'z'|| (after>'Z' && after<'a'))
ﻩ{
ﻩ after=after-26;
ﻩﻩprintf("%c %c %c %d %d %d\n",ch,before,after,ch,before,after);
ﻩ}
ﻩelse
printf("%c %c %c %d %d %d\n",after,ch,before,after,ch,before);
}
5、3
输入某个点A得平面坐标(x,y),判断(输出)A点就是在圆内、圆外还就是在圆周上 47、其中圆心坐标为(2,2),半径为1、
#include 48、每步跨五阶,则最后剩四阶;若每步跨六阶,则最后剩五阶;若每步跨七阶,最后正好一阶不剩。求长阶得阶梯数目。
#include 49、in(void)
{
int m,n;
printf("请输入一个正整数:\n");
scanf("%d",&m);
n=m%10;
ﻩm=m/10;
ﻩif(n%2+m%10%2 !=1)
ﻩ{
printf("not");
printf("\n");
}
ﻩelse
ﻩ{
ﻩprintf("yes");
printf("\n");
ﻩ}
return 0;
}
5、6
输入一个三位数,判断就是否就是一个水仙花数。水仙花数就是指三位数得各位数字立方与等于这个三位数本身。例如:153=1*1*1+5*5*5 50、3*3*3。
#include
int main(void)
{
int x,i;
i=0;
x=1;
while(i<10)
{
if(x%2==1 && x%3==1 && x%5==1)
int main(void)
{
ﻩint i,m=0,n;
ﻩfor(n=2;n<=99;n++)
ﻩ{
ﻩ for(i=2;i<=n-1;i++)
ﻩﻩﻩif(n%i==0)
ﻩﻩﻩﻩbreak;
ﻩ if(i>=n)
ﻩﻩﻩ{
ﻩﻩﻩﻩpr
int main(void)
{
ﻩint i;
for(i=1;i<=200;i++)
{
ﻩﻩif((i%2==1)&&(i%3==2)&&(i%5==4)&(i%6==5)&&i%7==0)
ﻩﻩﻩprintf("%d阶",i);
}
ﻩreturn 0;
}
5、5
输入一个正整数,判断其中得各位数字就是否奇偶数交替出现,就是输出“yes”否则输出“not”
#include <stdio、h>
int ma






