c语言程序.docx
- 文档编号:27505398
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:40
- 大小:26.22KB
c语言程序.docx
《c语言程序.docx》由会员分享,可在线阅读,更多相关《c语言程序.docx(40页珍藏版)》请在冰豆网上搜索。
c语言程序
#include
voidmain()
{
printf("ThisisaCprogram.\n");
/*【例2-1】在屏幕上显示一个短句“HelloWorld!
”。
*/
/*显示”HelloWorld!
”*//*注释文本*/
#include
intmain(void)/*定义主函数main*/
{
printf("HelloWorld!
\n");/*调用printf函数输出文字*/
return0;/*返回1个整数0*/
}
#include
intmain()
{
inti,n,
doublesum,
printf("Entern=\n");
/*【例2-3】求华氏温度100°F对应的摄氏温度。
计算公式:
c=5*(f-32)/9,式中:
c表示摄氏温度,f表示华氏温度。
*/
/*将华氏温度转换为摄氏温度*/
#include
intmain(void)
{
/*定义2个整型变量,celsius表示摄氏度,fahr表示华氏度*/
intcelsius,fahr;
/*空行,用于分隔变量定义和可执行语句*/
fahr=100;/*对变量fahr赋值*/
celsius=5*(fahr-32)/9;/*温度转换计算*/
/*调用printf函数输出结果*/
printf("fahr=%d,celsius=%d\n",fahr,celsius);
return0;
/*【例2-4】为鼓励居民节约用水,自来水公司采取按月用水量分段计费的办法,居民应交水费y(元)与月用水量x(吨)的函数关系式如下(设x≥0)。
输入用户的月用水量x(吨),计算并输出该用户应支付的水费y(元)(保留2位小数)。
*/
/*计算二分段函数*/
#include
intmain(void)
{
doublex,y;/*定义2个双精度浮点型变量*/
printf("Enterx(x>=0):
\n");/*输入提示*/
/*调用scanf函数输入数据,变量名x前面要加&,%lf中的l是long的首字母*/
scanf("%lf",&x);
/*if–else语句*/
if(x<=15)
{
y=4*x/3;
}
else
{
y=2.5*x-10.5;
}
printf("y=f(%f)=%.2f\n",x,y);/*调用printf函数输出结果*/
return0;
}
/*【例2-6】输入2个整数lower和upper,输出一张华氏-摄氏温度转换表,华氏温度的取值范围是[lower,upper],每次增加1°F。
*/
/*输出华氏-摄氏温度转换表,华氏温度取值[lower,upper],每次增加1°F*/
#include
intmain(void)
{
/*fahr表示华氏度,celsius为摄氏度,lower为华氏温度下限,upper为上限*/
intfahr,lower,upper;
doublecelsius;
printf("Enterlower:
");/*输入提示*/
scanf("%d",&lower);/*调用scanf函数输入lower*/
printf("Enterupper:
");/*输入提示*/
scanf("%d",&upper);/*调用scanf函数输入upper*/
printf("fahrcelsius\n");/*输出温度转换表的表头*/
/*温度重复转换:
华氏温度从lower开始,到upper结束,每次增加1°F*/
for(fahr=lower;fahr<=upper;fahr++)
{
celsius=(5.0/9.0)*(fahr-32);/*温度转换计算*/
printf("%d%6.1f\n",fahr,celsius);/*输出*/
}
getch();
return0;
}
/*【例2-7】求1+2+3+……+n*/
/*计算1+2+3+……+n*/
#include
intmain(void)
{
inti,n,sum;
printf("Entern:
");/*输入提示*/
scanf("%d",&n);/*调用scanf函数输入n*/
sum=0;/*置累加和sum的初值为0*/
for(i=1;i<=n;i++)/*循环执行n次*/
{
sum=sum+i;/*反复累加i的值*/
}
/*输出累加和*/
printf("Sumofnumbersfrom1to%dis%d\n",n,sum);
getch();
return0;
}
/*【例2-8】输入一个正整数n,计算1-1/3+1/5-1/7+…的前n项之和。
*/
/*计算1-1/3+1/5-1/7+…共n项之和*/
#include
intmain(void)
{
intdenominator,flag,i,n;
doubleitem,sum;
printf("Entern:
");/*输入提示*/
scanf("%d",&n);
/*执行循环前,给变量赋初值*/
flag=1;/*flag表示第i项的符号,初始为正*/
denominator=1;/*denominator表示第i项的分母,初始为1*/
sum=0;/*置累加和sum的初值为0*/
/*用for语句实现循环,循环执行n次*/
for(i=1;i<=n;i++)
{
item=flag*1.0/denominator;/*计算第i项的值*/
sum=sum+item;/*累加第i项的值*/
flag=-flag;/*改变符号,为下一次循环做准备*/
denominator=denominator+2;/*分母递增2,为下一次循环做准备*/
}
printf("sum=%f\n",sum);
getch();
return0;
}
/*【例2-9】从键盘输入一个正整数n,计算n!
。
*/
/*输入一个正整数n,求n!
*/
#include
intmain(void)
{
inti,n;
doubleproduct;/*变量product中存放阶乘的值*/
printf("Entern:
");/*输入提示*/
scanf("%d",&n);
product=1;/*置阶乘product的初值为1*/
for(i=1;i<=n;i++)/*循环执行n次,计算n!
*/
{
product=product*i;
}
printf("product=%.0f\n",product);/*%.0f指定输出时不要小数部分*/
getch();
return0;
}
/*【例2-10-1】输入一个正整数n,生成一张2的乘方表。
*/
/*调用幂函数pow生成乘方表*/
#include
#include
intmain(void)
{
inti,n;
doublepower;
printf("Entern:
");/*输入提示*/
scanf("%d",&n);
for(i=0;i<=n;i++)
{
power=pow(2,i);/*调用幂函数pow(2,i)计算2的i次方*/
printf("pow(2,%d)=%.0f\n",i,power);
}
getch();
return0;
}
/*【例2-10-2】输入一个正整数n,生成一张阶乘表,输出0!
到n!
的值。
要求定义和调用函数fact(n)计算n!
,函数类型是double。
*/
#include
doublefact(intn);/*自定义函数的声明(简称函数声明)*/
intmain(void)
{
inti,n;
doubleresult;
printf("Entern:
");/*输入提示*/
scanf("%d",&n);
for(i=0;i<=n;i++){
result=fact(i);/*调用自定义函数fact(i)计算i!
*/
printf("%d!
=%.0f\n",i,result);
}
getch();
return0;
}
/*定义求n!
的函数*/
doublefact(intn)/*函数首部*/
{
inti;
doubleproduct;/*变量result用于存放结果(阶乘的值)*/
/*计算n!
*/
product=1;/*置阶乘result的初值为1*/
for(i=1;i<=n;i++)/*循环n次,计算n!
*/
product=product*i;
returnproduct;/*将结果回送主函数*/
/*【例2-10-2】输入一个正整数n,生成一张阶乘表,输出0!
到n!
的值。
要求定义和调用函数fact(n)计算n!
,函数类型是double。
*/
#include
doublefact(intn);/*自定义函数的声明(简称函数声明)*/
intmain(void)
{
inti,n;
doubleresult;
printf("Entern:
");/*输入提示*/
scanf("%d",&n);
for(i=0;i<=n;i++){
result=fact(i);/*调用自定义函数fact(i)计算i!
*/
printf("%d!
=%.0f\n",i,result);
}
getch();
return0;
}
/*定义求n!
的函数*/
doublefact(intn)/*函数首部*/
{
inti;
doubleproduct;/*变量result用于存放结果(阶乘的值)*/
/*计算n!
*/
product=1;/*置阶乘result的初值为1*/
for(i=1;i<=n;i++)/*循环n次,计算n!
*/
product=product*i;
returnproduct;/*将结果回送主函数*/
}
#include
main()
{
inta,b,c;
floatave;
printf("enterabc:
");
scanf("%d%d%d",&a,&b,&c);
ave=(a+b+c)/3.0;
printf("a=%d,b=%d,c=%d\n\n",a,b,c);
printf("ave=%f\n",ave);
getch();
}
/*【例3-1】输入10个字符,统计其中英文字母、数字字符和其他字符的个数。
*/
/*统计字符,包括英文字母、数字字符和其他字符*/
#include
main()
{
intdigit,i,letter,other;/*定义3个变量分别存放统计结果*/
charch;/*定义1个字符变量ch*/
digit=letter=other=0;/*置存放统计结果的3个变量的初值为零*/
printf("Enter10characters:
");/*输入提示*/
for(i=1;i<=10;i++){/*循环执行了10次*/
ch=getchar();/*从键盘输入一个字符,赋值给变量ch*/
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
letter++;/*如果ch是英文字母,累加letter*/
elseif(ch>='0'&&ch<='9')
digit++;/*如果ch是数字字符,累加digit*/
else
other++;/*ch是除字母、数字字符以外的其他字符,累加other*/
}
printf("letter=%d,digit=%d,other=%d\n",letter,digit,other);
getch();
}
/*【例3-3】分段计算水费*/
/*计算多分段函数*/
#include
main()
{
doublex,y;/*定义2个双精度浮点型变量*/
printf("Enterx:
");/*输入提示*/
scanf("%lf",&x);/*输入double型数据用%lf*/
if(x<0)
{
y=0;/*满足x<0*/
}
elseif(x<=15)
{
y=4*x/3;/*不满足x<0,但满足x≤15,即满足0≤x≤15*/
}
else
{
y=2.5*x-10.5;/*既不满足x<0,也不满足x≤15,即满足x>15*/
}
printf("f(%.2f)=%.2f\n",x,y);
return0;
}
/*【例3-4】查询自动售货机中商品的价格。
*/
/*查询自动售货机中商品的价格*/
#include
main()
{
intchoice,i;
doubleprice;
for(i=1;i<=5;i++)
{/*for的循环体语句开始*/
/*以下5行显示菜单*/
printf("[1]Selectcrisps\n");/*查询薯片价格*/
printf("[2]Selectpopcorn\n");/*查询爆米花价格*/
printf("[3]Selectchocolate\n");/*查询巧克力价格*/
printf("[4]Selectcola\n");/*查询可乐价格*/
printf("[0]exit\n");/*退出查询*/
printf("Enterchoice:
");/*输入提示*/
scanf("%d",&choice);/*接受用户输入的编号*/
/*如果输入0,提前结束for循环*/
if(choice==0)
break;/*此处用break跳出for循环*/
/*根据输入的编号,将相应的价格赋给price*/
switch(choice)
{
case1:
price=3.0;break;/*用break跳出switch语句,下同*/
case2:
price=2.5;break;
case3:
price=4.0;break;
case4:
price=3.5;break;
default:
price=0.0;break;
}
/*输出商品的价格*/
printf("price=%0.1f\n",price);
}/*for的循环体语句结束*/
printf("Thanks\n");/*结束查询,谢谢用户使用*/
getch();
}
/*【例3-5】求解简单表达式。
输入一个形式如“操作数运算符操作数”的四则运算表达式,输出运算结果。
*/
/*求解简单的四则运算表达式*/
#include
main()
{
doublevalue1,value2;
charoperator;
printf("Typeinanexpression:
");/*提示输入一个表达式*/
scanf("%lf%c%lf",&value1,&operator,&value2);
switch(operator)
{
case'+':
printf("%.2f\n",value1+value2);
break;
case'-':
printf("%.2f\n",value1-value2);
break;
case'*':
printf("%.2f\n",value1*value2);
break;
case'/':
printf("%.2f\n",value1/value2);
break;
default:
printf("Unknownoperator\n");
break;
}
getch();
}
/*【例3-6】输入10个字符,分别统计出其中空格或回车、数字和其他字符的个数。
*/
/*统计字符,包括空格或回车、数字和其他字符*/
#include
main()
{
intblank,digit,i,other;/*定义3个变量分别存放统计结果*/
charch;
blank=digit=other=0;/*置存放统计结果的3个变量的初值为零*/
printf("Enter10characters:
");/*输入提示*/
for(i=1;i<=10;i++)
{/*循环执行了10次*/
ch=getchar();/*输入一个字符*/
/*在switch语句中灵活应用break*/
switch(ch)
{
case'':
/*语句段为空,请注意空格的表示*/
case'\n':
blank++;/*2个常量表达式''和'\n'共用该语句段*/
break;/*跳出switch语句*/
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
digit++;/*10个常量表达式'0'~'9'共用该语句段*/
break;/*跳出switch语句*/
default:
other++;/*累加其他字符*/
break;/*跳出switch语句*/
}
}
printf("blank=%d,digit=%d,other=%d\n",blank,digit,other);
getch();
}
/*【【例3-7】输入1个整数,判断该数是奇数还是偶数。
*/
/*判断数字的奇偶性*/
#include
main()
{
intnumber;
printf("Enteranumber:
");/*输入提示*/
scanf("%d",&number);/*输入1个数*/
if(number%2==0)/*若number除以2的余数是0,则为偶数*/
printf("Tnenumberiseven.\n");
else/*若number除以2的余数不是0,则为奇数*/
printf("Tnenumberisodd.\n");
getch();
}
/*【例3-8】输入1个整数,输出它的绝对值。
*/
/*求绝对值*/
#include
main()
{
intnumber;
printf("Enteranumber:
");/*输入提示*/
scanf("%d",&number);
if(number<0)
number=-number;/*如果number小于0,计算其相反数*/
printf("Theabsolutevalueis%d.\n",number);
getch();
}
/*【例3-9】输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计不及格成绩的个数。
*/
#include
main()
{
intcount,i,n;/*count记录不及格成绩的个数*/
doublegrade,total;/*grade存放输入的成绩,total保存成绩之和*/
printf("Entern:
");/*提示输入成绩个数n*/
scanf("%d",&n);
total=0;
count=0;
for(i=1;i<=n;i++)
{
printf("Entergrade#%d:
",i);/*提示输入第i个成绩*/
scanf("%lf",&grade);/*输入第i个成绩*/
total=total+grade;/*累加成绩*/
if(grade<60)/*统计不及格成绩的个数*/
count++;
}
printf("Gradeaverage=%.2f\n",total/n);
printf("Numberoffailures=%d\n",count);
getch();
}
/*【练习3-3】*/
#include
main()
{
inti,digit,letter,blan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)