哈工大c语言 练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求用户输入的两个数的商,程序运行时,以如下格式输入数据:
Input two integers:4 2↙
请改正程序中的错误,使它能得出正确的结果。
#include
main()
{
int a, b, c;
printf("Input two integers:");
scanf("%d,%d", &a, &b);
c = a\b;
printf("The quotient of a and b is :%d", c);
}
# include
int main ()
{
int a,b,c;
printf ("Input two integers:");
scanf ("%d %d",&a,&b);
c=a/b;
printf ("The quotient of a and b is :%d\n",c);
return 0;
}
使用const常量定义圆周率pi=3.14159,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。输出的数据保留两位小数点。输入格式要求:"%lf"
提示信息:"Input r:"
输出格式要求:
"printf WITHOUT width or precision specifications:\n"
"circumference = %f, area = %f\n"
"printf WITH width and precision specifications:\n"
"circumference = %7.2f, area = %7.2f\n"
程序运行示例如下:
Input r:5.3
printf WITHOUT width or precision specifications:
circumference = 33.300854, area = 88.247263 printf WITH width and precision specifications:
circumference = 33.30, area = 88.25
#include
int main()
{
const double PI=3.14159;
double r;
printf("Input r:");
scanf("%lf", &r);
printf("printf WITHOUT width or precision specifications:\n");
printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r);
printf("printf WITH width and precision specifications:\n");
printf("circumference = %7.2f, area = %7.2f\n",2*PI*r,PI*r*r);
return 0;
}
写一个程序,将接收的华氏温度转换为对应的摄氏温度。程序应显示如下的提示信息: Please input fahr:
然后输入一个十进制数并回车,然后程序以合适的消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度= 5.0 *(华氏温度–32.0)/ 9.0
输入格式要求:"%lf"
提示信息:"Please input fahr: "
输出格式要求:"The cels is: %.2f"
#include
#include
int main()
{
double f;
double c;
printf("Please input fahr: ");
scanf("%lf",&f);
c=5.0*(f-32.0)/9.0;
printf("The cels is: %.2f",c);
return 0;
}
从键盘输入任意的字符,按下列规则进行分类计数。
第一类:‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’
第二类:‘+’,‘-’,‘*’,‘/’,‘%’,‘=’
第三类:其它字符。
输出格式要求:"class1=%d, class2=%d, class3=%d\n"
程序运行示例如下:
ghdf^%^#$^&(+-//+_8*(\
class1=1, class2=7, class3=14
#include
int main()
{
char ch;
int a = 0,b = 0,c = 0;
while ((ch = getchar()) != '\n') /*当读入的字符不是换行符时*/
{
if (ch >= '0' && ch <= '9') /*判断是否是数字*/
++a;
else if (ch == '+'||ch == '-'||ch == '*'||ch == '%'||ch == '/'||ch == '=') /*判断是否是巴拉巴拉*/
++b;
else
/*是其它字符*/
++c;
}
printf("class1=%d, class2=%d, class3=%d\n",a,b,c);
return 0;
}
要求:
输入为一个数n;
输出为1~n的奇数的阶乘之和;
要求使用函数实现
输入输出示例(第一行为输入,第二行为输出):
5
127 #include
long Fact(int n)
{
int i;
long result=1;
for(i=1;i<=n;i++)
{
result*=i;
}
return result;
}
int main()
{
int m,j,sum;
long ret;
scanf("%d",&m);
sum=0;
for(j=1;j<=m;j=j+2)
{
ret=Fact(j);
sum=sum+ret;
}
printf("%d\n",sum);
return 0;
}
键盘任意输入一下整数n,编程计算输出1~n之间的素数之和。
要求:判断素数用函数实现。
说明:素数是不能被1和它本身以外的其它整数整除的正整数(负数、0和1都不是素数)
输入输出示例(第一行为输入,第二行为输出):
10
17
#include
#include
int ss(int n)
{
int i;
if(n<2) return 0;
for (i=2; i<=(int)sqrt((double)n); i++)