哈工大c语言 练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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++)

相关文档
最新文档