编写C语言程序,从键盘输入一个整数n,然后计算n的阶乘n!,并输出结果到屏幕上。如果整数n小于0,则输出“数据有误”。
#include<stdio.h>
int main()
{
int n;
int i=1;
int product=1;
printf("请输入一个整数:");
scanf("%d",&n);
if((n<0)||(n>12))
{
printf("数据有误");
return 1;
}
while(i<=n)
{
product=product*i;
i++;
}
printf("%d!=%d",n,product);
return 0;
}
运行结果
注意:在使用int类型的情况下,该程序可以计算出正确阶乘结果的最大n值是12.
编写C语言程序,从键盘输入一个整数n,然后判断n是素数还是合数并输出结果到屏幕中。如果整数n小于2则输出“数据有误”。
提示: 素数又称质数,指在大于1的整数中,除了1和该数自身外,无法被其他整数整除的数(或者说是只有1与该数本身两个正因数的数)。大于1的整数若不是素数,则称为合数。
#include<stdio.h>
int main()
{
int n;
int i=2;
printf("请输入一个整数:");
scanf("%d",&n);
if(n<2)
{
printf("数据有误");
return 1;
}
while(i<n)
{
if (n%i==0)
{
printf("%d是合数",n);
break;
}
i++;
}
if(i==n)
{
printf("%d是素数",n);
}
return 0;
}
运行结果
编写C语言程序,从键盘输入一个八进制整数,然后分别以十进制和十六进制的格式输出该整数到屏幕中。
提示:(1)函数scanf()使用格式描述符”%o“(小写字母o)从键盘接收一个八进制整数到整数类型的变量中。
(2)函数printf()使用格式描述符”%d”或“%i”输出整型变量的十进制数值。
(3)函数printf()使用格式描述符”%o”输出整型变量的八进制数值。
(4)函数printf()使用格式描述符”%x”或“%X”输出整型变量的十六进制数值。
#include<stdio.h>
int main()
{
int number;
printf("请输入一个八进制整数:");
scanf("%o",&number);
printf("八进制数:%o\n",number);
printf("十进制数:%d\n",number);
printf("十六进制数:%x\n",number);
return 0;
}
运行结果
编写C语言程序,从键盘输入一个整数n,然后模拟抛硬币n次,并统计正面和反面的次数。如果整数n<1,则输出“数据有误”。
提示:需要使用以下3给函数:srand()、rand()、time()
rand()函数需要的头文件是<stdlib.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int n;
int coin;
int i;
int front=0;
int back;
printf("请输入模拟抛硬币次数:");
scanf("%d",&n);
if(n<1)
{
printf("非法数据");
return 1;
}
srand(time(NULL));
for(i=1;i<=n;i++)
{
printf("第%d次;",i);
coin=rand()%2;
if(coin==0)
{
printf("正面\n");
front++;
}
else
{
printf("反面\n");
back++;
}
}
printf("正面次数:%d\n",front);
printf("反面次数:%d\n",back);
return 0;
}
运行结果
编写C语言程序,从键盘输入2个整数min和max,然后输出10个在min和max之间的随机整数n(min<n<max)。如果整数min和max不满足条件“0<min<max",则输出”非法数据“。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int min;
int max;
int i;
int n;
srand(time(NULL));
printf("请输入整数min和max:");
scanf("%d%d",&min,&max);
if((min<0)||(min>max))
{
printf("非法数据");
return 1;
}
for(i=1;i<=10;i++)
{
n=rand()%(max-min+1)+min;
printf("第%d个随机数;%d\n",i,n);
}
return 0;
}
运行结果
编写C语言程序,从键盘输入2个整数m和n,如果m小于n则交换m和n的值,以确保m不小于n,然后计算m减去n的差,并输出结果到屏幕中。
#include<stdio.h>
int main()
{
int m;
int n;
printf("请输入整数m:");
scanf("%d",&m);
printf("请输入整数n:");
scanf("%d",&n);
if(m>n)
{
printf("%d-%d=%d\n",m,n,m-n);
}
else
{
printf("%d-%d=%d\n",n,m,n-m);
}
return 0;
}
运行结果
编写C语言程序,从键盘上输入圆的半径r,然后计算该圆的周长和面积,并输出结果到屏幕中。如果半径r小于0,则输出”非法数据“。
#include<stdio.h>
int main()
{
double r;//定义圆半径
double c;//定义圆周长
double s;//定义圆面积
double pi=3.14;//定义圆周率
printf("请输入圆的半径r:");
scanf("%lf",&r);
if(r<0)
{
printf("非法数据");
return 1 ;
}
else
{
c=2*pi*r;
printf("圆的周长是:%f\n",c);
s=pi*r*r;
printf("圆的面积是:%f\n",s);
}
return 0;
}
运行结果
编写C语言程序,从键盘输入一个U盘的标称容量size(单位:GB),然后计算其实际容量并输出结果到屏幕中,结果保留到小数点后3位。如果标称容量size小于0,则输出”非法数据“。
提示:衡量信息容量的基本单位是字节(Byte),1个字节相当于8个二进制位,即:
1Byte=8bits
1个字节的容量是比较小的,因此计算机系统通常使用K,M,G,T等倍率前缀配合字节来描述信息容量:
1TB=GB=MB=KB=B=1099 511 627 776 Byte
而计算机的硬盘、U盘以及光盘等外部存储设备的生产商对于存储产品的容量定义是
1TB=GB=MB=KB=B=1 000 000 000 000Byte
使用,如果在市场上购买一个标称容量位32GB的U盘,那么在计算机上的程序软件显示,该U盘只有大约29.8CB的容量而已。
#include<stdio.h>
int main()
{
double size;
printf("请输入U盘容量(GB):");
scanf("%lf",&size);
if(size<0)
{
printf("非法数据");
return 1 ;
}
else
{
size=size*1000*1000*1000;
size=size/1024/1024/1024;
printf("U盘的实际容量是:%.3f\n",size);
}
return 0;
}
运行结果
编写C语言程序,输出三角形的九九乘法表,要求左对齐。
提示:使用换码序列‘\t’实现每列数据左对齐。
#include<stdio.h>
int main()
{
int n=9;
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",j,i,i*j);
}
printf("\n");
}
return 0;
}
运行结果
编写C语言程序,输出所有三位水仙花数。每行输出一个三位水仙花数。
提示:一个n位整数如果等于它的n个数字的n次方之和,则称该n位数位n位水仙花数。
例如:153=++=1+125+27,所以称153是一个三位水仙花数。
#include<stdio.h>
int main()
{
int a,b,c,i;
for(i=100;i<=999;i++)
{
c=i%10;
b=(i%100)/10;
a=i/100;
if(a*a*a+b*b*b+c*c*c==i)
{
printf("%d=%d^3+%d^3+%d^3\n",i,a,b,c);
}
}
return 0;
}
运行结果