因为在国外学的c 所以稀里糊涂 希望大家帮忙
课题6将输入的数字用16进制来表示。但是,文字(数字和字母)必须要用函数putchar。
要求 不能使用scanf 必须使用getchar
例如
Q:\hello> hex
Input? 217
Kotae = D9 (注) 217 == 13*16 + 9
Q:\hello>
例题7
将输入的数字阶乘
所谓N的阶乘
n! = n × (n – 1) × (n – 2) × … × 2 × 1
(关 键点)将函数fact(n)做成n!的程序时
n! = n × (n – 1)!
因此计算fact(n)时 要先计算fact(n-1)
例题8
将配列里带入的数值用从小到大的顺序排列
但是 数值要使用numbers[]里面已经存在的数据 要将变数n里面带入的数值的个数作为代入的数值。
(例)
int numbers[10] = { 82, 47, 2, 29, 95, 15, 38, 66, 51, 72 };
int n = 10;
(注 意) 运行此程序 可以将大小顺序错乱的配列重新整理
在这个配列里面 可以用原来的numbers[]中的数值 也可以做其他的配列 并使用其中的数值。
课题8(2)
根 据上一课题 制作以下程序
第一次用input number()输入的数字 代入numbers[0]中。
第二次用input number()输入的数字 代入numbers[1]中。
。。。。。。。。
第n次用input number()输入的数字 代入numbers[n-1]中。
input number()的函数如下
int input_number()
{
int input_number;
int ch; www.
printf("input N?");
input_number=0;
ch=getchar();
while (ch!='\n') {
if ('0'<=ch&&ch<='9') {
input_number=input_number*10;
input_number=input_number+(ch-'0');
}
ch=getchar();
}
return input_number;
}
课题9
制作用来操作stock的函数push()和 pop()
(注意)如下使用main() 确认push(int v)
和int pop()是否完整运行
#include
main()
{
int d;
push(1);
push(2);
push(3);
d = pop();
printf("First data = %d\n", d);
d = pop();
printf("Second data = %d\n", d);
push(4);
d = pop();
printf("Third data = %d\n", d);
push(5);
d = pop();
printf("Fourth data = %d\n", d);
d = pop();
printf("Fifth data = %d\n", d)
}
----------------
結 果用
First data = 3
Second data = 2
Third data = 4
Fourth data = 5
Fifth data = 1
表示。
最好做出来的东西帮我注释一下
这几个作业我不是很明白 请高手指教
请留下自己的 联系方式 自有感谢。
qq 101045053
[ 本帖最后由 martyxu 于 2010-7-12 10:58 编辑 ]